LINUX.ORG.RU

А нужен ли загрузчик?

 , , ,


0

2

Есть такая штука — bootloader (LILO, isolinux, grub, а на не-x86 U-Boot, RedBoot и другие). Так вот: моя идея в том, что с повсеместным внедрением UEFI эта самая штука (бутлоадер) стала ненужной.
У меня нет ни одной материнской платы с UEFI, но я почитал про принципы работы и отличия от традиционного BIOS.
Насколько я понял, UEFI умеет грузить ядро безо всякого загрузчика. Это так? Почему так не делают?

★★★★★

Последнее исправление: CYB3R (всего исправлений: 1)

Это так?

Нет.

Почему так не делают?

Для настройки загрузчика придется лезть в UEFI этот? Не нужно.

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

И часто ты настраиваешь загрузчик? Один раз скормить UEFI этому конфиг, где сказано как ядро называется, в файловой системе какого типа и где оно лежит и с какими параметрами его грузить. Всё.

CYB3R ★★★★★
() автор топика

Это так?

Да, man efistub.

Почему так не делают?

Потому что:
1) Привыкли к Grub
2) Чтобы загрузиться в венду или другой линукс придется залезать в диспетчер загрузок UEFI (нажимать F# при загрузке компьютера, чтобы вызвать его).

Andrew ★★★
()
Последнее исправление: Andrew (всего исправлений: 1)

Насколько я понял, UEFI умеет грузить ядро безо всякого загрузчика. Это так?

Да. Читай про efistub

Почему так не делают?

Делают. Правда для этого нужно копировать ядро на efi раздел.

Lamppost ★★
()

Кстати, вот видео как грузится Arch с efistub. Тогда емнип systemd в арче не было.

Andrew ★★★
()
Последнее исправление: Andrew (всего исправлений: 2)

Сложнее передавать параметр ядру. Хотя, можно попробовать сделать 2 пункта: загрузка сразу ядра или через загрузчик.

Towelie
()

Пробовал. Не получилось (нужен склад костылей для этой цели, причем сама загрузка становится гораздо дольше)

farzeet ★★
()

Так вот: моя идея в том, что с повсеместным внедрением UEFI эта самая штука (бутлоадер) стала ненужной.

Да. Равно как и для coreboot есть payload, который осуществляет загрузку.

quantum-troll ★★★★★
()
Ответ на: комментарий от kostik87

Это я знаю, но как-нибудь быстро изменить в таком случае нельзя, только перекомпиляция.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от quantum-troll

Про coreboot читал, но поддержка нового железа никакая.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от kostik87

Параметры типа vga=... или nomodeset. А также всякий splash и прочее.

CYB3R ★★★★★
() автор топика

1. да. всё верно.
2. потому, что нужно всякие rescue делать пункты и держать разные ядра. так же иногда нужно давать некоторые параметры к ядру ручками

i_gnatenko_brain ★★★★
()

Почему так не делают?

Начался бы бугурт со стороны всяких менуэтчиков и хайкушников?

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

Они не осилили компиляцию EFI-capable ядра (или как это там делается)?
Патчи им отправить что ли?

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

Патчи им отправить что ли?

А вдруг они религиозно неверные?
Я, кстати, юзал менуэт

Deleted
()
4 сентября 2014 г.
Ответ на: комментарий от anonymous

Для настройки загрузчика придется лезть в UEFI этот? Не нужно

наоборот очень удобно было бы настраивать через графический интерфейс без необходимости подключения носителей.
Проблема только в малом количестве циклов чтения/записи EEPROM. Эту проблему можно решить:
1) выделить файл конфигурации.
2) информацию об устройстве, где файл лежит, хранить в CMOS
3) при загрузке читать файл конфигурации с указанного устройства

Тут возникает вопрос, какой размер в байтах у современных CMOS?
512 байт, говорит википедия («The typical NVRAM capacity is 512 bytes, which is generally sufficient for all BIOS settings»)

Indaril_Shpritz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.