Releases: clearlinux/clr-boot-manager
clr-boot-manager 2.0.0: Add support for two stage kernel loading
- Enable the ability to use two stage kernel loading via shim and systemd-boot.
- Enable the creation of EFI variables to determine the default bootloader
- Convert build system to meson
- Updated the code sytle documentation to be more thorough
- Removal of clang-format as a CI check due to inconsistency
- Various spelling fixes
clr-boot-manager 1.5.5: Stability fix + vendor enabling
- Fix various build warnings
- Support vendor cmdline files
- Address upstream util-linux (
libblkid
) regression for LVM installations
Vendor fragments:
As of clr-boot-manager 1.5.5, it is now possible to ship fragments for the
final kernel command line (/proc/cmdline
) entries in /usr/share/kernel/cmdline.d/*.conf
This allows vendors to ship quirks and behavioural changes via the cmdline in
a stateless fashion.
clr-boot-manager already had support for /etc/kernel/cmdline
and /etc/kernel/cmdline.d/*.conf
fragments. This behaviour has been updated to support masking vendor entries by using the same
name for the /etc
snippet as the one found in the vendor directory.
Additionally vendor fragments may be disabled entirely through this masking functionalty, by
symlinking the name to /dev/null
.
clr-boot-manager 1.5.4: Legacy+GPT fixes
- Allow kernels to be used when modules aren't shipped/desired
- Ensure set-timeout returns the correct exit status
- Do not use host ESP when using image mode
- Ensure legacy images are detected when in image mode (fix probe ordering)
clr-boot-manager v1.5.3: UEFI namespace fix
- Fix compiler warnings with glibc 2.25
- Ensure all EFI namespaced assets are removed from the ESP
clr-boot-manager v1.5.2: Enhanced legacy support
- Ensure UEFI takes precedence on UEFI systems containing legacy partition
- Implement GRUB2 submenu support, ensuring default kernel is always first
- Ensure legacy path kernel assets are removed from /boot
- Fix duplicated entries in syslinux configuration file
- Add test suites for edge cases/migrations in this release
clr-boot-manager v1.5.1 - Topology detection fixes
This release fixes some issues present in the 1.5.0 release, such as:
- Permitting clr-boot-manager to operate in a fully populated chroot
- Ensuring we weigh the decision based on topology, allowing selection of
UEFI where possible, restricting GRUB2 usage to edge case - Revised rootfs inspection with heavier mocking to ensure correct bootloader
selection in all supported cases, and sane fallbacks - Fix use of pre-mounted /boot within chroot, allowing installer integration
- Determine automatically whether the system is GPT or not, and determine
whether to usePARTUUID
orUUID
in the bootloader entries.
v1.5.0: clr-boot-manager 1.5.0 - General Purpose Distro Support
- Add support for
initrd
files, both vendor and user provided - Major internal reworking to support extensive mocking and testing
- Add extended probe mechanism to understand disk/host topology
- Add automated (dracut-specific, currently) support for LVM on LUKS in
the command line (i.e.rd.luks.uuid=CRYPTO_UUID
) - Remove old compatibility transition scripts for Clear Linux
- Add full coverage of existing bootloaders
- Remove mixed-mode EFI support, as it isn't present yet in upstream systemd
- Select & initialise bootloader class based on system topology (
GPT
,UEFI
, etc) - Ensure use of case correct paths on newly mounted ESP (Case ignorance issues)
- Implement full UEFI namespacing on the ESP (
\EFI\$prefix/*
) - Implement automatic migration from old system to new namespacing
- Implement support for GRUB2 bootloader on non GPT systems
- Add support for autocleaning
System.map*
andlinux-headers-*
paths
v1.2.0: Configurable & more robust clr-boot-manager
- Swap the in-tree nica for a git submodule, easing maintenance.
- Remove hardcoding of names:
- Pull the OS title from the
os-release
file (PRETTY_NAME
) - Take the "vendor-prefix" as a configure option.
- Pull the OS title from the
- Change update mechanism to always attempt update, and only update what needs changing. This allows instant configuration changes.
- Add support for command line appending from
/etc/kernel/cmdline
and/etc/kernel/cmdline.d/*.conf
. These files may contain comments (#
) and newlines, and will be cleaned automatically before appending. - Enhanced timeout behaviour:
- Alter
set-timeout
andget-timeout
to use the plain text/etc/kernel/timeout
file. - Timeout change can be achieved by just running
clr-boot-manager update
now, as we always attempt updating files if they changed.
- Alter
- Enforce C11 in the codebase
Example configuration for UEFI distributions:
./configure --prefix=/usr --libdir=/usr/lib64 --sysconfdir=/etc --with-vendor-prefix=SomeOS --with-kernel-modules-dir=/lib/modules --with-kernel-namespace=org.someos --with-boot-dir=/boot
Version 2.x will feature more changes to enable initrd, GRUB, and automatic LVM on LUKS support in kernel cmdline.
Remove openssl dependency
This release involves removing the Openssl dependency, replacing the hash check with a byte check of the mmap'd file. It also updates libnica and adds the libnica test framework into the repository as well.
utsname flexibility & logging implementation
This release of clr-boot-manager adds flexibility surrounding potentially problematic utsname, as well as enhanced logging functionality for devops testing.
To use the new debugging functionality, ensure you export CBM_DEBUG=1