README.build 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. INDEX
  2. -----
  3. * Build requirements
  4. * Image types generated by mkparabolaiso.
  5. * File format for aitab.
  6. * Why the /isolinux and /parabola/boot/syslinux directories?
  7. * Building the most basic Parabola GNU/Linux-libre live media. (configs/baseline)
  8. * Building official Parabola GNU/Linux-libre live media. (configs/releng)
  9. *** Build requirements
  10. ** For mkparabolaiso script needs these packages (build host):
  11. + squashfs-tools for mksquashfs
  12. + libisoburn for xorriso
  13. + btrfs-progs for mkfs.btrfs (optional)
  14. ** For configs/releng build.sh needs theses packages (build host):
  15. + dosfstools for mkfs.vfat
  16. + lynx for fetching the latest installation guide
  17. ** For these hooks needs these packages (on target root-image)
  18. * parabolaiso
  19. + (none)
  20. * parabolaiso_loop_mnt
  21. + (none)
  22. * parabolaiso_pxe_common
  23. + mkinitcpio-nfs-utils for ipconfig
  24. * parabolaiso_pxe_nbd
  25. + nbd for nbd-client
  26. * parabolaiso_pxe_http
  27. + curl for curl
  28. * parabolaiso_pxe_nfs
  29. + mkinitcpio-nfs-utils for nfsmount
  30. * parabolaiso_shutdown
  31. + (none)
  32. *** Image types generated by mkparabolaiso.
  33. * image-name.sfs SquashFS image with all files directly on it.
  34. [read-only, no dm-snapshot is used]
  35. * image-name.fs.sfs SquashFS with only one file inside (image-name.fs),
  36. which is an image of some type of filesystem
  37. (ext4, ext3, ext2, xfs, btrfs), all files reside on it.
  38. [read-write, via COW image with dm-snapshot]
  39. *** File format for aitab.
  40. The aitab file holds information about the filesystems images that must be
  41. created by mkparabolaiso and mounted at initramfs stage from the parabolaiso hook.
  42. It consists of some fields which define the behaviour of images.
  43. # <img> <mnt> <arch> <sfs_comp> <fs_type> <fs_size>
  44. <img> Image name without extension (.fs .fs.sfs .sfs).
  45. <mnt> Mount point.
  46. <arch> Architecture { i686 | x86_64 | any }.
  47. <sfs_comp> SquashFS compression type { gzip | lzo | xz }.
  48. <fs_type> Set the filesystem type of the image
  49. { ext4 | ext3 | ext2 | xfs | btrfs }.
  50. A special value of "none" denotes no usage of a filesystem.
  51. In that case all files are pushed directly to SquashFS filesystem.
  52. <fs_size> An absolute value of file system image size in MiB.
  53. (example: 100, 1000, 4096, etc)
  54. A relative value of file system free space [in percent].
  55. {1%..99%} (example 50%, 10%, 7%).
  56. This is an estimation, and calculated in a simple way.
  57. Space used + 10% (estimated for metadata overhead) + desired %
  58. *** Why the /isolinux and /parabola/boot/syslinux directories?
  59. The /isolinux directory holds files needed for the ISOLINUX boot loader
  60. module of SYSLINUX. ISOLINUX can not find config files on
  61. /parabola/boot/syslinux, like other boot loaders modules (SYSLINUX, PXELINUX).
  62. *** Building the most basic Parabola GNU/Linux-libre live media. (configs/baseline)
  63. * Install needed packages.
  64. # pacman -S git make squashfs-tools libisoburn rsync --needed
  65. * Install parabolaiso.
  66. # git clone git://projects.parabolagnulinux.org/parabolaiso.git
  67. # make -C parabolaiso install
  68. * Build a basic iso.
  69. # /usr/share/parabolaiso/configs/baseline/build.sh
  70. Note: If you want to customize, just see the configs/releng directory which is
  71. used to build official images with much more things.
  72. *** Building official Parabola GNU/Linux-libre live media. (configs/releng)
  73. * Install needed packages.
  74. # pacman -S git make squashfs-tools libisoburn dosfstools lynx --needed
  75. * Install parabolaiso.
  76. # git clone git://projects.parabolagnulinux.org/parabolaiso.git
  77. # make -C parabolaiso install
  78. * Build them!
  79. # /usr/share/parabolaiso/configs/releng/build.sh
  80. Note: See build.sh -h for more options. This only runs on x86_64.