U-BOOT-UPDATE(8)
π 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 whetheru-boot-updateis 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 entriesu-boot-updateis 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 (rfor rescue mode,lfor 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 with1, 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_NAMEfrom/etc/os-releaseis 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, wherequietis 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 than0(e.g.'10'for a 1 second timeout), and0specifies to wait forever. the default is50.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: whenU_BOOT_SYNC_DTBSis true andu-boot-updatedetects/bootis 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 whetheru-boot-updateshould automatically attempt to copy device tree binaries to/bootin 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
- ubuntu noble: u-boot-menu 4.2.3ubuntu1 Β· GPL-2.0-or-later
- ubuntu questing: u-boot-menu 4.2.4ubuntu1
- ubuntu resolute: u-boot-menu 4.2.4ubuntu2 Β· GPL-2.0-or-later
- ubuntu stonking: u-boot-menu 4.2.4ubuntu2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms