Как я победил ошибку rEFInd с Arch Linux после обновления ядра

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Описание ситуации

После обычного обновления Arch Linux с помощью pacman (хотя чаще я обновляюсь с помощью yay) система обновила ядро, и загрузчик rEFInd начал выдавать ошибку:

Not a valid image

Причина в том, что rEFInd смотрит на файлы в:

/boot/EFI/refind

А pacman или yay туда не копируют обновлённое ядро автоматически.
В итоге rEFInd видит старый или некорректный файл.


Что я сделал

Я написал скрипт и подключил его через pacman hook, чтобы файлы автоматически копировались после каждого обновления пакета linux.


Скрипт: /etc/pacman.d/hooks/copy-kernel.sh

#!/bin/bash
if ! mountpoint -q /boot; then
echo "/boot is not mounted, skipping kernel copy" >&2
exit 0
fi
cp -v /usr/lib/modules/$(uname -r)/vmlinuz /boot/EFI/refind/vmlinuz-linux
cp -v /boot/initramfs-linux.img /boot/EFI/refind/initramfs-linux.img
cp -v /boot/initramfs-linux-fallback.img /boot/EFI/refind/initramfs-linux-fallback.img


Хук: /etc/pacman.d/hooks/copy-kernel.hook

[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = linux

[Action]
Description = Copying kernel and initramfs to EFI partition...
When = PostTransaction
Exec = /etc/pacman.d/hooks/copy-kernel.sh


Почему так происходит

Когда pacman или yay обновляют пакет linux, новые файлы ядра и initramfs кладутся в:

/boot

Но если rEFInd настроен смотреть в:

/boot/EFI/refind

он не находит там свежие файлы, потому что pacman их туда не копирует.

В результате после перезагрузки rEFInd может показывать:

Not a valid image

или просто не загружать систему.


Как это решает проблему

Hook срабатывает после завершения pacman, вызывая мой скрипт, который:

  • Проверяет, смонтирован ли /boot,

  • Копирует свежие файлы ядра и initramfs в нужное место, которое использует rEFInd.

После этого при следующей перезагрузке rEFInd видит актуальные образы, и система загружается без ошибок.


Источник: https://habr.com/ru/articles/908248/


Интересные статьи

Интересные статьи

Первоначальная документация YDB, опубликованная в рамках open-source запуска в 2022 году, имела структуру, на которую в значительной степени повлиял закон Конвея. Создание проекта с открытым...
На форуме разработчиков Битрикс был опубликована запись о злоумышленниках, которые добавляют скрипты на страницы сайтов. Рекомендации, как переиграть негодяев, ниже.
В этом году мы с семьей решили провести лето в Марокко. Мы провели около месяца в Агадире на юге страны, еще примерно месяц в Рабате, столице, и потом еще немного в Марракеше. В этой статье я расскажу...
Одна из самых важных (на мой взгляд) функций в Битрикс24 это бизнес-процессы. Теоретически они позволяют вам полностью избавиться от бумажных служебок и перенести их в эл...
Довольно часто владельцы сайтов просят поставить на свои проекты индикаторы курсов валют и их динамику. Можно воспользоваться готовыми информерами, но они не всегда позволяют должным образом настроить...