Remastering the Install ISO

From ArchWiki
Revision as of 03:56, 12 September 2006 by Byte (talk | contribs) (linkfix)
Jump to: navigation, search

Remastering the ArchLinux install ISO image is generally not necessary, but there are certain instances in which it needs to be done. Usually these instances involve hardware that the ISO's kernel does not support.

Ok here we go...

1. Download the Arch install ISO image from one of the mirrors

2. Create a new directory in which we can mount the iso

mkdir origiso

3. Mount the ISO to the directory we just created, since it is an isofs, it will be mounted read-only

su -c 'mount -o loop arch-0.7-beta1-base.iso origiso'

4. Now that the ISO is mounted, we can copy its contents to another directory, where we can edit them

cp -a origiso/ newiso

5. Edit the contents of newiso as needed.

  • Some helpful hints:
    • The kernels (IDE and scsi) that are booted by the cd are found at isolinux/vmlinuz and isolinux/vmlinuz_scsi, you may want to replace them with home-brewed ones. I recomend that you don't use your own, completely new, configs, but instead fetch the ones out of the kernels that already exist and edit as desired, this can be done using scripts/extract-ikconfig from any kernel source tree
    • Kernel sources, as well as default Arch kernel configs, which are used if a user chooses to build a kernel at install time are located at arch/
    • The filesystem you are given while in the install environment is at isolinux/initrd.img, if you'd like to edit this:

a. Copy it to another location, adding a .gz extension

cp isolinux/initrd.img initrd.img.gz

b. Run it through Gzip

gunzip initrd.img.gz

c. You'll be left with initrd.img, now create a directory to mount it in

mkdir initrdedit

d. Then mount it

su -c 'mount -o loop initrd.img initrdedit'

e. You can now edit the stuff in initrdedit/ as you please f. When you're done fiddling around, unmount it

umount initrdedit

g. Now take the initrd.img you just unmounted and run it back through gzip

gzip initrd.img

h. You'll now once again have an initrd.img.gz, which you can copy back to your ISO, replacing the old one

cp initrd.img.gz newiso/isolinux/initrd.img
  • The packages which are included on the cd are found at arch/pkg, if you mess with these, don't forget to run gensync and create a new current.db.tar.gz
  • Various tools and kernel modules can be found at addons/

6. Once you have edited newiso to your liking, you need to create a new ISO image, this can be done using mkisofs

  mkisofs -RlDJLV "arch-custom" -b isolinux/isolinux.bin -c isolinux/ -no-emul-boot -boot-load-size 4 -boot-info-table -o arch-custom.iso newiso

7. There should now be a file called arch-custom.iso, and you can burn that to a CD, boot off of it, and enjoy your very own, customized, Arch Install CD.

Further Reading and Related Resources

Note: do not try to remaster the ISO with Wind*ws tools as WinISO or UltraISO as you'll only botch it up, the files will appear as 8+3 file names and the setup app won't be able to install packages. Though, if you manage to find options for the program that are roughly equivalent to the mkisofs options above, it should work.