[devel] Запрос на фичу liveboot в make-initrd

Alexey V. Vissarionov gremlin на altlinux.org
Ср Апр 11 10:45:42 MSK 2018


On 2018-04-10 22:49:30 +0300, Leonid Krivoshein wrote:

 > propagator был написан в конце 90-х на Си. Он прописывается в
 > initramfs и обеспечивает функционал начальной стадии загрузки:
 > поиск корня Инсталлятора, LiveCD, Rescue, итд., в соответствии
 > с указанными параметрами загрузки ядра, по результату диалога с
 > пользователем, либо включая внутренний интеллект. Даже самые
 > последние исправления не помогли устранить его врождённых
 > дефектов: он продолжает "терять" флэшки на этапе загрузки даже
 > не на самом новейшем оборудовании.

Коллеги, а вот кто может внятно объяснить, зачем вообще может быть
нужен initrd при загрузке с локального носителя (непосредственно
подключенного к компутеру)?

Когда загрузка происходила с двух дискет, на первой из которых
было основательно выпотрошенное ядро (чтобы поместилось в 1.2 Мб),
а на второй образ initrd с модулями (опять же, не со всеми, а
только для поддержки накопителей и сетевых карт) - да, это было
не просто оправдано, а единственным доступным решением. Я так в
1994 году слакварь на 486SX/4/210 ставил :-)

Когда появилась возможность загружаться с компакт-дисков (через
ElTorito, то есть в режиме эмуляции дискеты объемом 2.88 Мб) -
стало чуть полегче, но и этот объем приходилось тратить на модули
поддержки накопителей, ибо CD-приводы тех времен подключались не
только к IDE (как большинство тогдашних жестких дисков), но и ко
всяким экзотическим интерфейсам - например, звуковым картам или, в
более простых случаях, к SCSI-контроллерам и параллельным портам.

Где-то на рубеже веков произошли два события, которые папа Карла
(Маркс, разумеется) назвал бы переходом количества в качество:
во-первых, существенно подешевела память, а во-вторых очередной
периферийный интерфейс обрел очередную функцию - к еще недавно
"никакому" USB стало возможно подключать блочные устройства и
загружаться с них точно так же, как с жестких дисков.

Собственно, именно с этого момента появилась возможность собирать
ядро со вкомпилированной поддержкой самых популярных накопителей
и сетевых интерфейсов, а технология initrd переместилась на новое
место работы: сетевая загрузка Live-системы. А что, когда памяти
аж 256 Мб - почему бы не отдать половину под / на /dev/ram0 для
запуска установки или rescue-системы?

"Какое, милые, у нас \n Тысячелетье на дворе?"

Когда я задал вышепроцитированный вопрос Бориса Леонидыча команде
`date +%Y`, она выдала ответ "2018". То есть, родившиеся на ранее
упомянутом "рубеже веков" люди уже выросли и даже закончили школу,
а у нас до сих пор при локальной загрузке используется initrd...

Фу.

 > Добавлю от себя лично: в пакете propagotor есть два особенных
 > скрипта. Первый init-bottom "очень дорог для нас". И критичен
 > в плане совместимости. Его бы как-то по-максимуму сохранить.
 > Второй -- mkmodpack. О нём в данном письме речи не идёт.

А зачем?

Грузим ядро, оно находит корневой раздел по метке, монтирует его,
запускает init... Зачем для этого какие-то костыли?


-- 
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20180411/9fb16f31/attachment.bin>


Подробная информация о списке рассылки Devel