seapath / build_debian_iso

Code to build a debian seapath ISO file using FAI Project
https://lfenergy.org/projects/seapath/
Apache License 2.0
4 stars 7 forks source link

build_debian_iso

ShellCheck

Code to build a debian seapath ISO file using FAI Project

On a linux machine with docker and docker-compose, building the iso file should be possible by simply running

<path_to_build_debian_iso>/build_iso.sh

from the directory where you want the .iso file stored. Note that this iso is only to be used on UEFI systems. Legacy BIOS is not supported on SEAPATH.

However please checkout the Customization section first. There are some things that must be done before building.

Customization

Some customization you will want to make before building. For that you can add all the files you need in the build_debian_iso/usercustomization hierarchy, using the USERCUSTOMIZATION class name:

Both folders "build_debian_iso/usercustomization and build_debian_iso/srv_fai_config will be merged into build_debian_iso/build_tmp when building).

Mandatory

change the authorized_keys files (user and root) with your own

Optional

changes in the the unprivileged user name and passwd, as well as the root passwd for the deployed server

keyboard Layout:

other changes in build_debian_iso/usercustomization/class/USERCUSTOMIZATION.var

more info: https://fai-project.org/fai-guide

Classes and Flags Customization:

Running ./build_debian_iso/build_iso.sh with the "--custom" option will allow a user:

Running ./build_debian_iso.sh without custom flag will do : all classes downloaded, and only one grub option with clustermode/lvmraid/english/no_debug/no_kerberos/no_cockpit

Classes Customization:

Packages are organized in several classes:

The SEAPATH_COMMON is mandatory, and the SEAPATH_HOST is mandatory for build_iso.sh. The other 4 classes can be enabled/disabled.

The possibles flags to create a grub menu item are:

If you want an "english, no debug, no raid, no cockpit, no kerberos, standalone" installation, then you need to uncheck everything, which will result in a fake "noflag" grub menu item being added. This is normal.

User-defined classes:

The user can manage his own classes by:

Build a Virtual Machine image

To build a basic VM for the SEAPATH project, simply launch the script build_qcow2.sh from the directory where you want the .qcow2 file to be stored (the build host must use UEFI).

Note that the lvm2 package must be installed on your build host.

Please refer to the configuration section above. To customize the Virtual Machine properly, the file SEAPATH_COMMON.var must be filled.