Dies geschieht mit Hilfe von Scripts (.sh), die im fli4l Wurzelverzeichnis zu finden sind.
Das Build-Script erkennt selbständig die unterschiedlichen Bootvarianten.
Der einfachste Aufruf sieht unter Linux so aus:
sh mkfli4l.sh
Die Aktionen des Build-Scripts werden durch drei Mechanismen gesteuert:
An Hand der Konfigurationsvariable BOOT_TYPE entscheidet sich, welche Aktion des Build-Scripts ausgeführt wird:
Die Beschreibung der Variablen der Konfigurationsdatei <config>/mkfli4l.txt finden Sie im Kapitel Steuerungsdatei mkfli4l.txt.
Usage: mkfli4l.sh [options] [config-dir] -c, --clean cleanup the build-directory -b, --build <dir> set build-directory to <dir> for the fli4l-files -h, --help display this usage --batch don't ask for user input config-dir set other config-directory - default is "config" --hdinstallpath <dir> install a pre-install environment directly to usb/compact flash device mounted or mountable to directory <dir> in order to start the real installation process directly from that device device either has to be mounted and to be writable for the user or it has to be mountable by the user Do not use this for regular updates! *** Remote-Update options --remoteupdate remote-update via scp, implies "--filesonly" --remoteremount make /boot writable before copying files and read only afterwards --remoteuser <name> user name for remote-update - default is "fli4l" --remotehost <host> hostname or IP of remote machine - default is HOSTNAME set in [config-dir]/base.txt --remotepath <path> pathname on remote maschine - default is "/boot" --remoteport <portnr> portnumber of the sshd on remote maschine *** Netboot options (only on Unix/Linux) --tftpbootpath <path> pathname to tftpboot directory --tftpbootimage <name> name of the generated bootimage file --pxesubdir <path> subdirectory for pxe files relative to tftpbootpath *** Developer options -u, --update-ver set version to <fli4l_version>-rev<svn revision> -v, --verbose verbose - some debug-output -k, --kernel-pkg create a package containing all available kernel modules and terminate afterwards. set COMPLETE_KERNEL='yes' in config-directory/_kernel.txt and run mkfli4l.sh again without -k to finish --filesonly create only fli4l-files - do not create a boot-media --no-squeeze don't compress shell scripts --rebuild rebuild mkfli4l and related tools; needs make, gcc
Eine HD-Vorinstallation einer passend formatierten (FAT16/FAT32) CompactFlash im
USB-Cardreader oder eines USB-Sticks ist über die Option --hdinstallpath <dir>
möglich.
Dieses können Sie auf eigenes Risiko zur Installation auf eine CompactFlash oder
einen USB-Stick benutzen.
Hierbei werden auf die angegebene Partition die nötigen Dateien des fli4l kopiert.
Sie rufen dazu zunächst im fli4l-Verzeichnis
sh mkfli4l.sh --hdinstallpath <dir>
Um die nächsten Schritte ausführen zu können, sind folgende Voraussetzungen zu erfüllen:
chmod 777 /dev/brain
syslinux
fdisk
Durch das Script erfolgt eine Kontrolle, ob dieser Datenträger tatsächlich ein USB-Laufwerk ist und die erste Partition eine FAT-Partition ist. Anschliessend werden der Bootloader und die nötigen Dateien auf den angegebenen Datenträger kopiert. Sie erhalten eine Meldung über den Erfolg oder Misserfolg.
Nach dem Build müssen Sie
syslinux --mbr /dev/brain # make partition bootable using fdisk # p - print partitions # a - toggle bootable flag, specify number of fli4l partition # usually '1' # w - write changes and quit fdisk /dev/brain # install boot loader syslinux -i /dev/brain
Als letzter Optionsparameter kann ein alternatives Konfigurationverzeichnis übergeben werden. Das normale Konfigurationsverzeichnis heißt config und liegt direkt im fli4l Wurzelverzeichnis. An diesem Ort legen alle fli4l Pakete die Konfigurationsdateien ab. Möchte man mehr als eine Konfiguration verwalten, so erstellt man sich ein weiteres Verzeichnis, z.B. hd.conf, legt dort eine Kopie der Konfigurationsdateien ab und verändert diese den Anforderungen entsprechend. Hier einige Beispiele:
sh mkfli4l.sh --filesonly hd.conf sh mkfli4l.sh --no-squeeze config.test