* [make-initrd] CLB 2 @ 2019-04-29 23:34 Michael A. Kangin 2019-04-30 12:35 ` Leonid Krivoshein 2019-04-30 12:48 ` [make-initrd] CLB 2 Leonid Krivoshein 0 siblings, 2 replies; 7+ messages in thread From: Michael A. Kangin @ 2019-04-29 23:34 UTC (permalink / raw) To: make-initrd Ура, у нас есть первая адаптация CLB под MI2: http://mak.complife.ru/MI2/clb.cpio Пока реализовано в виде дополнительной initramfs, совместимо с текущим initrd из master. Это преальфа, PoC и всё такое, но уже сейчас с его помощью можно полностью загрузить машину по сети. В частности, замечательно загружается squashfs, выдранный из regular-rescue: http://mak.complife.ru/MI2/rescue.squashfs Или, что приятнее, ливка из regular-xfce: http://mak.complife.ru/MI2/live.squashfs Леонид, что вы еще хотели от фичи liveboot? примерный initrd.mk: AUTODETECT = all FEATURES += network DISABLE_GUESS += ucode root MODULES_ADD += overlay squashfs loop (готовый initrd: http://mak.complife.ru/MI2/initrd-5.0.6-un-def-alt1.img) примерная cmdline: ip=eth0:dhcp4 clb_root=http://192.168.222.1/alt/rescue.squashfs Из замеченных общих минусов - перед переключением в общую систему стоит полностью гасить сеть. Иначе эффекты будут самые разнообразные - NM считает такой интерфейс unmanaged и не поднимает на нём подключение, rescue судя по всему вообще не инициализирует сеть (resolv.conf у него там очень весёлый внутри) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] CLB 2 2019-04-29 23:34 [make-initrd] CLB 2 Michael A. Kangin @ 2019-04-30 12:35 ` Leonid Krivoshein 2019-04-30 13:04 ` Michael A. Kangin 2019-04-30 12:48 ` [make-initrd] CLB 2 Leonid Krivoshein 1 sibling, 1 reply; 7+ messages in thread From: Leonid Krivoshein @ 2019-04-30 12:35 UTC (permalink / raw) To: make-initrd 30.04.2019 02:34, Michael A. Kangin пишет: > Ура, у нас есть первая адаптация CLB под MI2: > http://mak.complife.ru/MI2/clb.cpio > Поздравляю! > Пока реализовано в виде дополнительной initramfs, совместимо с текущим > initrd из master. > > Это преальфа, PoC и всё такое, но уже сейчас с его помощью можно > полностью загрузить машину по сети. > > В частности, замечательно загружается squashfs, выдранный из > regular-rescue: http://mak.complife.ru/MI2/rescue.squashfs > > Или, что приятнее, ливка из regular-xfce: > http://mak.complife.ru/MI2/live.squashfs > > Леонид, что вы еще хотели от фичи liveboot? > Вообще хотелось бы загрузки с флэшек, с CD/DVD и по сети в объёме пропагатора, а для начала хотя бы один из протоколов реализовать, типа NFS. И мы говорили, что это будет штатной фишкой make-initrd. В любом случае нужно время, чтобы посмотреть код и въехать. Мне это интересно в любом случае. Возможно, Алексей хотел бы это реализовать как-то иначе. > > > примерный initrd.mk: > AUTODETECT = all > FEATURES += network > DISABLE_GUESS += ucode root > MODULES_ADD += overlay squashfs loop > (готовый initrd: http://mak.complife.ru/MI2/initrd-5.0.6-un-def-alt1.img) > > > примерная cmdline: > ip=eth0:dhcp4 clb_root=http://192.168.222.1/alt/rescue.squashfs > > > Из замеченных общих минусов - перед переключением в общую систему > стоит полностью гасить сеть. Иначе эффекты будут самые разнообразные - > NM считает такой интерфейс unmanaged и не поднимает на нём > подключение, rescue судя по всему вообще не инициализирует сеть > (resolv.conf у него там очень весёлый внутри) Да, даже в пропагаторе убирали похожий баг. stage2 поднимает сеть с чистого листа. Фича network должна уметь перед переходом в stage2 опускать всё ранее поднятое. Но тогда как быть с сетевой загрузкой? Либо stage2 должен быть заточен под такой stage1, либо мы сначала выкачиваем из сети всё необходимое, потом опускаем сеть и тогда уже переходим в stage2. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] CLB 2 2019-04-30 12:35 ` Leonid Krivoshein @ 2019-04-30 13:04 ` Michael A. Kangin 2019-04-30 19:21 ` [make-initrd] Network-Manager (was: Re: CLB 2) Alexey Gladkov 0 siblings, 1 reply; 7+ messages in thread From: Michael A. Kangin @ 2019-04-30 13:04 UTC (permalink / raw) To: make-initrd 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... ^ permalink raw reply [flat|nested] 7+ messages in thread
* [make-initrd] Network-Manager (was: Re: CLB 2) 2019-04-30 13:04 ` Michael A. Kangin @ 2019-04-30 19:21 ` Alexey Gladkov 2019-04-30 22:31 ` [make-initrd] Network-Manager Leonid Krivoshein 2019-05-01 14:32 ` Michael A. Kangin 0 siblings, 2 replies; 7+ messages in thread From: Alexey Gladkov @ 2019-04-30 19:21 UTC (permalink / raw) To: make-initrd On Tue, Apr 30, 2019 at 03:04:12PM +0200, Michael A. Kangin wrote: > > Да, даже в пропагаторе убирали похожий баг. stage2 поднимает сеть с > > чистого листа. Фича network должна уметь перед переходом в stage2 > > опускать всё ранее поднятое. Но тогда как быть с сетевой загрузкой? Либо > > stage2 должен быть заточен под такой stage1, либо мы сначала выкачиваем > > из сети всё необходимое, потом опускаем сеть и тогда уже переходим в > > stage2. > > При кешировании образов в памяти - никаких проблем, опускаем сеть и > пусть stage2 само разбирается. > > А вот без кеширования, с NFS это может быть действительно интересно. > Возможно, из initrd стоит сгенерировать неких конфигов и подложить в > rootfs для stage2. Проблема в том, что мы не можем быть уверенными, чем > именно stage2 пользуется - etcnet, NM, systemd-networkd, whatever... Так может мне не париться и сразу использовать NM в initrd ? Я сделал фичу network поскольку не хотел писать конфигуратор сети. Мне нужна была замена ipconfig. FYI nm-initrd-generator(8) -- Rgrds, legion ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] Network-Manager 2019-04-30 19:21 ` [make-initrd] Network-Manager (was: Re: CLB 2) Alexey Gladkov @ 2019-04-30 22:31 ` Leonid Krivoshein 2019-05-01 14:32 ` Michael A. Kangin 1 sibling, 0 replies; 7+ messages in thread From: Leonid Krivoshein @ 2019-04-30 22:31 UTC (permalink / raw) To: make-initrd 30.04.2019 22:21, Alexey Gladkov пишет: > On Tue, Apr 30, 2019 at 03:04:12PM +0200, Michael A. Kangin wrote: >>> Да, даже в пропагаторе убирали похожий баг. stage2 поднимает сеть с >>> чистого листа. Фича network должна уметь перед переходом в stage2 >>> опускать всё ранее поднятое. Но тогда как быть с сетевой загрузкой? Либо >>> stage2 должен быть заточен под такой stage1, либо мы сначала выкачиваем >>> из сети всё необходимое, потом опускаем сеть и тогда уже переходим в >>> stage2. >> При кешировании образов в памяти - никаких проблем, опускаем сеть и >> пусть stage2 само разбирается. >> >> А вот без кеширования, с NFS это может быть действительно интересно. >> Возможно, из initrd стоит сгенерировать неких конфигов и подложить в >> rootfs для stage2. Проблема в том, что мы не можем быть уверенными, чем >> именно stage2 пользуется - etcnet, NM, systemd-networkd, whatever... > Так может мне не париться и сразу использовать NM в initrd ? NM громоздок, только для простых случаев и вообще только для десктопов. Etcnet в нынешнем виде тоже не годится. Но в природе существует другая его реализация by sem@ и для dual-stack dhcp можно подтянуть именно её. Хотя наверное такие навороты в initrd пока излишни. Жаль, нет поддержки виртуальных фич, которые умели бы единообразно понимать cmdline и предоставлять одно и то же, типа network. Тогда базовая реализация network by legion@ в initrd покрывала бы 95% общих потребностей, и отказываться от неё совершенно незачем, к тому же в дополнение к этой базовой реализации мы хотели со временем подтянуть диалоги конфигурирования сети. > Я сделал фичу network поскольку не хотел писать конфигуратор сети. Мне > нужна была замена ipconfig. > > FYI nm-initrd-generator(8) > -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] Network-Manager 2019-04-30 19:21 ` [make-initrd] Network-Manager (was: Re: CLB 2) Alexey Gladkov 2019-04-30 22:31 ` [make-initrd] Network-Manager Leonid Krivoshein @ 2019-05-01 14:32 ` Michael A. Kangin 1 sibling, 0 replies; 7+ messages in thread From: Michael A. Kangin @ 2019-05-01 14:32 UTC (permalink / raw) To: make-initrd On 04/30/2019 09:21 PM, Alexey Gladkov wrote: >>> Да, даже в пропагаторе убирали похожий баг. stage2 поднимает сеть с >>> чистого листа. Фича network должна уметь перед переходом в stage2 >>> опускать всё ранее поднятое. Но тогда как быть с сетевой загрузкой? Либо >>> stage2 должен быть заточен под такой stage1, либо мы сначала выкачиваем >>> из сети всё необходимое, потом опускаем сеть и тогда уже переходим в >>> stage2. >> >> При кешировании образов в памяти - никаких проблем, опускаем сеть и >> пусть stage2 само разбирается. >> >> А вот без кеширования, с NFS это может быть действительно интересно. >> Возможно, из initrd стоит сгенерировать неких конфигов и подложить в >> rootfs для stage2. Проблема в том, что мы не можем быть уверенными, чем >> именно stage2 пользуется - etcnet, NM, systemd-networkd, whatever... По умолчанию нужно стараться сеть класть. Такое поведение и предпочтительнее, и будет покрывать подавляющее большинство сценариев использования. Сеть нужно сохранять только в случаях, когда rootfs смонтировано непосредственно по сети (iSCSI (iBFT), NFS, допустим CIFS), или если образ rootfs не кешируется, и монтируется непосредственно с сетевой шары. Это скорее всего будут довольно редкие случаи, и думается, пусть основная система сама разбирается, как ей обходиться с этими интерфейсами - попытка предугадать все возможные сценарии в initrd скорее всего будет трудоёмка и безблагодатна. Как решать, нужно ли оставлять сеть - спец. параметром, или угадывать на основе используемых фич, видно будет. Может, фича может заказать это, выставив какую-то переменную. То, что интерфейс выглядит unmanaged, может даже и правильно - начнёшь менеджить, рут отвалится. Из основной системы надо будет обязательно проверить, корректно ли продлевается DHCP-лиза, и нормально ли подхватываются переименованные интерфейсы. > > Так может мне не париться и сразу использовать NM в initrd ? > > FYI nm-initrd-generator(8) А это "an early instance of NetworkManager" - оно сколько всего за собой потянет? И насколько пристойно будет выглядеть внутри initrd? Я что-то боюсь этого монстра, а главное, пока не вижу чем бы это помогло решить проблемы с наследованием сети в основной системе. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [make-initrd] CLB 2 2019-04-29 23:34 [make-initrd] CLB 2 Michael A. Kangin 2019-04-30 12:35 ` Leonid Krivoshein @ 2019-04-30 12:48 ` Leonid Krivoshein 1 sibling, 0 replies; 7+ messages in thread From: Leonid Krivoshein @ 2019-04-30 12:48 UTC (permalink / raw) To: make-initrd 30.04.2019 02:34, Michael A. Kangin пишет: > Леонид, что вы еще хотели от фичи liveboot? > Перечитал ещё раз на ВиКи про Colaboot. Концептуально -- да, очень близко и даже интересно. Нужно время, чтобы пощупать и разобраться. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-05-01 14:32 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-29 23:34 [make-initrd] CLB 2 Michael A. Kangin 2019-04-30 12:35 ` Leonid Krivoshein 2019-04-30 13:04 ` Michael A. Kangin 2019-04-30 19:21 ` [make-initrd] Network-Manager (was: Re: CLB 2) Alexey Gladkov 2019-04-30 22:31 ` [make-initrd] Network-Manager Leonid Krivoshein 2019-05-01 14:32 ` Michael A. Kangin 2019-04-30 12:48 ` [make-initrd] CLB 2 Leonid Krivoshein
Make-initrd development discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \ make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com public-inbox-index make-initrd Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.make-initrd AGPL code for this site: git clone https://public-inbox.org/public-inbox.git