'''Archiso''' is a small set of bash scripts that is capable of building fully functional '''Arch Linux based live CD/DVD and USB images'''. It is a very generic tool, so it could potentially be used to generate anything from rescue systems, to install disks, to special interest live CD/DVD/USB systems, and who knows what else. Simply put, if it involves Arch on a shiny coaster, it can do it.

The heart and soul of Archiso is '''mkarchiso'''. All of its options are documented in its usage output, so its direct usage wont be covered here. Instead, this wiki article will act as a guide for rolling your own live mediums in no time!

If you just want to create the most basic live media, with no pre-installed packages and minimalistic configurations, then skip to section 2.}}

−

−

== Building a custom Arch Linux live media. (configs/releng) ==

−

−

*Some packages are needed before we can proceed, so if not already installed, go ahead and get devtools. git will also be needed if you choose to install the archiso scripts from the git repository (recommended), and not from AUR.

[host] # pacman -S devtools git --needed

[host] # pacman -S devtools git --needed

−

*Create a chroot to work in, and install the base packages to this chroot.

Inside the chroot and within directory you are working from (/tmp if you have been following this guide), you will see a number of files and directory called root-image; use should only be concerned with a few of these files, and most definitely concerned with the root-image directory; this directory acts as an overlay and it is where you make all the customisations.

You'll also want to create a list of packages you want installed on your live CD system. A file full of package names, one-per-line, is the format for this. This is '''''great''''' for special interest live CDs, just specify packages you want and bake the image.

{{Tip|You can also create a '''[[custom local repository]]''' for the purpose of preparing custom packages or packages from [[AUR]]/[[ABS]]. Just add your local repository at the first position (for top priority) of your build machine's '''pacman.conf''' and you are good to go!}}

{{Warning|The passwd file will contain your encrypted password. I recommend before you copy the passwd file over to the chroot, you change the password of your host user to that which you want your live user to have, copy the passwd file over, and then change back your password.}}

To have the live users home directory populated with files, simply create a skel directory within root-image/etc/, and copy any files you would like there, and add the relevant commands to an rc.local file so:

{{Note|You must be root to do this, do not change the ownership of any of the files you copy over, everything within the root-image directory must be root owned, ownership will be sorted out shortly.}}

This list will get you a system that can be booted off a CD/DVD or a USB device. It's worth mentioning that hardware auto-detection and things of that nature do not belong here. Only what's necessary to get the system on its feet, and out of the ''initcpio'' really belong here, fancier stuff can be done on the booted system anyway.

; <fs_type>: Set the filesystem type of the image { ext4 | ext3 | ext2 | xfs }. A special value of "none" denotes no usage of a filesystem. In that case all files are pushed directly to SquashFS filesystem.

Due to the modular nature of isolinux, you are able to use lots of addons since all *.c32 files are copied and available to you. Take a look at the [http://syslinux.zytor.com/wiki/index.php/SYSLINUX official syslinux site] and the [http://projects.archlinux.org/archiso.git/tree/configs/syslinux-iso/boot-files archiso git repo]. Using said addons, it is possible to make visually attractive and complex menus. See [http://syslinux.zytor.com/wiki/index.php/Comboot/menu.c32 here].