v2.1.1
Release 2.1.1
This major new release of Elemental Toolkit includes support for BTRFS and Snapper based snapshots as a key feature. This encompasses a major refactor of how OS images are managed and laid out into disk. While it is possible to upgrade from an old image to a new image based on Elemental toolkit v2, it is not possible to downgrade.
What's Changed
- Add installer test by @davidcassany in #1851
- Improve CI stability by @davidcassany in #1843
- Update release workflow by @frelon in #1850
- Move recovery hostname to cloud-config-defaults by @frelon in #1852
- Configurable build-disk deploy command by @frelon in #1853
- Remove existing file during build-disk by @frelon in #1857
- Update golang.org/x/net dependency by @frelon in #1860
- Add basic support for RISC-V 64bit architecture by @ldevulder in #1856
- Add target for rpi disk by @frelon in #1859
- Refactor grub as a bootloader interface by @davidcassany in #1867
- Fix initrd and kernel ISO paths by @davidcassany in #1869
- Log errors of runner commands only in debug mode by @davidcassany in #1870
- Add other example distros by @davidcassany in #1868
- Bump yip by @davidcassany in #1872
- Add force flag in systemd-firstboot yip's plugin by @davidcassany in #1873
- Refactor early system mounting by @frelon in #1866
- Update go in build-docs action by @frelon in #1877
- Wrap mount.Interface to our own interface by @davidcassany in #1875
- Add btrfs support in partitioner by @davidcassany in #1878
- Fix RISCV64 (VisionFive2) Tumbleweed example build by @ldevulder in #1871
- Do not run CI on pushes to main, the test already happens on the PR by @davidcassany in #1881
- Make network configuration part of the example, not defaults by @davidcassany in #1876
- Rename overlay -> ephemeral mounts by @frelon in #1880
- Add backwards-compatibility for liveCD detection by @frelon in #1879
- Cleanup caches when PR is closed by @frelon in #1882
- Refactor some elemental package methods to be used as stand alone functions by @davidcassany in #1883
- Drop elemental object and make elemental methods stateless by @davidcassany in #1884
- Load mount-layout from .env-files by @frelon in #1885
- Provide early boot systemd unit files within the associated dracut module by @davidcassany in #1886
- Changes to cleanup-cache workflow by @frelon in #1887
- Add disable-boot-entry flag to reset-command by @frelon in #1888
- Change trigger to pull_request_target by @frelon in #1889
- Adding new snapshotter interface by @davidcassany in #1890
- Split arm and x86_64 tests by @davidcassany in #1892
- Add loopdevice implementation by @davidcassany in #1891
- Add default cloud-init-paths to build commands by @frelon in #1893
- Update github.com/go-git/go-git to v5.11.0 by @frelon in #1894
- Update copyright year (2024) by @frelon in #1899
- Change default rootfs feature by @frelon in #1900
- Fix partitions typo by @frelon in #1902
- Move grub-config to /etc/elemental by @frelon in #1903
- Mount readonly EFI partition to /run/elemental/efi by @frelon in #1905
- Include SUT utilities within the repository by @davidcassany in #1908
- Bump twpayne/vfs module to latest version by @davidcassany in #1909
- Install grub.cfg into EFI System Partition by @frelon in #1904
- Use v1.3.0 as upgrade base image by @frelon in #1910
- Bind mount /oem in elemental-setup-initramfs by @frelon in #1912
- Improve support for old boot arguments by @davidcassany in #1915
- Use rancher/yip v1.4.8 by @frelon in #1916
- Update dependencies by @frelon in #1917
- Include elemental partitions in mount command by @davidcassany in #1918
- Test that persistence is working by @frelon in #1919
- This commit does removes the assumption of a boot folder (/boot) just for grub setup by @davidcassany in #1920
- Refactor to switch to snapshotter interface by @davidcassany in #1906
- Add dependabot config by @frelon in #1929
- Bump the go_modules group across 1 directories with 1 update by @dependabot in #1932
- Remove BindMount for /oem in initramfs stage by @frelon in #1934
- Bump yip to v1.4.10 by @frelon in #1926
- Add back the BindPath for /oem by @frelon in #1935
- Bump github actions by @frelon in #1933
- Install podman in example Dockerfiles by @frelon in #1931
- Prevent unnecessary copy of image tree to tmp folder by @davidcassany in #1938
- Add Volumes in Mount spec by @davidcassany in #1937
- Remove references to old ACTIVE and PASSIVE images by @davidcassany in #1943
- Make linter happy by @frelon in #1947
- Add formatting to log message by @frelon in #1948
- Bump the go_modules group across 1 directories with 1 update by @dependabot in #1936
- Use at least xorriso 1.5.6 by @frelon in #1951
- Use go 1.22 by @frelon in #1942
- Umount OEM before switching root by @davidcassany in #1952
- Workflow toolkit by @frelon in #1946
- Add types for pull_request_target by @frelon in #1954
- Toolkit needs by @frelon in #1956
- Improved upgrade test by @frelon in #1960
- Embed file permissions for features by @frelon in #1961
- Move elemental services to /etc by @frelon in #1962
- Fix docs publishing error by @frelon in #1963
- Btrfs snapshotter implementation by @davidcassany in #1957
- Build toolkit on nightly by @frelon in #1965
- Use backup legacy grub.cfg location by @frelon in #1967
- Regenerate docs by @frelon in #1968
- Remove tumbleweed dracut patches by @frelon in #1964
- Make snapshotter root dynamic based on the reported mountpoint by @davidcassany in #1971
- Ensure /run/elemental/efi is RW for upgrades by @davidcassany in #1976
- Fix regression introduced in 547cb93 by @davidcassany in #1977
- Relay on the snapshotter setup of the installed system for upgrades by @davidcassany in #1979
- Fix env vars for upgrade install by @davidcassany in #1980
- Fix grub setup to properly set fallback by @davidcassany in #1981
- Add upgrade-recovery subcommand by @anmazzotti in #1974
- Keep previous behavior for persistent binded paths by @davidcassany in #1984
- Add support to /dev/disk/by-path device reference by @fgiudici in #1986
- Adding snapshotter.type flag install command by @davidcassany in #1987
- fix broken link in docs by @furlongm in #1985
- Image variable includes full image path already by @davidcassany in #1989
- Fix Recovery only upgrades by @anmazzotti in #1988
- Do not migrate legacy images if snapshots are already present by @davidcassany in #1990
- Adding debug messages for snapper configuration by @davidcassany in #1991
- Make ext2 the default FS for recovery on disks by @davidcassany in #1995
- Fix build-disk action unit tests by @davidcassany in #1997
- Fix racy workflows by @frelon in #1996
- Align sysroot mount options with SLE Micro, which in turn is applying… by @davidcassany in #1998
- bump elemental-toolkit to v2 by @davidcassany in #1969
- Fix unterminated quoted string by @frelon in #1999
- Update v2 linker args by @frelon in #2000
- Switches tests to Ubuntu and KVM for tests by @davidcassany in #2001
- Use v2.0.0 reference image for tests by @davidcassany in #2003
- Fix downgrade tests, there are no hooks when upgrading from passive by @davidcassany in #2004
- Bump google/go-containerregistry by @frelon in #2005
- Bump github.com/docker/docker from 24.0.0+incompatible to 24.0.7+incompatible by @dependabot in #2006
- Remove deprecated feature immutable-rootfs by @frelon in #2007
- Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 by @dependabot in #2009
- Remove flaky assert in downgrade test by @frelon in #2012
- Use elemental instead of cos by @frelon in #2014
- Change location of bootargs.conf by @frelon in #2013
- Extract recovery kernel by @frelon in #2016
- Bump github.com/docker/docker from 24.0.7+incompatible to 24.0.9+incompatible by @dependabot in #2020
- Fix passive snapshots listing in grub.cfg by @davidcassany in #2022
- Test qemu secure boot by @frelon in #2017
- Use ContainSubstring in secure boot test by @frelon in #2023
- make configurable boot-assessment checks by @davidcassany in #2018
- Update github.com/canonical/go-efilib by @frelon in #2019
- docs: fix build-iso example by @fgiudici in #2026
- Skip symlink if kernel already exists by @frelon in #2028
- Iterate over passive snapshots on boot-assessment by @davidcassany in #2027
- Fix doc typo by @anmazzotti in #2029
- Backwards compatible recovery boot configuration by @frelon in #2030
- Fix the fix by @frelon in #2033
- Wait for relevant elemental init stages by @davidcassany in #2034
- Remove empty mount paths by @frelon in #2036
- Change description of boot assessment service by @frelon in #2037
- Snapshottable recovery system by @frelon in #2032
- Backport squashfs improvements to v2.1.x by @frelon in #2044
- [backport] Remove pre-existing Elemental initrds by @davidcassany in #2096
- [backport] CI refactor to v2.1.x branch by @davidcassany in #2146
- [backport] Disable boot entry if efivars is read-only (#2059) by @davidcassany in #2145
New Contributors
- @ldevulder made their first contribution in #1856
Full Changelog: v1.1.6...v2.1.1