[make-initrd] CLB 2

Michael A. Kangin mak at complife.ru
Tue Apr 30 16:04:12 MSK 2019


On 04/30/2019 02:35 PM, Leonid Krivoshein wrote:

>> Леонид, что вы еще хотели от фичи liveboot?
> Вообще хотелось бы загрузки с флэшек, с CD/DVD и по сети 

Это поддерживается, при необходимых модулях
Можно обращаться к устройствам по их именам в /dev, по UUID и LABEL

> в объёме пропагатора, 

там какой-то специальный объём или требования?

> а для начала хотя бы один из протоколов реализовать, типа 
> NFS. 

Для NFSа нужно будет немного дописать функциональность (когда понятно 
будет, как фичи в ряд выстраиваться должны).
Прочие протоколы (http/https/tftp) должны работать и сейчас.

curl там еще imap поддерживает, но я не пробовал %)

Мне кажется, еще интересным было бы поддерживать iSCSI, но там вроде 
ничего специального не требуется - блочное устройство как блочное 
устройство...

CIFS, надеюсь, в initrd не нужен?


> И мы говорили, что это будет штатной фишкой make-initrd. В любом 
> случае нужно время, чтобы посмотреть код и въехать. Мне это интересно в 
> любом случае. Возможно, Алексей хотел бы это реализовать как-то иначе.

Программист я не настоящий, так что код там сугубо любительский.
Наверное, сейчас хорошее время редизайнить его, libshell может быть 
заиспользовать..

>> Из замеченных общих минусов - перед переключением в общую систему 
>> стоит полностью гасить сеть. Иначе эффекты будут самые разнообразные - 
>> NM считает такой интерфейс unmanaged и не поднимает на нём 
>> подключение, rescue судя по всему вообще не инициализирует сеть 
>> (resolv.conf у него там очень весёлый внутри)
> 
> Да, даже в пропагаторе убирали похожий баг. stage2 поднимает сеть с 
> чистого листа. Фича network должна уметь перед переходом в stage2 
> опускать всё ранее поднятое. Но тогда как быть с сетевой загрузкой? Либо 
> stage2 должен быть заточен под такой stage1, либо мы сначала выкачиваем 
> из сети всё необходимое, потом опускаем сеть и тогда уже переходим в 
> stage2.

При кешировании образов в памяти - никаких проблем, опускаем сеть и 
пусть stage2 само разбирается.

А вот без кеширования, с NFS это может быть действительно интересно.
Возможно, из initrd стоит сгенерировать неких конфигов и подложить в 
rootfs для stage2. Проблема в том, что мы не можем быть уверенными, чем 
именно stage2 пользуется - etcnet, NM, systemd-networkd, whatever...


More information about the Make-initrd mailing list