./gen.sh [profile] [target_arch]
profiles/{profile}:config.sh: (Optional) config script in chrootpackages.txt: packages to be installedpackages.{target_arch}.txt: (Optional) packages to be installed for a specific archfiles/: (Optional) files to be used in globalconfig.sh, installed to/.files/beforeconfig.shsubprofiles/{subprofile}/: (Optional) subprofile directorypackages.txt: (Optional) packages to be installed (after global config scripts)config.sh: (Optional) config script in chrootfiles/: (Optional) files to be used in subprofile levelconfig.sh, installed to/.files/beforeconfig.shtitle.txt: (Optional) title to be used in limine menu, which defaults to be subprofile name, set to null to hide this layerprev_profiles.txt: (Optional) Previous subprofiles overlayed
config:common: common config script in chrootcommon/function_enable_service.sh: functions to be used by config scripts
{profile_set}: config script in chroot for a specific group of profiles
- pacman + arch-install-scripts (pacstrap + arch-chroot) (chroot support is WIP)
- libisoburn (xorriso)
- wget
- squashfs-tools (mksquashfs)
utils/pacman-config.sh: configurespacman.confutils/cleanup.sh: executes pre-task cleanuputils/install.sh:- create and mount
baselayer: install base system - create and mount
base+packageslayers: install packages, install arch-specific packages (if any)
- create and mount
utils/hook.sh:- create and mount
base+packages+livelayers - mounts
bootpartition (if liveimage) - copy files to be used in global config hooks (if any)
- executes global config hooks (in
config/) - executes profile config hooks (in
profiles/{profile}/config.sh) - clean used files by config hooks
- create and mount
utils/hooks-subprofiles.sh: (if liveimage and any subprofile)- create and mount
base+packages+live+live-{subprofile}layers - copy files to be used in subprofile config hooks (if any)
- executes subprofile config hooks (in
profiles/{profile}/subprofiles/{subprofile}/config.sh) - clean used files by config hooks
- create and mount
utils/limine_menu.sh: (if liveimage and any subprofile)- generate and override limine config
utils/collect_tarball.sh: compress tarball and make checksum (if tarball)utils/collect_liveimage.sh: (if liveimage)- make squashfs for each layer
- make iso from isofs directory
- chroot into
base+packageslayers to install BIOS bootloader (if x86) - make checksum
utils/cleanup.sh: executes post-task cleanup
- base: base packages
- packages: profile packages
- live: profile live config
- live-{subprofile}: subprofile live config
- create local repo in iso