Email or username:

Password:

Forgot your password?
AkhIL

Похоже на то, что #archlinux не умеет работать с откатами #snapper .
В /etc/grub.d/10_linux захардкожено прописывать подтом для корня, хотя снаппер предполагает что будет монтироваться подтом выставленный им как подтом по умолчанию при откате.

Пока выпилил проблемный кусок кода. Думаю поныть на форуме да в багтрекере.

На арч форумах везде рекомендуют вручную делать откаты, но снаппер-то удобнее!

6 comments
AkhIL

Пока вот так починил /etc/grub.d/10_linux:

case x"$GRUB_FS" in
xbtrfs)
rootsubvol="`make_system_path_relative_to_its_root /`"
rootsubvol="${rootsubvol#/}"
# Use default subvolume in case of snapper's rollback is used
if [ "x${rootsubvol##*/}" != xsnapshot ] && [ "x${rootsubvol}" != x ]; then
GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
fi;;
xzfs)
rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
bootfs="`make_system_path_relative_to_its_root / | sed -e "s,@$,,"`"
LINUX_ROOT_DEVICE="ZFS=${rpool}${bootfs%/}"
;;
esac

Если обнаруженный подтом корня заканчивается на /snapshot, то не добавляем параметры ядра с ним.

Пока вот так починил /etc/grub.d/10_linux:

case x"$GRUB_FS" in
xbtrfs)
rootsubvol="`make_system_path_relative_to_its_root /`"
rootsubvol="${rootsubvol#/}"
# Use default subvolume in case of snapper's rollback is used
if [ "x${rootsubvol##*/}" != xsnapshot ] && [ "x${rootsubvol}" != x ]; then
GRUB_CMDLINE_LINUX="rootflags=subvol=${rootsubvol} ${GRUB_CMDLINE_LINUX}"
fi;;
xzfs)
rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2>/dev/null || true`
bootfs="`make_system_path_relative_to_its_root...

Cyrmax

@akhil Интересно, как дела обстоят с #systemd_boot. Возможно он ведёт себя по-другому. Хотя я и снаппером никогда не пользовался, так что тут просто накидываю рандомные идеи без чёткого понимания происходяещго.

AkhIL

@cyrmax systemd-boot не хочу потому как snapper генерирует пункты меню граб, позволяющие загружаться из снапшотов.

Cyrmax

@akhil Ааааа вот оно что! Вообще звучит крайне сочно. Только вслепую увы неюзабельно, ибо озвучивание менюшек граба скринридером ещё не придумали.

AkhIL

@cyrmax но я попробую, в виртуалке

AkhIL

@cyrmax #systemd_boot можно научить грузить снепшоты, достаточно накидать хуков для #snapper чтобы те генерировали пункты меню, но из коробки таких хуков нет.

А вот #rEFInd клянётся что умеет снепшоты сам по себе.

И да, systemd_boot в #archlinux , так же как и #grub2 , прибит намертво корнем к подтому в конфигах и не позволяет загружаться с корня прописанного как корень по умолчанию в самой файловой системе.

Go Up