Skip to content

Releases: clearlinux/clr-boot-manager

clr-boot-manager 2.0.0: Add support for two stage kernel loading

09 Nov 19:20
Compare
Choose a tag to compare
  • 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

18 Oct 17:36
Compare
Choose a tag to compare
  • 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

16 Jun 15:05
Compare
Choose a tag to compare
  • 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

02 May 17:58
Compare
Choose a tag to compare
  • 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

07 Apr 16:42
Compare
Choose a tag to compare
  • 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

29 Mar 16:16
Compare
Choose a tag to compare

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 use PARTUUID or UUID in the bootloader entries.

v1.5.0: clr-boot-manager 1.5.0 - General Purpose Distro Support

26 Mar 18:54
Compare
Choose a tag to compare
  • 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* and linux-headers-* paths

v1.2.0: Configurable & more robust clr-boot-manager

17 Jan 21:01
Compare
Choose a tag to compare
  • 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.
  • 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 and get-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.
  • 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

08 Nov 17:36
Compare
Choose a tag to compare

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

25 Jul 15:25
Compare
Choose a tag to compare

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