Boot flags

From InkBox
Jump to navigation Jump to search

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
AUDIO_ENABLE Enable audio support on some devices Listen to music on your eReader, because why not Yes on Kindle Touch, No on most other devices

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