U-Boot and BTRFS

Does anyone know of a way to use BTRFS snapshots that work similar to grub-snapshot for ARM SBC’s? I would like to be able to use snapper to create snapshots and create a boot file with the changes so I can rollback possible mistakes I have made. Would something like this work with how NOOBS does their boot system?

I don’t know anything about U-boot but all that is needed to boot off a snapshot is to change the subvolume that is passed as a kernel option.

I have searched a lot and didn’t find anything even similar.
Also I don’t think raspberry pi default install uses uboot

The OP is talking about this. Das U-Boot i think?

The problem is the standard boot for RPI is a cmdline.txt file along with the config.txt to define what initrd image to use. This defeats the purpose as there can only be one and you don’t get to choose.

I am not 100% it is U-Boot, I am talking about how NOOBS boots different kernels. Instead of having different distros to boot, I would like to have a program(python/rust/perl…) that when I make a change to my system via pacman/yay snapper would create a snapshot and then said program would create a entry in the NOOBS style boot menu.

u-boot is removed when the linux-aarch64 Archlinux generic kernel is replaced with the linux-rpi Raspberry Pi Foundation kernel in the switch-kernel.sh script, lines 138 and 139

RPi64)    pacman -R --noconfirm linux-aarch64 uboot-raspberrypi
          pacman -Syu --noconfirm --needed linux-rpi raspberrypi-bootloader raspberrypi-firmware

https://github.com/endeavouros-arm/calamares-image/blob/main/switch-kernel.sh

Pudge

1 Like