Boot flags
Revision as of 07:53, 28 June 2023 by Nicolas Mailloux (talk | contribs) (Add documentation for `USBNET_*_ADDRESS` flags)
This page lists InkBox's boot flags used to modify the working environment at startup time. These flags hold a boolean value (true
/false
) and are located as single files in [sd-p1]/flags
Common boot flags
Interactive flags
Flag | Description | Example use-case | Enabled by default? |
DIAGS_BOOT
|
Boots into Diagnostics mode (partition 2 of the SD card). | Perform an unattended factory reset (pair with DO_FACTORY_RESET )
|
No |
DO_FACTORY_RESET
|
Tells the initrd to launch the reset.sh script if DIAGS_BOOT is enabled
|
Perform an unattended factory reset (pair with DIAGS_BOOT )
|
No |
DO_SOFT_RESET
|
Tells the initrd to launch the soft-reset.sh script if DIAGS_BOOT is enabled
|
Perform an unattended soft reset (pair with DIAGS_BOOT )
|
No |
X11_START
|
Start X11 windowing system | Play with your favourite X11 apps | Yes |
FIRST_BOOT
|
Tell InkBox that it's the first boot, thus launch OOBE setup et al. | Set after a factory reset | N/A |
WILL_UPDATE
|
Tells root filesystem that it has to update. | Update InkBox | No |
KERNEL_FLASH
|
Tell initrd to flash a kernel. The kernel needs to be in [sd-p1]/boot and its name needs to start with uImage
|
When you're desperate and can't do anything else (e.g. dd )
|
No |
ALERT
|
Tell InkBox that something unusual happened. May be paired with ALERT_SIGN and/or ALERT_DOWNGRADE .
|
Set when the security policy is violated (e.g. jumping from std to root kernel without factory reset) | No |
ALERT_SIGN
|
Tell InkBox that the update packages' digital signatures' verification failed. | When an user tries to update InkBox without a valid dgst file paired with the relevant package.
|
No |
ALERT_DOWNGRADE
|
Tell InkBox that an illegal downgrade operation has happened. | When user mistakenly tries to downgrade from version 1.5 to 1.3. | No |
ENCRYPT_LOCK
|
Prevent device from booting until it reaches epoch written in this file. Will lead to an "Error code 6" splash. | When encrypted storage is enabled and the user enters too much wrong passphrases | No |
DISPLAY_DEBUG
|
Display boot serial console output on the eInk screen.
Warning: extremely power-hungry. |
Provide debug information without needing to connect to a serial console | No |
Read-only flags
Flag | Description | Example use-case | Enabled by default? |
X11_STARTED
|
Tells if X11 was started or not (set even if X11_START is disabled)
|
Used by InkBox's GUI to check if X11 was started or not to hide/show KoBox-specific options in the UI | N/A |
Kernel-specific flags
Root kernel
Interactive flags
Flag | Description | Example use-case | Enabled by default? |
USBNET_ENABLE
|
Enable USB networking at boot | Gain shell access via SSH to InkBox | No |
USBNET_IP
|
Use a custom USBNet IP (write IP directly in the flag) | When your Wi-Fi network uses the same subnet as your Kobo (192.168.2.0/24 ) (pair with USBNET_ENABLE )
|
N/A |
USBNET_DEVICE_ADDRESS
|
Use a custom USBNet device MAC address instead of a random one | When macOS creates 20 instances of "RNDIS/Ethernet Gadget" | N/A |
USBNET_HOST_ADDRESS
|
Use a custom USBNet host MAC address instead of a random one | Same as above | N/A |
RW_ROOTFS
|
Mount overlay root filesystem (fuse-overlayfs) read-write at boot (note: this can also be done with ifsctl mnt rootfs rw at run-time)
|
Modify some files | No |
DFL
|
Activates DFL mode, which exports the whole MMC over USB. Self-deactivates after a reboot. See Direct Firmware Loader mode for details. | Access the MMC without getting the microSD card out of the eReader. | No |
INITRD_DEBUG
|
Starts a telnet server from the initrd environment that lets you 'escape' the root filesystem's chroot via USB networking. | Some strange things happen and you don't know their origin. | No |
BOOT_USB_DEBUG
|
Started automatically in the root kernel if a critical error is encountered (see Boot error codes). Will activate USB networking (default IP: 192.168.2.2 ) as well as a Telnet and FTP server. Self-deactivates after a reboot. See Boot-time USB debug mode for details.
|
Troubleshoot an issue from the init ramdisk at boot. | No |
LOGIN_SHELL
|
Replaces the default login shell with the one in the flag's content. Available options are bash , zsh and fish .
|
You want something better than busybox ash .
|
No |
GUI_DEBUG
|
Turn on stdout logging of InkBox GUI events. Can be viewed by running rc-service inkbox_gui restart on serial console or SSH session, or at /var/log/inkbox-gui.log
|
Helps debugging what is happening on the Qt GUI. | No |
IPD_DEBUG
|
Debug power daemon events at /var/log/ipd.log
|
Suspend is not working properly. | No |