LINUX.ORG.RU

Загрузка ядра с особыми параметрами через efistub

 , ,


0

2

Решил попробовать загрузку без прослойки в виде граба и у меня назрела пара вопросов:

1. Как в непосредственно внутри ядра в «Built-in kernel command line» прописать параметры которые я юзаю в грабе GRUB_GFXMODE=auto и GRUB_GFXPAYLOAD_LINUX=keep, что бы это работало для Plymouth?

2. Как правильно грузить initramfs?

Пробовал делать так:

efibootmgr --create --part 1 --label "Gentoo" --loader '\efi\gentoo\gentoo.efi' -u 'initrd=\efi\gentoo\initramfs.img'
и так (gentoo.efi просто переименовал в linux)
efibootmgr -d /dev/sda -p 1 -c -L "Gentoo" -l /EFI/gentoo/linux -u "root=/dev/sda2 rw initrd=/EFI/gentoo/initramfs.img"
еще прописывал в самом ядре в «Built-in kernel command line»
initrd=/efi/gentoo/initramfs.img

Но в любом случае initramfs не подхватывается.

Точка монтирования EFI раздела: /boot/efi

Полный путь: /boot/efi/EFI/gentoo/@bootfile

3. Ранний старт plymouth вообще реально завести через efistub ?

4. Я в процессе завода initramfs наделал (и еще наделаю) кучу записей в NVRAM, насколько это чревато последствиями?

dmesg: https://pastebin.com/ryxwUueE



Последнее исправление: d-7 (всего исправлений: 3)

Как правильно грузить initramfs? Можно ли прописать его в «Built-in kernel command line» ?

Через efibootmgr или встроить в ядро.

прописать параметры которые я юзаю в грабе

Вот тут хз, это вроде специфичные для гроба вещи, если я не путаю.

полные от корня или от папки efi (/EFI/gentoo/linux.efi)

Папка - это который Римский? Ясен хрен от директории/каталога /EFI, если будешь использовать efibootmgr

Meyer ★★★★★
()

2. Проще весь initrd в ядро встроить. Genkernel с этим неплохо справляется. 4. Практически почти все реализации UEFI при каждой загрузке пишут туда. Т.е. если производитель поставил туда память не на 1000 перезаписей, то всё нормально, а если поставил, то проживёт на пару загрузок меньше.

anonymous
()
Ответ на: комментарий от anonymous

Пробовал смотреть в /sys/firmware/efi/efivars, я так понял что если я все под чистую там сотру, то придется нести ноут на программатор, верно ?

Почитай уже EFI stub kernel.

А ничего что команды из шапки от туда? initramfs не подхватывает. Работает только если встроить в ядро.

В принципе, меня метод встраивания initramfs устраивает, грузится то отлично, кроме одного момента - нужно 2 раза собирать ядро: первый раз обычная сборка ядра, потом создание initramfs на основе этого ядра и его модулей, и пересборка ядра со встраиванием свежей initramfs.

Есть способы сделать проще?

d-7
() автор топика

gentoo.efi просто переименовал в linux

Суффикс .efi в большинстве случаев обязателен.

Я в процессе завода initramfs наделал (и еще наделаю) кучу записей в NVRAM, насколько это чревато последствиями?

Ни насколько. Делаешь сброс или вручную (то есть через efibootmgr) удаляешь записи.

r3lgar ★★★★★
()
Ответ на: комментарий от d-7

Чтобы не плодить кучу записей, используй опцию редактирования существующей записи (можешь посмотреть в мане efibootmgr, как она зовётся), но всегда имей в запас одну рабочую, на всякий случай, чтобы постоянно не расчехлять live usb/cd. Степень износа NVRAM тот же, каши в голове — меньше.

r3lgar ★★★★★
()
27 сентября 2018 г.

у тебя очевидно в первом примере ошибка в пути к gentoo.efi. Просто исправить и будет работать.

QIQuJIunn ★★
()
Последнее исправление: QIQuJIunn (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.