Skip to content

Releases: clearlinux/clr-boot-manager

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

Cleanups and corrections

14 Jul 20:09
Compare
Choose a tag to compare

This version enabled type conversion warnings and with that changes to fix any type conversion problems (or make explicit correct conversions) were also added. This release also switched from using the host extlinux command (or whatever was in PATH) to explicitly the target extlinux command (as long as it is in /usr/bin/).