LINUX.ORG.RU

EFI_STUB не работает?

 ,


0

4

Собираю ядро с опцией EFI_STUB. Пробовал последнее gentoo-sources и последнее hardened-sources. bzImage, который собирается в итоге, видится через file как Linux kernel x86 boot executable bzImage. А bootx64.efi, лежащий на livedvd - PE32 executable (EFI application), как и должно быть. В чем дело? CONFIG_EFI_STUB сдохла, а я провтыкал новости об этом?

Странно, очень странно. Достаточно CONFIG_EFI и CONFIG_EFI_STUB врубить, чтобы все работало. Можно взглянуть на полный конфиг ядра?

Meyer ★★★★★
()

Ядро должно лежать в /efi/boot/bootx64.efi или в /efi/microsoft/boot/bootmgfw.efi

Ещё иногда бывает нестандартный 32бит efi, там bootx32.efi и загрузчик 32бит.

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

Ядро должно лежать в /efi/boot/bootx64.efi или в /efi/microsoft/boot/bootmgfw.efi

\EFI\Boot\bootx64.efi же. Там же что-то похожее на DOS с гуем. Но я думал, ТС и сам это знает.

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

Да без разницы, где оно лежит, лишь бы в NVRAM был указан путь.

Автору темы можно посоветовать включить мозг и перестать ориентироваться на вывод file.

anonymous
()

bzImage, который собирается в итоге, видится через file как Linux kernel x86 boot executable bzImage. А bootx64.efi, лежащий на livedvd - PE32 executable (EFI application)

через file

Причем тут file? Просто поставь его на загрузку из EFI. С точки зрения file всё верно - просто на bzImage можно «посмотреть» с разных сторон, это и «Linux kernel x86 boot executable bzImage», и «PE32 executable» - file решил вывести первое.

jcd ★★★★★
()

Недавно собирал два ядра с efi stub - полёт нормальный, грузится.

jcd ★★★★★
()
Ответ на: комментарий от Meyer

Это смотря откуда работать с разделом.

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

Meyer: Достаточно CONFIG_EFI и CONFIG_EFI_STUB врубить, чтобы все работало. Можно взглянуть на полный конфиг ядра?

Почти умолчальный конфиг и того, и другого ядра. Включал EFI_STUB, EFI_VARS, EFIFB, EARLY_PRINTK_EFI. Выложу один из вариантов чуть позже. Сейчас нет задачи загрузиться, нужно только увидеть живое ядро и командную строку бизибокса. А пока только черный экран.

anonymous: Ядро должно лежать в /efi/boot/bootx64.efi или в /efi/microsoft/boot/bootmgfw.efi Ещё иногда бывает нестандартный 32бит efi, там bootx32.efi и загрузчик 32бит.

Там и лежит, все по стандарту. Раздел типа ef00, fat32, 60МБ. EFI 64-битный. Вообще на этом аппарате в гуе EFI можно указать нужный файл и сразу подписать его для secureboot, так что вопрос путей и названий можно опустить. Acer X349, если что.

anonymous: Автору темы можно посоветовать включить мозг и перестать ориентироваться на вывод file.

Вообще справедливо, посмотрел хексдампом оба файла - MZ есть и там, и там. А дальше начинаются различия. Но пока дальше сильно не заглядывал, лениво разбирать спецификации заголовков мс.

В общем, проблема в том, что ноут виснет на заставке ACER, командную строку не отдает. Ругани EFI на отсутствующий или неверный файл нет. На Ctrl-Alt-Del не реагирует, хотя при загруженном бизибоксе вроде должен. initrd простейший, на борту только бизибокс, в ините монтируются dev proc и sys, а дальше вызывается busybox sh. Не понимаю, где там можно ошибиться.

ruby-con
() автор топика
Ответ на: комментарий от Meyer

А что с ним может быть? В конфиге включены FB_EFI и на всякий случай FB_SIMPLE. Остальные выключены. Пробовал оставлять только FB_EFI. Тот же результат.

ruby-con
() автор топика
% file /usr/src/linux-4.10.3-gentoo/arch/x86/boot/bzImage
/usr/src/linux-4.10.3-gentoo/arch/x86/boot/bzImage: Linux kernel x86 boot executable bzImage, version 4.10.3-gentoo (root@nightmare) #1 SMP Fri Mar 17 12:11:19 +05 2017, RO-rootFS, swap_dev 0x4, Normal VGA

Всё у тебя нормально.

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

Да, в последнем конфиге не включено. Но раньше было включено, не помогало. Попробую ещё раз.

ruby-con
() автор топика
Ответ на: комментарий от r3lgar

Всё кроме вывода в консоль, которого нет. А так да, уже разобрался.

ruby-con
() автор топика

После последней сборки ядра 1 раз из 5 увидел панику ядра. Так обрадовался, что не додумался сфотографировать экран.

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

ruby-con
() автор топика
$> file /boot/efi/EFI/Boot/vmlinuz.efi 
/boot/efi/EFI/Boot/vmlinuz.efi: Linux kernel x86 boot executable bzImage, version 4.10.1-gentoo (root@) #1 SMP PREEMPT Sun Mar 5 20:58:25 +10 2017, RO-rootFS, swap_dev 0x3, Normal VGA
eternal_sorrow ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.