############################################################ # Document: /boot/local/README.txt # Purpose : Explain the OS Initial RAM Disk ('OS InitRD') # user-serviceable module loader helper scripts # and configuration options. # Author..: Stuart Winter # Date....: 15-May-2021 ############################################################ Slackware ARM / AArch64 enables user serviceable scripts to be run within the OS InitRD at three key stages of the boot process. The scripts provided here are samples and they must be renamed prior to use. 1.0 Stages and Scripts ------------------ Stage 1: Prior to setting of the list of Linux Kernel Modules required to support the Platform and Hardware Model ````````````````````````````````````````````````````````````` Script: /boot/local/load_kernel_modules.pre Typically, users will not need to use this script. Stage 2: Subsequent to the setting of the aforementioned list, but prior to loading the Linux Kernel Modules into the Kernel `````````````````````````````````````````````````````````` Script: /boot/local/load_kernel_modules.pre-modload Typically, users should only use this script if the module lists contain modules that cause system instability or crashes (usually immediately upon the load event). For details about managing such situations, refer to the sample script: /boot/local/load_kernel_modules.pre-modload.sample Typically, users will not need to use this script. Stage 3: Subsequent to loading the Linux Kernel Modules into the Kernel ``````````````````````````````````````````````````````````````` Script: /boot/local/load_kernel_modules.post If users require a particular Linux Kernel Module to be loaded during the initial boot in order to light up a particular sub system for some hardware that is attached to their Hardware Model, they should add it to this script. In most cases these scripts will consist of 'modprobe' lines. For examples, refer to the sample script: /boot/local/load_kernel_modules.post.sample 2.0 Configuration Options ----------------------- The following files may also be present within /boot/local and will be reincorported into the OS InitRD. * Important note: * By default, the Slackware ARM / AArch64 Kernel package ships these files as empty, as the principal configurations are stored within the Boot Loader configuration (/boot/extlinux/extlinux.conf on Slackware AArch64). These options are passed to the Kernel via its command line interface (/proc/cmdline). Users are at liberty to set the configuration via either method, but must be aware that options supplied via the Kernel command line interface take precedence over the file-based configuration options. rootdev Contains the name of the root device, such as: /dev/hda1 [ Default: Set within the Boot Loader configuration ] rootfs Contains the root filesystem type, such as: xfs [ Default: Set within the Boot Loader configuration ] wait-for-root Contains a number - the init script will wait this amount of seconds before creating device nodes. [ Default: Set within the Boot Loader configuration ] resumedev Contains the name of the device to resume from hibernation. luksdev Contains colon separated list of luks encrypted devices to be unlocked. lukstrim Contains colon separated list of luks encrypted devices to pass '--allow-discards' when unlocking lukskey Contains the path to a LUKS key-file for automatic unlock Format: LABEL=:/path/to/file UUID=:/path/to/file keymap Contains the name for a custom keyboard map initrd-name Contains the name of the initrd file. 3.0 Updating the OS InitRD ----------------------- /boot/local is a holding area for the scripts to be managed locally; each script must be incorporated into the OS InitRD image in order for them to be found during boot. To do this, run /usr/sbin/os-initrd-mgr This will take several minutes to re-pack the OS InitRD. 4.0 Feeding back ------------ If there are any particular modules that users think would benefit the Slackware ARM / AArch64 community at large, please email mozes@slackware.com