diff options
author | Esteban Carnevale <alfplayer@mailoo.org> | 2013-09-03 16:20:57 -0300 |
---|---|---|
committer | Esteban Carnevale <alfplayer@mailoo.org> | 2013-09-03 16:20:57 -0300 |
commit | fd3ccb1d3ea53e5da96473558b6c2457ae8affa5 (patch) | |
tree | 8e55162ca8cab8a859d269275528c7411a90ef5d /docs/README.build |
Update profile releng
Diffstat (limited to 'docs/README.build')
-rw-r--r-- | docs/README.build | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/docs/README.build b/docs/README.build new file mode 100644 index 0000000..f2fb594 --- /dev/null +++ b/docs/README.build @@ -0,0 +1,111 @@ +INDEX +----- + +* Build requirements +* Image types generated by mkparabolaiso. +* File format for aitab. +* Why the /isolinux and /parabola/boot/syslinux directories? +* Building the most basic Parabola GNU/Linux-libre live media. (configs/baseline) +* Building official Parabola GNU/Linux-libre live media. (configs/releng) + + + +*** Build requirements + +** For mkparabolaiso 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 + + lynx for fetching the latest installation guide + +** For these hooks needs these packages (on target root-image) +* parabolaiso + + (none) +* parabolaiso_loop_mnt + + (none) +* parabolaiso_pxe_common + + mkinitcpio-nfs-utils for ipconfig +* parabolaiso_pxe_nbd + + nbd for nbd-client +* parabolaiso_pxe_http + + curl for curl +* parabolaiso_pxe_nfs + + mkinitcpio-nfs-utils for nfsmount +* parabolaiso_shutdown + + (none) + + +*** Image types generated by mkparabolaiso. + +* image-name.sfs SquashFS image with all files directly on it. + [read-only, no dm-snapshot is used] +* 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, btrfs), all files reside on it. + [read-write, via COW image with dm-snapshot] + + +*** File format for aitab. + +The aitab file holds information about the filesystems images that must be +created by mkparabolaiso and mounted at initramfs stage from the parabolaiso hook. +It consists of some fields which define the behaviour of images. + +# <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size> + +<img> Image name without extension (.fs .fs.sfs .sfs). +<mnt> Mount point. +<arch> Architecture { i686 | x86_64 | any }. +<sfs_comp> SquashFS compression type { gzip | lzo | xz }. +<fs_type> 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. +<fs_size> 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 /parabola/boot/syslinux directories? + +The /isolinux directory holds files needed for the ISOLINUX boot loader +module of SYSLINUX. ISOLINUX can not find config files on +/parabola/boot/syslinux, like other boot loaders modules (SYSLINUX, PXELINUX). + + + +*** Building the most basic Parabola GNU/Linux-libre live media. (configs/baseline) + +* Install needed packages. + # pacman -S git make squashfs-tools libisoburn rsync --needed + +* Install parabolaiso. + # git clone git://projects.parabolagnulinux.org/parabolaiso.git + # make -C parabolaiso install + +* Build a basic iso. + # /usr/share/parabolaiso/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 Parabola GNU/Linux-libre live media. (configs/releng) + +* Install needed packages. + # pacman -S git make squashfs-tools libisoburn dosfstools lynx --needed + +* Install parabolaiso. + # git clone git://projects.parabolagnulinux.org/parabolaiso.git + # make -C parabolaiso install + +* Build them! + # /usr/share/parabolaiso/configs/releng/build.sh + +Note: See build.sh -h for more options. This only runs on x86_64. |