From 753d2038024541ac2d10f74e6d408d6ed1a23f2a Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Sat, 13 Oct 2012 14:40:41 -0300 Subject: [archiso] Split README file Signed-off-by: Gerardo Exequiel Pozzi --- docs/README.build | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 docs/README.build (limited to 'docs/README.build') diff --git a/docs/README.build b/docs/README.build new file mode 100644 index 0000000..2a3d709 --- /dev/null +++ b/docs/README.build @@ -0,0 +1,112 @@ +INDEX +----- + +* Build requirements +* Image types generated by mkarchiso. +* File format for aitab. +* Why the /isolinux and /arch/boot/syslinux directories? +* Building the most basic Arch Linux live media. (configs/baseline) +* Building official Arch Linux live media. (configs/releng) + + + +*** Build requirements + +** For mkarchiso script needs these packages (build host): + + squashfs-tools for mksquashfs + + libisoburn for xorriso + + btrfs-progs for mkfs.btrfs (optional) + +** For configs/releng build.sh needs theses packages (build host): + + dosfstools for mkfs.vfat + + patch for patch + + lynx for fetching the latest installation guide + +** For these hooks needs these packages (on target root-image) +* archiso + + (none) +* archiso_loop_mnt + + (none) +* archiso_pxe_common + + mkinitcpio-nfs-utils for ipconfig +* archiso_pxe_nbd + + nbd for nbd-client +* archiso_pxe_http + + curl for curl +* archiso_pxe_nfs + + mkinitcpio-nfs-utils for nfsmount +* archiso_shutdown + + (none) + + +*** Image types generated by mkarchiso. + +* image-name.sfs SquashFS image with all files directly on it. +* image-name.fs.sfs SquashFS with only one file inside (image-name.fs), + which is an image of some type of filesystem + (ext4, ext3, ext2, xfs), all files reside on it. + + +*** File format for aitab. + +The aitab file holds information about the filesystems images that must be +created by mkarchiso and mounted at initramfs stage from the archiso hook. +It consists of some fields which define the behaviour of images. + +# + + Image name without extension (.fs .fs.sfs .sfs). + Mount point. + Architecture { i686 | x86_64 | any }. + SquashFS compression type { gzip | lzo | xz }. + Set the filesystem type of the image + { ext4 | ext3 | ext2 | xfs | btrfs }. + A special value of "none" denotes no usage of a filesystem. + In that case all files are pushed directly to SquashFS filesystem. + An absolute value of file system image size in MiB. + (example: 100, 1000, 4096, etc) + A relative value of file system free space [in percent]. + {1%..99%} (example 50%, 10%, 7%). + This is an estimation, and calculated in a simple way. + Space used + 10% (estimated for metadata overhead) + desired % + + +*** Why the /isolinux and /arch/boot/syslinux directories? + +The /isolinux directory holds files needed for the ISOLINUX boot loader +module of SYSLINUX. ISOLINUX can not find config files on +/arch/boot/syslinux, like other boot loaders modules (EXTLINUX, SYSLINUX, etc). +When make your custom boot-pendrive, you need to copy /arch directory to it. +/isolinux/isolinux.cfg just holds /arch/boot/syslinux/syslinux.cfg + + + +*** Building the most basic Arch Linux live media. (configs/baseline) + +* Install needed packages. + # pacman -S git make squashfs-tools libisoburn rsync --needed + +* Install archiso. + # git clone git://projects.archlinux.org/archiso.git + # make -C archiso install + +* Build a basic iso. + # /usr/share/archiso/configs/baseline/build.sh + +Note: If you want to customize, just see the configs/releng directory which is +used to build official images with much more things. + + +*** Building official Arch Linux live media. (configs/releng) + +* Install needed packages. + # pacman -S git make squashfs-tools libisoburn dosfstools lynx patch --needed + +* Install archiso. + # git clone git://projects.archlinux.org/archiso.git + # make -C archiso install + +* Build them! + # /usr/share/archiso/configs/releng/build.sh build all + +Note: See build.sh -h for more options. -- cgit v1.2.3-54-g00ecf