loaders-update
—
This utility helps to update the FreeBSD
loaders.
loaders-update |
mode
[-fgr] [-m Efi_mount_dir] [-s
loaders_source_dir] |
This command searches for all the FreeBSD loaders, EFI and BIOS
ones. It checks if they are in sync with the ones inside /boot or inside the
argument of the -s option. For each one which isn't, it proposes either the
commands to type to update it or executes these very commands, depending on
the mode.
shoot-me
This mode may update the loader(s), but ask for confirmation
before each one. You need to be root.
show-me
This mode just shows the commands to type, it changes nothing.
These options are available:
-f
- Won't check the content of the freebsd-boot partitions. That means it
won't verify the coherence between the current root file system and each
BIOS loader. It will update the partitions according to the detected root
file system. This option cannot be chosen at the same time than -r.
-g
- Use 'gpart show' instead of 'sysctl kern.disks' in order to list the
available disks. In some circumstances, the output of kern.disks doesn't
match the geoms that 'gpart' knows. So, in case of bad or no detection of
your disk(s), you can try this option.
-m
Efi_mount_dir
- If an efi partition isn't already mounted, try to mount it in
Efi_mount_dir. The default is /mnt.
-r
- Won't check the root file system. As -f, it won't verify the coherence
between the current root file system and each BIOS loader. It will just
check the content of each freebsd-boot partition and verify/update
according to that. Can be of some use in case you rescue a system with a
USB key, for example. This option cannot be chosen at the same time than
-f.
-s
loaders_source_dir
- Seek for the source loaders in loaders_source_dir instead of the default
/boot.
ø Check all disks reported by the system.
ø Able to work on both BIOS and UEFI loaders.
ø Work on mounted or unmounted EFI partitions.
ø Recognize FreeBSD EFI loaders and examine only them.
ø Check each freebsd-boot partition, compare its bootcode with the root
file system. If not coherent, don't examine its content (unless -r or -f
option is specified).
ø If a loader is already up-to-date, neither suggest nor attempt an
update.
ø Work only on AMD64 architecture.
ø Can only examine disks with GUID Partition Table (GPT).
ø Check only the first freebsd-boot and efi partition per disk.
This utility comes to fill a void in the FreeBSD upgrading. Many
people don't even know about the importance to update the loaders and got
bitten by different problems along the system upgrades. This mainly concerns
zfs on root systems, but not only. It features to update all the loaders but
also tries to stay stable in different environments and FreeBSD derivatives.
As such, it can be used in GhostBSD, TrueNas, Hardened BSD and maybe others
I didn't test. In some words, it costs nothing to run it in show-me mode and
see what happens. You can report the result here:
https://github.com/Emrion/uploaders or there:
https://forums.freebsd.org/threads/utility-that-tries-to-figure-how-to-update-the-freebsd-loaders.94237/