Как загрузить ядро linux без загрузчика?

по умолчанию для загрузки образа bzImage ядра Linux необходимо использовать загрузчик. Если вы попытаетесь загрузить образ напрямую, он выдаст ошибку:

Booting from Hard Disk...
Direct booting from floppy is no longer supported.
Please use a boot loader program instead.
Remove disk and press any key to reboot . . .

в старых версиях Linux это было возможно с помощью:

make zImage

можно загрузить без загрузчик в новой версии ядра? Если да, то как?

14
задан Linger
09.01.2023 0:56 Количество просмотров материала 3579
Распечатать страницу

3 ответа

Это невозможно. По крайней мере, не с не такими уж старыми ядрами, которые не выкрашены.

У вас есть такие варианты:

  1. использовать загрузчик.
  2. использовать старую версию linux.
  3. взломать прямую загрузку (т. е. встроенный загрузчик) в исходный код ядра, чтобы он работал более или менее как загрузка с дискеты в старые времена.
1
отвечен Michael Slade 2023-01-10 08:44

Если у вас есть система на основе EFI, начиная с ядра Linux 3.3 прошивка может напрямую загружать и выполнять ядро.

1
отвечен Andreas Florath 2023-01-10 11:01

Если у вас есть EFI на основе и настроенной системы, вы можете скомпилировать или получить EFI включен ядро (https://wiki.archlinux.org/index.php/EFISTUB). Вы можете применить эти советы для большинства, если не все более поздние дистрибутивы. Я лично пробовал полную сборку Linux с нуля и базовое ядро с Busybox в initramfs (довольно бесполезно). Arch Linux работает как шарм.

либо используйте загрузчик EFI, такой как Grub или Clover, либо используйте способность EFISTUB ядра к непосредственно загрузите ядро и передайте команды ядра с помощью efi-переменной. Опять же, wiki Arch работала как шарм для меня.

Обратите внимание, я отключил Secureboot.

или, помимо различных загрузчиков, которые могут быть помещены в MBR или как optionrom, вы можете попробовать посмотреть на Coreboot (или libreboot) и сделать Linux полезной нагрузкой. Я считаю вариант EFISTUB самым простым, если ваша система его поддерживает. Вы можете также проверить, есть ли в системе какой-то bootmenu для переключение между ОС при загрузке и отключить secureboot.

1
отвечен CodeAsm 2023-01-10 13:18

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх