U-BOOT-UPDATE(8)

πŸ“¦
version 4.2.4ubuntu2 Β· 4 versions
, in ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– U-BOOT-UPDATE β€” the manual, bestie edition πŸ’–

okay so real quick β€” this page is U-BOOT-UPDATE(8), from the u-boot configuration tool manual. she's a little program that writes boot menus, and honestly? she eats. let's get into it 🫢


✨ NAME ✨

u-boot-update β€” literally the program that generates your u-boot menu files. that's it, that's the job πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

u-boot-update

no flags, no drama. just vibes. she runs, she writes menus, she leaves. 🌸


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so u-boot-update is the tool that generates the menu files that the U-BOOT bootloader reads. it's giving backstage crew for your boot process, no cap.

you configure it in /etc/default/u-boot, or you can drop configuration fragment files into /usr/share/u-boot-menu/conf.d/ (those win over /etc/default/u-boot), and/or into /etc/u-boot-menu/conf.d/ (and those win over both of the other two locations, queen of the hierarchy πŸ‘‘).

bestie. listen. in order to avoid situations where the system might be rendered unbootable by a package removal, other packages and downstream distributions MUST NOT edit or modify files under /etc β€” those are meant for end-users only, periodt. instead, it is mandated for such packages to install their config fragments ONLY under /usr/share/u-boot-menu/conf.d/. that's the rule. do not test her. πŸ’€

For each <version> of linux kernel installed, menu items for each of <U_BOOT_ALTERNATIVES> are generated for the first valid entry among these:

  • fdt <U_BOOT_FDT_DIR><version>/<U_BOOT_FDT>
  • fdtdir <U_BOOT_FDT_DIR><version>/
  • fdt /<U_BOOT_FDT>
  • fdt /dtb-<version>

Paths without <U_BOOT_FDT_DIR> are considered only when <U_BOOT_FDT_DIR> is left at its default value. iykyk. ⭐

When root (/) and boot (/boot) are mounted on separate filesystems, paths are examined with /boot prepended (i.e. variables should be defined without it). keep that in mind or she will simply not find your stuff πŸ₯²


πŸ”₯ OPTIONS πŸ”₯

  • U_BOOT_UPDATE="true|false" β€” this variable says whether u-boot-update is allowed to modify the configuration files in /boot/extlinux. values are either 'true' or 'false', and the default is 'true'. she has permission. she will use it. πŸ’…
  • U_BOOT_ALTERNATIVES="default recovery" β€” this variable says which entries u-boot-update is populating. values are 'default', 'recovery', 'live', and the default is 'default recovery'.
  • U_BOOT_DEFAULT="l0" β€” this variable specifies the default entry to boot. the name of an entry is two or three characters long, bestie, so let's break it down: Linux kernel images start with the letter 'l', followed by an integer starting with '0' for the first kernel version (and heads up β€” that first one is numerically the highest version in case kernel images of more than one linux version are installed), and optionally the mode (r for rescue mode, l for live mode). Memdisk entries start with the letter 'm', followed by an integer, and there are no optional modes available for those. the default is 'l0'.
  • U_BOOT_ENTRIES="all" β€” this variable (yes, the original says "variables", we don't judge πŸ“) specifies how many kernel versions should be used to populate the boot configuration. the value is an integer starting with 1, or 'all' to populate for all kernels. default is 'all'.
  • U_BOOT_MENU_LABEL="Debian GNU/Linux, kernel" β€” this variable specifies the text used as a description in the boot menu. the value is an arbitrary string. if it's not specified, PRETTY_NAME from /etc/os-release is used. otherwise, it defaults to 'Debian GNU/Linux, kernel'.
  • U_BOOT_PARAMETERS="ro earlycon" β€” this variable specifies additional boot parameters that get appended to each kernel entry. the value is an arbitrary string, and the default is the contents of /etc/kernel/cmdline, or 'ro earlycon' if that file is not present or is empty (except for recovery entries, where quiet is avoided β€” she's got boundaries 🌈).
  • U_BOOT_ROOT="root=DEVICE" β€” this variable specifies the root partition. it's automatically extracted from /etc/fstab. U-BOOT supports both devices and UUIDs, so flexible queen ✨
  • U_BOOT_TIMEOUT="50" β€” this variable specifies the time that U-BOOT should wait for user input during boot. values are in deciseconds, greater than 0 (e.g. '10' for a 1 second timeout), and 0 specifies to wait forever. the default is 50.
  • U_BOOT_FDT_DIR="/lib/firmware/" β€” this variable specifies the unversioned stem of paths where U-BOOT should look for the flattened device tree binaries. default is '/lib/firmware/'. but plot twist: when U_BOOT_SYNC_DTBS is true and u-boot-update detects /boot is on a separate partition, the default value is then '/dtb-'. 🌸
  • U_BOOT_FDT="device-tree.dtb" β€” this variable specifies the filename or trailing part of a path for a single device tree binary. default is 'device-tree.dtb'.
  • U_BOOT_FDT_OVERLAYS_DIR="/boot/dtbo" β€” this variable specifies the unversioned stem of paths where U-BOOT should look for the flattened device tree overlays binaries. default is '/boot/dtbo/'.
  • U_BOOT_FDT_OVERLAYS="device-tree.dtbo" β€” this variable specifies filenames or trailing part of a path for device tree overlay binaries. default is not set. πŸ™ˆ
  • U_BOOT_INITRD="initrd.img" β€” this variable specifies the unversioned stem of the initramfs filename. here's the tea: if a versioned filename exists (e.g. 'initrd.img-5.10.0-8-armmp-lpae') then that filename gets set as option 'initrd'. otherwise, if an unversioned filename exists (e.g. 'initrd.img') then that is set as option 'initrd'. otherwise, the option 'initrd' is just not set at all. default is 'initrd.img'.
  • U_BOOT_SYNC_DTBS="true|false" β€” this variable specifies whether u-boot-update should automatically attempt to copy device tree binaries to /boot in case it's on a different partition than /. values are either 'true' or 'false', and the default is 'false'.

πŸ’œ FILES πŸ’œ

  • /etc/default/u-boot
  • /usr/share/u-boot-menu/conf.d/
  • /etc/u-boot-menu/conf.d/

(the original wraps that middle one across lines, but it's all one path, bestie β€” she's just long 🫢)


🌈 HOMEPAGE 🌈

More information about U-BOOT can be found at <http://www.denx.de/wiki/U-Boot>.

u-boot-update and this manual page was written by Daniel Baumann <daniel.baumann@progress-technologies.net> for extlinux. Riku Voipio <riku.voipio@linaro.org> updated them for u-boot. Jonas Smedegaard <dr@jones.dk> updated misc. later changes. shoutout to the whole group chat of maintainers, they carried πŸ«‘πŸ’–


and that's the page!! version 4.0.4, dated 2022-06-04, from the U-BOOT-UPDATE(8) manual. go forth and boot responsibly, bestie πŸ’…βœ¨πŸ‘‘

πŸ“¦ where this page comes from