[РЕШЕНО] Загрузка непосредственно через UEFI (EFI stub kernel)

Сейчас UEFI грузит refind. Который уже грузит ядро. Хотелось бы избавится от этой прослойки.

Гугл подсказывает, что UEFI не может грузить initramfs. И даже есть несколько статей/руководств по установке. Которые объясняют как встроить initramfs в ядро. Но не в одном я не нашел как его создать...

Ссылки:
http://wiki.gentoo.org/wiki/EFI_stub_kernel
http://habrahabr.ru/post/165575/

Вопрос в том, как получить этот самый initramfs, а остальное уже по ходу дела.

libastral намекает, что ответ

libastral намекает, что ответ на твой вопрос следует искать в окрестностях http://www.gentoo.org/doc/en/initramfs-guide.xml

:wq
--
Live free or die

Спасибо. Не натыкался на эту

Спасибо. Не натыкался на эту статью. рамдиск получил. Осталось загрузиться...

Делаю:
1) Собираю ядро (через genkernel):
CONFIG_EFI_PARTITION=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_FB_EFI=y
CONFIG_EFI_VARS=y
CONFIG_INITRAMFS_SOURCE="/boot/initramfs.cpio"
CONFIG_CMDLINE="root=PARTUUID="540e9fd8-181d-433f-95de-9a6b8eb6b82a""
2) genkernel --install --no-ramdisk-modules initramfs
3) Снова собираю ядро (так и не понял как сразу получить рамдиск)
4) sudo cp /boot/kernel-genkernel-x86_64-3.7.4-gentoo /boot/efi/EFI/Boot/vmlinuz.efi
5) sudo efibootmgr --create --part 1 --label "Gentoo" --loader '\EFI\Boot\vmlinuz.efi

Получаю:

Activating mdev
Skipping module load no modules in the ramdisk!
Hint...
Determinating root device...
Block device PARTUUID="540e9fd8-181d-433f-95de-9a6b8eb6b82a" is not a valid root device...
Could not find root block device

Как обойти? Система на ext4.

.

RazrFalcon написал(а):
Спасибо. Не натыкался на эту статью. рамдиск получил. Осталось загрузиться...

А новости читать не пробовал?

RazrFalcon написал(а):
Делаю:
1) Собираю ядро (через genkernel):
CONFIG_EFI_PARTITION=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_FB_EFI=y
CONFIG_EFI_VARS=y
CONFIG_INITRAMFS_SOURCE="/boot/initramfs.cpio"
CONFIG_CMDLINE="root=PARTUUID="540e9fd8-181d-433f-95de-9a6b8eb6b82a""
2) genkernel --install --no-ramdisk-modules initramfs
3) Снова собираю ядро (так и не понял как сразу получить рамдиск)
4) sudo cp /boot/kernel-genkernel-x86_64-3.7.4-gentoo /boot/efi/EFI/Boot/vmlinuz.efi
5) sudo efibootmgr --create --part 1 --label "Gentoo" --loader '\EFI\Boot\vmlinuz.efi

Получаю:

Activating mdev
Skipping module load no modules in the ramdisk!
Hint...
Determinating root device...
Block device PARTUUID="540e9fd8-181d-433f-95de-9a6b8eb6b82a" is not a valid root device...
Could not find root block device

Как обойти? Система на ext4.

Ты очевидно не понимаешь сути выполняемых действий.

man genkernel
/label

:wq
--
Live free or die

Очевидно что не понимаю.

Очевидно что не понимаю. Иначе бы этой темы не было.

Новости читал. Если про CONFIG_DEVTMPFS, то он стоит.

UPD:

sudo genkernel --install --disklabel --no-ramdisk-modules initramfs

ничего не изменил

Да с таким выпендрёжем, как у

Да с таким выпендрёжем, как у тебя, не то что суть, и принцип действия не поймёшь. Если что-то понял сам, но не хочешь этим делиться, так и скажи. Много вас тут набралось, "истинных гентушников"...

Последнее предложение -

Последнее предложение - лишнее, заканчивай хамить.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Как далеко вы планируете

Как далеко вы планируете разбиратся с конфигурированием ядра?
Если вас это не пугает, рекомендую обратить внимание на опцию:

General setup  --->
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
        () Initramfs source file(s)

И соответственно почитать это -> file:///usr/src/linux/Documentation/early-userspace/README

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

С конфигурированием ядра я

С конфигурированием ядра я уже давно разобрался. А их сообщения выше:

CONFIG_INITRAMFS_SOURCE="/boot/initramfs.cpio"

Когда я более или менее

Когда я более или менее разобрался с конфигурированием ядра, мне показалось использование genkernel лишним.
Но вижу что не прав. Кстати, вы документацию, которая идет в поставке с исходниками ядра, читать пробовали?

Я типичный русский колхозник.
Долго запрягаю, быстро езжу и сильно торможу...

Нет. Не было необходимости.

Нет. Не было необходимости. Там есть ответ на мой вопрос?

Решил таки. Нужно было делать

Решил таки. Нужно было делать совсем не то что я делал.
Как оказалось встроенные initramfs и не нужен, достаточно такой записи в uefi:

echo 'root=UUID=34073059-bdf0-4b4a-9d85-16f3afdb0932 ro rootfstype=ext4 add_efi_memmap initrd=\EFI\gentoo\initramfs-gentoo.img' | iconv -f ascii -t ucs2 | efibootmgr -c -g -d /dev/sdb -p 1 -L "Gentoo" -l '\EFI\gentoo\vmlinuz-gentoo.efi' -@ -

В моем случае.

Зачем такие ухищрения, если

Зачем такие ухищрения, если можно в CONFIG_CMDLINE= добавить что-то вроде initrd=\EFI\gentoo\initramfs-gentoo.img
См Documentation/x86/efi-stub.txt и Documentation/kernel-parameters.txt

Можно и так. Результат

Можно и так. Результат вероятно тот же.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".