The boot@ instantiated service is a portable set of services to boot a machine in conjunction with the 66 API.
Like any other instantiated service to enable it you need to specify the target of the service. The target can be a random name.
This is a specific service that handles the boot sequence of a machine, it is usually enabled on a tree build especially for it and contains only this service.
For example:
# 66-tree -n boot
# 66-enable -t boot boot@system
The name of the tree need to match the name set at your TREE= key=value pair defined in the /etc/66/init.conf file.
Do not mark this tree enabled with the 66-tree -E option. The 66-init will take care of this special tree and start it automatically.
Refer to the 66-tree and 66-enable for further information on these tools.
This service is declared as a module service and comes with its own configuration file.
The configuration file can be seen and edited easily using the 66-env tool:
# 66-env boot@system
When you are done editing this file, you need to reenable the service to have changes applied by using the -F option:
# 66-enable -t boot -F boot@system
Two different kinds of variables are used:
boolean: accepts yes or no as the only valid values, and nothing else.
string: depends on the variable and is defined in the following documentation.
/etc/localtime pointing to the /usr/share/zoneinfo directory definition. Usually the value contains a slash like Pacific/Noumea, America/New_york,…/usr/share/kbd/keymaps directory.loadkeys program to set the keymap for the console to use. Usually a simple string like fr, us,…/usr/share/kbd/consolefonts.setfont program to set the font for the console to use. Usually a simple string like lat9w-16, alt-8x14,…/usr/share/kbd/consoletrans.setfont program to indicate the mapping to use. Usually a simple string like 8859-1, 8859-2,…/usr/share/kbd/unimaps.setfont program to indicate the unicode mapping table to use. Usually no mapping table is needed, and a Unicode mapping table is already contained in the font.mount -a command to mount each filesystem set at /etc/fstab.swapon -a command to activate your swap partitions/files.lvmetad and vgchange program to activate LVM partitions. If these programs is not installed on your system, the boot process fail even if the enable process finish successfully.dmraid program to activate RAID partitions. If the program is not installed on your system, the boot process fail even if the enable process finish successfully.btrfs program to activate BTRFS partitions. If the program is not installed on your system, the boot process fail even if the enable process finish successfully.zfs program to mount ZFS partitions. If the program is not installed on your system, the boot process fail even if the enable process finish successfully.ZFS variable. In case the ZFS variable is set to no or commented, the ZFS_IMPORT variable has no effect.KEYMAP,FONT, FONT_MAP, FONT_UNIMAP variable has no effect.TZ variable and set the hardware clock with timescale given (A.K.A. UTC or localtime).SETUPCONSOLE, KEYMAP, FONT, FONT_MAP, FONT_UNIMAP, CRYPTTAB, DMRAID, BTRFS, LVM variable has no effect./etc/sysctl.conf must exist on your system and be correctly written./etc/66/rc.local script. This script is launched at the end of the boot procedure. The file must exist on your system and be set as executable, with correct definition of the shebang at the start of the script.HARDWARECLOCK, SETUPCONSOLE, KEYMAP, FONT, FONT_MAP, FONT_UNIMAP, CRYPTTAB, SWAP, LVM, DMRAID, BTRFS, ZFS, UDEV, SYSCTL, FORCECHCK, CGROUPS, MODULE_SYSTEM, RANDOMSEED, MNT_NETFS variables have no effect./usr/lib/tmpfiles.d directory to handle volatile and temporary files.kmod static-nodes command./etc/modules-load.d, /run/modules-load.d, /usr/lib/modules-load.d./var/lib/random-seed if it doesn’t already exist./etc/crypttab to decrypt an encrypted device. The file /etc/crypttab must exist on your system./etc/<program>/<program>.rules file must exist on your system. In other cases the /etc/<program>.conf must exist on your system./proc/cgroups file and mount the corresponding /sys/fs/cgroup/<groups> directory. The /sys/fs/cgroup/unified is also mounted./proc directory if it is not mounted yet./sys directory if it is not mounted yet./dev directory if it is not mounted yet./run directory if it is not mounted yet./tmp directory if it is not mounted yet./dev/pts directory if it is not mounted yet./dev/shm directory if it is not mounted yet.mount -a -t nosysfs,nonfs,nonfs4,nosmbfs,nocifs -O no_netdev./sys/firmware/efi/efivars, /sys/fs/fuse/connections, /sys/kernel/config, /sys/kernel/debug and /sys/kernel/security directories./dev/hugepages and /dev/mqueue directories./run/lvm, /run/user and /run/lock directories./tmp/.X11-unix and /tmp/.ICE-unix directories.