Archuseriso
A collection of Bash scripts for creating bootable Arch Linux images and USB drives with desktop environments.
Install / Use
/learn @laurent85v/ArchuserisoREADME
Archuseriso
A collection of Bash scripts for creating bootable Arch Linux images and USB drives with desktop environments. Also includes tools to compress an installed Arch Linux system into a bootable disk image.
Based on Archiso.
Features
- Desktop profiles
- Language configuration
- Data persistence
- Filesystem choices: Ext4, Btrfs, F2FS, ZFS
- Data encryption
- ISO and IMG images
- ZFS support
Profiles
- Console
- Cinnamon
- Cutefish
- GNOME
- i3
- KDE Plasma
- LXQt
- MATE
- Sway
- Xfce
Installation
Archuseriso is available on the AUR: archuseriso.
Online images at http://dl.gnutux.fr/archuseriso include archuseriso.
Building ISO and Disk Images
Synopsis
aui-mkiso [options] <profile path>
Examples
Xfce ISO with default options (both commands work):
sudo aui-mkiso xfce
sudo aui-mkiso /usr/share/archuseriso/profiles/xfce/
KDE Plasma ISO with German language:
sudo aui-mkiso --language=de kde
GNOME ISO with additional packages and custom package directory:
sudo aui-mkiso --add-pkg=firefox-ublock-origin,ntop --pkg-dir=~/mypackages gnome
Xfce disk image:
sudo aui-mkiso -m 'img' xfce
See Writing Disc Images and Burning DVDs.
Creating a Bootable USB Drive with Persistence
Synopsis
aui-mkusb [options] <archuseriso iso image> <usb device>
Example
sudo aui-mkusb aui-xfce-linux_5_7_10-0724-x64.iso /dev/sdc
Disk Partitioning
GPT layout:
| Partition | Filesystem | Content | |-----------|------------|------------------| | #1 | Ext4 | Squashfs image | | #2 | EFI FAT | Boot | | #3 | Ext4/Btrfs/F2FS | Persistence |
Btrfs Details
Two subvolumes for persistence: rootfs and home.
Installing to a USB Drive
Synopsis
aui-mkinstall [options] <archuseriso iso image> <usb device>
Example
sudo aui-mkinstall aui-xfce-linux_5_10_9-0121-x64.iso /dev/sdc
Disk Partitioning
GPT layout:
| Partition | Filesystem | Content | |-----------|------------|---------| | #1 | EFI FAT | Boot | | #2 | Ext4/Btrfs/F2FS | System |
The systemd journal is configured in volatile mode to reduce disk I/O.
Disk Image
Bootable disk image with persistence.
Write to USB device (e.g., /dev/sdc):
cat aui-xfce-linux_6_2_8-fr_FR-0327-x64.img > /dev/sdc
Important: Resize the GPT partition table on the USB drive using parted, fdisk, or gparted.
Using parted:
echo Fix | sudo parted /dev/sdc ---pretend-input-tty print
The persistence partition is 128 MiB by default. Resize as needed.
See Writing Disk Images.
iPXE Network Bootloader
Network boot the latest live Xfce desktop from the Archuseriso server.
Download an iPXE image from http://dl.gnutux.fr/archuseriso/ipxe:
aui-ipxe.iso: CD-ROM for legacy BIOSaui-ipxe.img: USB for legacy BIOSaui-ipxe-efi.iso: CD-ROM for x64 UEFIaui-ipxe-efi.img: USB for x64 UEFIaui-ipxe.efi: x64 UEFI binary
Boot the media to load the iPXE menu and start the live Xfce desktop.
For wireless on laptops, use USB tethering (iPXE Wi-Fi not supported).
Adding ZFS Support
Two methods:
- Use
--zfs-supportto auto-build and add ZFS packages. - Use
--pkg-dir <path>with pre-built ZFS packages.
Example:
sudo aui-mkiso --zfs-support xfce
Building ZFS Packages
Build zfs-utils, zfs-linux, and zfs-linux-headers against the current kernel:
sudo aui-buildzfs
ZFS Root Filesystem
Install to ZFS root using an ISO with ZFS support:
sudo aui-mkinstall --rootfs=zfs --username=foobar aui-xfce-linux_6_0_9-1123-x64.iso /dev/sdc
Using Docker
Download the Dockerfile from sources. Build the image:
sudo docker build -t archuseriso .
Run in container:
sudo docker run --privileged --rm -it archuseriso
[root@4dd3aab1018b /]# pacman -Q archuseriso
Limitation: Building ZFS packages in Docker does not work.
Compressing an Installed Arch Linux System
Mount the root filesystem (and home if separate) under a mount point.
Synopsis
aui-hd2aui [options] <path to root filesystem>
Example
For system on /dev/sdc2 (root) and /dev/sdc3 (home):
sudo mount /dev/sdc2 /mnt/rootfs
sudo mount /dev/sdc3 /mnt/rootfs/home
sudo aui-hd2aui /mnt/rootfs/
Disk Partitioning
GPT layout:
| Partition | Filesystem | Content | |-----------|------------|------------------------------| | #1 | - | Stage 2 bootloader (Legacy) | | #2 | EFI FAT | Boot | | #3 | Ext4 | Squashfs image | | #4 | Ext4 | Persistence |
Testing
Use aui-run to test ISOs or USB drives in QEMU.
Examples
Test ISO in BIOS legacy mode:
aui-run -i aui-xfce-linux_5_10_7-0116-x64.iso
Test ISO in UEFI mode:
aui-run -u -i aui-xfce-linux_5_10_7-0116-x64.iso
Test USB /dev/sdc in BIOS legacy mode:
sudo aui-run -d /dev/sdc
Test USB /dev/sdc in UEFI mode:
sudo aui-run -u -d /dev/sdc
Programs
aui-hd2aui: Compress an Arch Linux system to a bootable disk image.aui-mkiso: Build bootable ISO or disk images.aui-mkusb: Create bootable USB with persistence from ISO.aui-mkinstall: Install to USB from ISO.aui-mkhybrid: Create hybrid bootable USB (combinesaui-mkusbwithout persistence andaui-mkinstall).aui-buildzfs: Build ZFS packages from upstream OpenZFS sources.aui-run: Test ISOs and USB drives in QEMU.
Documentation
Limited to this README. Refer to Archiso documentation.
Key files:
profiles/<profile name>/packages.x86_64: Package listprofiles/<profile name>/profiledef.sh: Profile configuration
Known Issues
rEFInd Boot Manager may fail on some firmware.
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
