* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd @ 2019-04-23 13:00 ` Michael Shigorin 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 1 reply; 15+ messages in thread From: Michael Shigorin @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов, Leonid Krivoshein On Wed, Apr 25, 2018 at 02:12:31PM +0200, Alexey Gladkov wrote: > > > > На вчерашнее совещание я не попал, но на том, что было две > > > > недели назад, говорили о пропагаторе в том же ключе. Вопрос > > > > острый, хотим решить до P9. > > > Когда будет P9 ? > > По прикидкам -- летом. > К этому сроку нормально переделать propagator получится разве > что при наличии активной помощи. Давайте ещё arseny@ к переписке подключим. -- ---- WBR, Michael Shigorin / http://altlinux.org ------ http://opennet.ru / http://anna-news.info ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd Michael Shigorin @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 0 siblings, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Michael Shigorin, Alexey Gladkov Cc: Андрей Черепанов Добрый день! 25.04.2018 18:44, Michael Shigorin пишет: > On Wed, Apr 25, 2018 at 02:12:31PM +0200, Alexey Gladkov wrote: >>>>> На вчерашнее совещание я не попал, но на том, что было две >>>>> недели назад, говорили о пропагаторе в том же ключе. Вопрос >>>>> острый, хотим решить до P9. >>>> Когда будет P9 ? Мне кажется, точных сроков никто не сможет сейчас назвать, даже aen@. Но мне эта информация недоступна тем более. Раз на собрании решили, что P9 выйдет без пропагатаора, значит как минимум P9 не будет до тех пор, пока не будет liveboot! :) >>> По прикидкам -- летом. >> К этому сроку нормально переделать propagator получится разве >> что при наличии активной помощи. Меня на ближайший месяц очень экстренно запрягают разработкой деплоя. Если прошедшие дни дадут плоды, после этого ещё и в рабство как минимум на месяц в одно ведомство отправят. Будет очень сложно в таких условиях держать обещание. Но, поскольку цели смежные, можем работать в контакте, делать разные части. Отличия от деплоя небольшие. Могу выделить время и заранее нарисовать все диалоги пропагатора на скриптах, только мне кажется это лучше делать через ncursesw/dialog, а не newt/whiptail. > Давайте ещё arseny@ к переписке подключим. > Только ЗА! Давно пора... -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 1 reply; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов On Wed, Apr 25, 2018 at 11:45:03PM +0300, Leonid Krivoshein wrote: > >>> По прикидкам -- летом. > >> К этому сроку нормально переделать propagator получится разве > >> что при наличии активной помощи. > > Меня на ближайший месяц очень экстренно запрягают разработкой деплоя. > Если прошедшие дни дадут плоды, после этого ещё и в рабство как минимум > на месяц в одно ведомство отправят. Будет очень сложно в таких условиях > держать обещание. Но, поскольку цели смежные, можем работать в контакте, > делать разные части. Отличия от деплоя небольшие. Могу выделить время и > заранее нарисовать все диалоги пропагатора на скриптах, только мне > кажется это лучше делать через ncursesw/dialog, а не newt/whiptail. Не-не-не. Это безусловно полезная вещь, но диалоги будут нужны потом. Я говорил совсем о другой помощи. > > Давайте ещё arseny@ к переписке подключим. > > > > Только ЗА! Давно пора... Эм... Я не знаю этого человека. Но раз вы так подчёркиваете его участие, то отнесусь к этому с сдержанным оптимизмом )) -- Rgrds, legion ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 0 siblings, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов 26.04.2018 11:35, Alexey Gladkov пишет: > On Wed, Apr 25, 2018 at 11:45:03PM +0300, Leonid Krivoshein wrote: >>>>> По прикидкам -- летом. >>>> К этому сроку нормально переделать propagator получится разве >>>> что при наличии активной помощи. >> Меня на ближайший месяц очень экстренно запрягают разработкой деплоя. >> Если прошедшие дни дадут плоды, после этого ещё и в рабство как минимум >> на месяц в одно ведомство отправят. Будет очень сложно в таких условиях >> держать обещание. Но, поскольку цели смежные, можем работать в контакте, >> делать разные части. Отличия от деплоя небольшие. Могу выделить время и >> заранее нарисовать все диалоги пропагатора на скриптах, только мне >> кажется это лучше делать через ncursesw/dialog, а не newt/whiptail. > Не-не-не. Это безусловно полезная вещь, но диалоги будут нужны потом. Я > говорил совсем о другой помощи. Говорили? Пока пытаюсь угадывать между строк. :) Вопрос востребованности liveboot и замены им пропагатора устаканили заблаговременно. А какого рода помощь тогда может ещё потребоваться? Ревью? Тестирование-обкатка? В любом случае две головы лучше, а шесть рук лучше втройне! > >>> Давайте ещё arseny@ к переписке подключим. >>> >> Только ЗА! Давно пора... > Эм... Я не знаю этого человека. Но раз вы так подчёркиваете его участие, > то отнесусь к этому с сдержанным оптимизмом )) Арсений проявлял интерес к замене пропагатора скриптами. Им на ВМК МГУ с большой сетью он тоже покоя не даёт.)) -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Alexey Gladkov 0 siblings, 1 reply; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов [-- Attachment #1: Type: text/plain, Size: 3693 bytes --] On Thu, Apr 26, 2018 at 12:04:58PM +0300, Leonid Krivoshein wrote: > >> Меня на ближайший месяц очень экстренно запрягают разработкой деплоя. > >> Если прошедшие дни дадут плоды, после этого ещё и в рабство как минимум > >> на месяц в одно ведомство отправят. Будет очень сложно в таких условиях > >> держать обещание. Но, поскольку цели смежные, можем работать в контакте, > >> делать разные части. Отличия от деплоя небольшие. Могу выделить время и > >> заранее нарисовать все диалоги пропагатора на скриптах, только мне > >> кажется это лучше делать через ncursesw/dialog, а не newt/whiptail. > > Не-не-не. Это безусловно полезная вещь, но диалоги будут нужны потом. Я > > говорил совсем о другой помощи. > > > Говорили? Пока пытаюсь угадывать между строк. :) Вопрос востребованности > liveboot и замены им пропагатора устаканили заблаговременно. А какого > рода помощь тогда может ещё потребоваться? Ревью? Тестирование-обкатка? > В любом случае две головы лучше, а шесть рук лучше втройне! Мне нужна помощь в написании грамотных фичей. Сейчас мне нужна фича настройки сети так как в make-initrd она ооочень условная и сделана через утилиту ipconfig из klibc, которая, скажем так, очень стабильная. Я разговаривал ldv, glebfm, wladmis и пришёл к выводу, что стоит использовать etcnet в образе. Так что, нужно написать фичу для этого, плюс придумать настройку в рантайме, плюс конвертер параметра `ip=` в конфигурацию etcnet. Также нужно посмотреть etcnet на предмет его работы с утилитами busybox и возможность использования в нём udhcp. Открытым остаётся вопрос об использовании nfsmount. Я не знаю насколько востребован функционал с nfs. Если востребован, то это будет ещё один пласт работ. Также я занимаюсь анализом init-bottom перед похоронами этого скрипта. > >>> Давайте ещё arseny@ к переписке подключим. > >>> > >> Только ЗА! Давно пора... > > Эм... Я не знаю этого человека. Но раз вы так подчёркиваете его участие, > > то отнесусь к этому с сдержанным оптимизмом )) > > Арсений проявлял интерес к замене пропагатора скриптами. Им на ВМК МГУ с > большой сетью он тоже покоя не даёт.)) Тогда добро пожаловать на борт! )) -- Rgrds, agladkov [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov @ 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 2 replies; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов [-- Attachment #1: Type: text/plain, Size: 3691 bytes --] On Thu, Apr 26, 2018 at 12:04:58PM +0300, Leonid Krivoshein wrote: > >> Меня на ближайший месяц очень экстренно запрягают разработкой деплоя. > >> Если прошедшие дни дадут плоды, после этого ещё и в рабство как минимум > >> на месяц в одно ведомство отправят. Будет очень сложно в таких условиях > >> держать обещание. Но, поскольку цели смежные, можем работать в контакте, > >> делать разные части. Отличия от деплоя небольшие. Могу выделить время и > >> заранее нарисовать все диалоги пропагатора на скриптах, только мне > >> кажется это лучше делать через ncursesw/dialog, а не newt/whiptail. > > Не-не-не. Это безусловно полезная вещь, но диалоги будут нужны потом. Я > > говорил совсем о другой помощи. > > > Говорили? Пока пытаюсь угадывать между строк. :) Вопрос востребованности > liveboot и замены им пропагатора устаканили заблаговременно. А какого > рода помощь тогда может ещё потребоваться? Ревью? Тестирование-обкатка? > В любом случае две головы лучше, а шесть рук лучше втройне! Мне нужна помощь в написании грамотных фичей. Сейчас мне нужна фича настройки сети так как в make-initrd она ооочень условная и сделана через утилиту ipconfig из klibc, которая, скажем так, очень стабильная. Я разговаривал ldv, glebfm, wladmis и пришёл к выводу, что стоит использовать etcnet в образе. Так что, нужно написать фичу для этого, плюс придумать настройку в рантайме, плюс конвертер параметра `ip=` в конфигурацию etcnet. Также нужно посмотреть etcnet на предмет его работы с утилитами busybox и возможность использования в нём udhcp. Открытым остаётся вопрос об использовании nfsmount. Я не знаю насколько востребован функционал с nfs. Если востребован, то это будет ещё один пласт работ. Также я занимаюсь анализом init-bottom перед похоронами этого скрипта. > >>> Давайте ещё arseny@ к переписке подключим. > >>> > >> Только ЗА! Давно пора... > > Эм... Я не знаю этого человека. Но раз вы так подчёркиваете его участие, > > то отнесусь к этому с сдержанным оптимизмом )) > > Арсений проявлял интерес к замене пропагатора скриптами. Им на ВМК МГУ с > большой сетью он тоже покоя не даёт.)) Тогда добро пожаловать на борт! )) -- Rgrds, legion [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 801 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 1 sibling, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов 26.04.2018 13:21, Alexey Gladkov пишет: >> Арсений проявлял интерес к замене пропагатора скриптами. Им на ВМК МГУ с >> большой сетью он тоже покоя не даёт.)) > Тогда добро пожаловать на борт! )) Только сегодня от Георгия Курячего узнал, что Арсений приболел и к тому же готовится к большому экзамену, видимо потому и молчит -- сейчас ему не до нас... * * * Ещё пару слов о пропагаторе с Вашим кодом из make-initrd. В виртуалках QEMU и VirtualBox загрузка не сломалась, напротив, сеть теперь находится. С тем же эффектом мы проверили его на дюжине машин, найдя одну проблемную, где старый пропагатор запнулся с поиском флэшки, а новый нет. Ещё на одной машине по сети удалось загрузиться, даже несмотря на очень необычную ситуацию, когда сеть не пойми как работает, DHCP-сервер в железной CISCO, PXE-сервер в виртуалке VMware, а сетевая карта болтается соплёй от USB. Тем не менее, к старому коду вопросы есть. Во-первых, судя по документации, udevadm control --reload-rules (теперь вроде так это называется) делать после запуска демона udevd необязательно. Во-вторых, сейчас задержка на поиск сетевой карты получилась 15 секунд (итераций), тогда как для CD-ROM/флэшек она составляет фактически 32+15 секунд (итераций) -- несправедливо! В-третьих, самый непонятный для меня вопрос с udevadm settle --timeout=5. Получается, мы просим его подождать появления железа с 5-секундным таймаутом и ждём после этого ещё 1 секунду. Я так понимаю, чтобы отработали скрипты/правила udev'а после нахождения этого железа. Но сейчас мы чётко видим по-секундный временной отсчёт и получается, что типовая флэшка обнаруживается примерно на 6-7 секунде (итерации), т.е. никаких 6 секунд на итерацию не уходит, как будто вызов udevadm settle происходит за 0 секунд. Вот это мне не очень понятно, почему же тогда только на 6-7 секунде и почему не срабатывает --timeout=5? В отличии от пропагатора, в make-initrd задержка стоит в 1/10 секунды в бесконечном цикле с общим ограничением по времени. Но в целом, получается, что Ваш код более рабочий, а я не очень хорошо знаю udev, если честно... -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 1 reply; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов On Fri, Apr 27, 2018 at 12:26:09AM +0300, Leonid Krivoshein wrote: > Ещё пару слов о пропагаторе с Вашим кодом из make-initrd. В виртуалках > QEMU и VirtualBox загрузка не сломалась, напротив, сеть теперь > находится. Рад слышать. > С тем же эффектом мы проверили его на дюжине машин, найдя > одну проблемную, где старый пропагатор запнулся с поиском флэшки, а > новый нет. Ещё на одной машине по сети удалось загрузиться, даже > несмотря на очень необычную ситуацию, когда сеть не пойми как работает, > DHCP-сервер в железной CISCO, PXE-сервер в виртуалке VMware, а сетевая > карта болтается соплёй от USB. Скорее всего это из-за того, что ipconfig использует очень старый dhcp, который руками разбирается. > Тем не менее, к старому коду вопросы есть. make-initrd-0.8.x ? > Во-первых, судя по документации, udevadm control --reload-rules (теперь > вроде так это называется) делать после запуска демона udevd > необязательно. Ну нужно. А кто его делает ? > Во-вторых, сейчас задержка на поиск сетевой карты получилась 15 секунд > (итераций), тогда как для CD-ROM/флэшек она составляет фактически 32+15 > секунд (итераций) -- несправедливо! Я не считал итерации. Возможно. > В-третьих, самый непонятный для меня вопрос > с udevadm settle --timeout=5. Получается, мы просим его подождать > появления железа с 5-секундным таймаутом Этот таймаут на очередь, чтобы не ждать слишком долго. > Я так понимаю, чтобы отработали скрипты/правила udev'а после > нахождения этого железа. Нет. Это просто ожидание инициализации железа после загрузки модуля ядра. Если всё проинициализируется раньше, то `udevadm settle` выйдет раньше таймаута. > В отличии от пропагатора, в make-initrd задержка стоит в > 1/10 секунды в бесконечном цикле с общим ограничением по времени. Но в > целом, получается, что Ваш код более рабочий, а я не очень хорошо знаю > udev, если честно... Вы слишком переоцениваете udev. В наши дни он выродился в обычный фильтр. Он слушает эвенты ядра и позволяет с помощью правил-фильтров реагировать на них. При этом обработчики должны быть короткими т.е. нельзя запускать фоновые процессы или что-то долго обсчитывать. Вот и все функции udev. Остальной код реагирует на определённые эвенты. Но мы не знаем, когда появятся условия для монтирования корня. Поэтому там бесконечный цикл. -- Rgrds, legion ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov @ 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 0 replies; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов 27.04.2018 02:11, Alexey Gladkov пишет: >> Тем не менее, к старому коду вопросы есть. > make-initrd-0.8.x ? В основном, да, но отдельные моменты касались старого кода в пропагаторе. Имел ввиду, что Ваш код я перетащил сюда: http://git.altlinux.org/people/klark/packages/propagator.git?p=propagator.git;a=blob;f=udev.c#l89 И это очень помогло, да! >> Во-первых, судя по документации, udevadm control --reload-rules (теперь >> вроде так это называется) делать после запуска демона udevd >> необязательно. > Ну нужно. А кто его делает ? http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=data/lib/initrd/modules/050-udev;h=87c6f129dceaa56a6e59948b82fb9d592c964b64;hb=cf8fa26df84bf8d845c4df6df4aa86df24c7372d udevadm control --reload >/dev/null 2>&1 ||: Я поменял на --reload-rules, так как просто --reload больше нет. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 1 sibling, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов 26.04.2018 13:21, Alexey Gladkov пишет: > Мне нужна помощь в написании грамотных фичей. Сейчас мне нужна фича > настройки сети так как в make-initrd она ооочень условная и сделана через > утилиту ipconfig из klibc, которая, скажем так, очень стабильная. Уже говорил, что пока более-менее я осилил make-initrd только из p8, надеюсь по фичам там нет больших отличий в v2+? Мне по-любому придётся разбираться с сетью, так что можно будет отталкиваться от моего чернового варианта, сделанного под задачи деплоя на скорую руку. Но на грамотную чистовую реализацию в виде конечной фичи пока не претендую. Если правильно понял, ipconfig лучше не использовать. Согласен, потому что лучше ip из пакета iproute2 -- его одного хватит для всех задач. > Я разговаривал ldv, glebfm, wladmis и пришёл к выводу, что стоит > использовать etcnet в образе. Тоже об этом думал. Чтобы не изобретать велосипед, для более сложных случаев, конечно, можно. Но у нас ни один пакет с таким названием, а как минимум четыре. > Так что, нужно написать фичу для этого, плюс > придумать настройку в рантайме, плюс конвертер параметра `ip=` в > конфигурацию etcnet. Видел готовые реализации в Gentoo. Правда, не под etcnet, но диалоги готовые. Может получится перетащить что-то из этого. См.: http://www.reactivated.net/weblog/archives/2006/06/net-setup-enhancements/ . Стоит сразу определиться: сетевая загрузка корня с NFS/FTP/HTTP возможна даже по вай-фаю, но PXE-загрузка ядра и initrd по вай-фаю невозможна, если не ошибаюсь. Исходя из этого стоит ли тащить в liveboot поддержку Wi-Fi? Что касается параметров ip=... и nfsroot=... -- тут я убеждён в обратном. Их нельзя как-либо использовать в initrd, потому что они предназначены для самого ядра и, если эти параметры указаны, ядро само их парсит и начинает поднимать сеть, искать и пытаться монтировать корень, итд... В случае успеха, до запуска initrd дело вообще не должно дойти. Однако наше ядро собирается без DHCP- и NFS- клиентов, как я полагаю, и поэтому мы можем видеть очень длительную задержку во время запуска и загрузки ядра с любым из этих параметров и с нулевым эффектом на выходе. По этой причине я бы не стал использовать в initrd параметры загрузки с такими названиями. Меня удивило их наличие в скриптах make-initrd после прочтения документации и проверки методом научного тыка. Поправьте, если ошибаюсь. Кроме того, я бы предложил использовать ещё один механизм для передачи параметров -- через соответствующий конфиг. Например, как это сделано тут: http://git.altlinux.org/people/klark/packages/deploy-project.git?p=deploy-project.git;a=blob;f=stage1/etc/deploy.conf -- просто, чтобы была возможность не только системных умолчаний, но и сборочных (при сборке образа initrd), чтобы не тащить большой список параметров в kernel cmdline. > Также нужно посмотреть etcnet на предмет его работы с > утилитами busybox и возможность использования в нём udhcp. Вот в этом мне видится большое противоречие. Для простых случаев достаточно ручного парсинга и утилиты ip, потому что etcnet много чего за собой потянет, особенно etcnet-full. > Открытым остаётся вопрос об использовании nfsmount. Я не знаю насколько > востребован функционал с nfs. Если востребован, то это будет ещё один > пласт работ. С ним не всё хорошо и толком разобраться пока не получилось. Удалось лишь добиться, чтобы хоть как-то по нему грузилось. При этом я могу видеть сегфолты в ядре на стороне сервера. Вообще не уверен, что nfsmount стоит использовать, хотя видел, что к ней вернулись из-за проблем с mount.nfs/mount.nfs4. Но у меня в скриптах сейчас со вторыми проблем меньше, propagator же умеет только nfsmount. Видимо придётся делить на NFSv3 и NFSv4, и разбираться с каждым по отдельности. > Также я занимаюсь анализом init-bottom перед похоронами этого скрипта. Про преемственность я уже говорил. Стоит позаботиться о полном сохранении совместимости для простоты перехода с пропагатора на liveboot, вплоть до полной поддержки его kernel cmdline. Иначе переход на liveboot будет сильно затруднён необходимостью правки неведанного числа пакетов, типа alterator-netinst и задача превратится в нерешаемую. * * * Подытожу. Возможности заняться написанием конкретной фичи в нужном формате в чистовом варианте в ближайший месяц-два у меня точно не будет. По основной работе буду заниматься схожими боданиями с начальной загрузкой по сети, и эти наработки как черновой материал можно будет потом подтащить в make-initrd. Особенно, если они пройдут обкатку в предполагаемом развёртывании на тысячах машин. Разница только в том, что мне нужно сделать хоть как-то по быстрому, чтобы заработало, и в том, что на сетевом ресурсе я ищу не корень stage2, а директорию с файлами, что почти на 95% перекрывает решаемую задачу, если не считать диалогов пропагатора. -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 0 siblings, 1 reply; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов On Thu, Apr 26, 2018 at 11:24:04PM +0300, Leonid Krivoshein wrote: > > 26.04.2018 13:21, Alexey Gladkov пишет: > > Мне нужна помощь в написании грамотных фичей. Сейчас мне нужна фича > > настройки сети так как в make-initrd она ооочень условная и сделана через > > утилиту ipconfig из klibc, которая, скажем так, очень стабильная. > > Уже говорил, что пока более-менее я осилил make-initrd только из p8, > надеюсь по фичам там нет больших отличий в v2+? Концептуально нет. В остальном есть. > Мне по-любому придётся > разбираться с сетью, так что можно будет отталкиваться от моего > чернового варианта, сделанного под задачи деплоя на скорую руку. Но на > грамотную чистовую реализацию в виде конечной фичи пока не претендую. > Если правильно понял, ipconfig лучше не использовать. Согласен, потому > что лучше ip из пакета iproute2 -- его одного хватит для всех задач. Я не хочу реализовывать свою систему управления сетью. > > Я разговаривал ldv, glebfm, wladmis и пришёл к выводу, что стоит > > использовать etcnet в образе. > > Тоже об этом думал. Чтобы не изобретать велосипед, для более сложных > случаев, конечно, можно. Но у нас ни один пакет с таким названием, а как > минимум четыре. Вы, видимо, не разбирались с ним. Скрипты там одни. > > Так что, нужно написать фичу для этого, плюс > > придумать настройку в рантайме, плюс конвертер параметра `ip=` в > > конфигурацию etcnet. > > Видел готовые реализации в Gentoo. Правда, не под etcnet, но диалоги > готовые. Может получится перетащить что-то из этого. См.: > http://www.reactivated.net/weblog/archives/2006/06/net-setup-enhancements/ Это диалоги для настройки сети. Если их нельзя взять "как есть", то их придётся дорабатывать под систему конфигурации сети и как следствие придётся взять эту подсистему из gentoo. Если её нельзя использовать отдельно от gentoo (а скорее всего так и есть), это будет форк, а я не хочу разрабатывать свою систему управления сетью. > . Стоит сразу определиться: сетевая загрузка корня с NFS/FTP/HTTP > возможна даже по вай-фаю, но PXE-загрузка ядра и initrd по вай-фаю > невозможна, если не ошибаюсь. Исходя из этого стоит ли тащить в liveboot > поддержку Wi-Fi? Нужно сделать так, чтобы была возможность расширения функционала. Даже если сейчас это не нужно, то уверен, что рано или поздно появится некто, хотящий корень по HTTPS-over-Wifi. > Что касается параметров ip=... и nfsroot=... -- тут я > убеждён в обратном. Их нельзя как-либо использовать в initrd, потому что > они предназначены для самого ядра и, если эти параметры указаны, ядро > само их парсит и начинает поднимать сеть, искать и пытаться монтировать > корень, итд... Вы неправы. Это _уже_ используется и используется это очень давно. Поддержка этих параметров есть и она должна сохраниться для обратной совместимости. В качестве троллического отступления хочу напомнить, что параметр root= тоже разбирается ядром. > В случае успеха, до запуска initrd дело вообще не должно > дойти. Однако наше ядро собирается без DHCP- и NFS- клиентов, как я > полагаю, и поэтому мы можем видеть очень длительную задержку во время > запуска и загрузки ядра с любым из этих параметров и с нулевым эффектом > на выходе. По этой причине я бы не стал использовать в initrd параметры > загрузки с такими названиями. Меня удивило их наличие в скриптах > make-initrd после прочтения документации и проверки методом научного > тыка. Поправьте, если ошибаюсь. Повторюсь, это очень старые параметры. Proof: http://git.altlinux.org/gears/m/mkinitrd.git?p=mkinitrd.git;a=blob;f=init.sh#l82 http://git.altlinux.org/gears/m/mkinitrd.git?p=mkinitrd.git;a=blob;f=init.sh#l94 > Кроме того, я бы предложил использовать > ещё один механизм для передачи параметров -- через соответствующий > конфиг. Например, как это сделано тут: > http://git.altlinux.org/people/klark/packages/deploy-project.git?p=deploy-project.git;a=blob;f=stage1/etc/deploy.conf > -- просто, чтобы была возможность не только системных умолчаний, но и > сборочных (при сборке образа initrd), чтобы не тащить большой список > параметров в kernel cmdline. Да, это правильно. Такой механизм уже используется в makе-initrd для корня. > > Также нужно посмотреть etcnet на предмет его работы с > > утилитами busybox и возможность использования в нём udhcp. > > Вот в этом мне видится большое противоречие. Для простых случаев > достаточно ручного парсинга и утилиты ip, потому что etcnet много чего > за собой потянет, особенно etcnet-full. Он модульный. В идеале я хотел бы, чтобы фича etcnet была не монолитной. > > Открытым остаётся вопрос об использовании nfsmount. Я не знаю насколько > > востребован функционал с nfs. Если востребован, то это будет ещё один > > пласт работ. > > С ним не всё хорошо и толком разобраться пока не получилось. Удалось > лишь добиться, чтобы хоть как-то по нему грузилось. При этом я могу > видеть сегфолты в ядре на стороне сервера. Вообще не уверен, что > nfsmount стоит использовать, хотя видел, что к ней вернулись из-за > проблем с mount.nfs/mount.nfs4. Но у меня в скриптах сейчас со вторыми > проблем меньше, propagator же умеет только nfsmount. Видимо придётся > делить на NFSv3 и NFSv4, и разбираться с каждым по отдельности. Вот поэтому вопрос открыт )) > > Также я занимаюсь анализом init-bottom перед похоронами этого скрипта. > > Про преемственность я уже говорил. Стоит позаботиться о полном > сохранении совместимости О какой совместимости вы говорите ? О параметрах cmdline ? Они разумеется останутся как были. > Подытожу. Возможности заняться написанием конкретной фичи в нужном > формате в чистовом варианте в ближайший месяц-два у меня точно не будет. Я собственно не настаиваю. Я просто поставил всех заинтересованных в известность о том, что нужно, чтобы "успеть к P9". А дальше решайте сами. Мне некуда торопиться и я буду реализовывать, что задумал чтобы в make-initrd появился функционал аналогичный propagator. Когда такой функционал появится, тогда можно будет закопать propagator. Если у меня на его реализацию уйдёт год, то значит через год его можно будет закопать. > По основной работе буду заниматься схожими боданиями с начальной > загрузкой по сети, и эти наработки как черновой материал можно будет > потом подтащить в make-initrd. При всём уважении я не приму код, который решает какую-то частную задачу. Этот подход был использован при разработке propagator. Он весь состоит из решений частных задач. Кроме того, мне некуда торопиться. Есть время для нормального проектирования. -- Rgrds, legion ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Alexey Gladkov @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 0 siblings, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Андрей Черепанов Тогда предлагаю опустить пока технические детали и определиться с основным: 27.04.2018 01:28, Alexey Gladkov пишет: > On Thu, Apr 26, 2018 at 11:24:04PM +0300, Leonid Krivoshein wrote: >> Подытожу. Возможности заняться написанием конкретной фичи в нужном >> формате в чистовом варианте в ближайший месяц-два у меня точно не будет. > Я собственно не настаиваю. Я просто поставил всех заинтересованных в > известность о том, что нужно, чтобы "успеть к P9". А дальше решайте сами. > Мне некуда торопиться и я буду реализовывать, что задумал чтобы в > make-initrd появился функционал аналогичный propagator. Когда такой > функционал появится, тогда можно будет закопать propagator. Если у меня на > его реализацию уйдёт год, то значит через год его можно будет закопать. > >> По основной работе буду заниматься схожими боданиями с начальной >> загрузкой по сети, и эти наработки как черновой материал можно будет >> потом подтащить в make-initrd. > При всём уважении я не приму код, который решает какую-то частную задачу. > Этот подход был использован при разработке propagator. Он весь состоит из > решений частных задач. > > Кроме того, мне некуда торопиться. Есть время для нормального > проектирования. Мне тоже нравится писать большие, правильные и качественные вещи. К сожалению, текущая ситуация заставляет сделать нечто близкое и даже больший объём работ в течении всего одного месяца. При этом, действительно решая частную задачу. Это можно и нужно использовать. Чтобы сделать хорошо и правильно, порою приходится сначала делать черновой вариант. Написать хоть что-то, чтобы понять, как оно работает. Тогда уже приходят в голову мысли об оптимизации, систематизации, идеологической красоте и правильности. Другими словами, проектирование начинается после "разведки боем". Возможно, я просто "неправильный программист" и живу вопреки правил о циклах разработки. :) Не предлагаю принимать в make-initrd-liveboot конкретный код, но вымученный последующим внедрением на тысячах железок опыт вполне можно учесть при проектировании. Это всё что, что я пока могу предложить. Не исключено, что к этой задаче я смогу подключиться плотнее позже, но обещать и загадывать заранее сейчас не хотелось бы... -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Alexey Gladkov 0 siblings, 0 replies; 15+ messages in thread From: Alexey Gladkov @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов On Fri, Apr 27, 2018 at 11:31:47PM +0300, Leonid Krivoshein wrote: > Тогда предлагаю опустить пока технические детали и определиться с основным: > > > 27.04.2018 01:28, Alexey Gladkov пишет: > > On Thu, Apr 26, 2018 at 11:24:04PM +0300, Leonid Krivoshein wrote: > >> Подытожу. Возможности заняться написанием конкретной фичи в нужном > >> формате в чистовом варианте в ближайший месяц-два у меня точно не будет. > > Я собственно не настаиваю. Я просто поставил всех заинтересованных в > > известность о том, что нужно, чтобы "успеть к P9". А дальше решайте сами. > > Мне некуда торопиться и я буду реализовывать, что задумал чтобы в > > make-initrd появился функционал аналогичный propagator. Когда такой > > функционал появится, тогда можно будет закопать propagator. Если у меня на > > его реализацию уйдёт год, то значит через год его можно будет закопать. > > > >> По основной работе буду заниматься схожими боданиями с начальной > >> загрузкой по сети, и эти наработки как черновой материал можно будет > >> потом подтащить в make-initrd. > > При всём уважении я не приму код, который решает какую-то частную задачу. > > Этот подход был использован при разработке propagator. Он весь состоит из > > решений частных задач. > > > > Кроме того, мне некуда торопиться. Есть время для нормального > > проектирования. > > Мне тоже нравится писать большие, правильные и качественные вещи. К > сожалению, текущая ситуация заставляет сделать нечто близкое и даже > больший объём работ в течении всего одного месяца. При этом, > действительно решая частную задачу. Это можно и нужно использовать. > Чтобы сделать хорошо и правильно, порою приходится сначала делать > черновой вариант. Написать хоть что-то, чтобы понять, как оно работает. > Тогда уже приходят в голову мысли об оптимизации, систематизации, > идеологической красоте и правильности. Другими словами, проектирование > начинается после "разведки боем". Возможно, я просто "неправильный > программист" и живу вопреки правил о циклах разработки. :) То о чём говорил я это не циклы разработки. Я долгое время занимаюсь разработкой софта. У меня были проекты проприоритарных сервисов, открытых сервисов, закрытых и открытых "коробочных" решения для заказчиков. И то, что я знаю из опыта, это то что непродуманные наколеночные решения помогают достичь цели в краткосрочной перспективе, но потом это очень больно аукается... вплоть до потери клиента. Поверьте, я не собираюсь вас учить делать дела. Вы можете решать ваши задачи так как вы считаете нужным, но не надо мне рассказывать про тысячи железок. В данный момент мы говорим о коде, о решении, которое мне придётся поддерживать после того как я его приму. Не вам, а мне. Потому что те кто присылает патчи решают свою задачу и после её решения они переходят к другой, а код остаётся в проекте на поддержке и развитии. Сизиф (другие репозитории я не поддерживаю по определённым причинам) не такой проект, где цель внедрения фичи прямо сейчас важнее всего. > Не предлагаю принимать в make-initrd-liveboot конкретный код, Вы можете сделать такой пакет в любой удобный для решения вашей задачи момент. Это не первая фича, которая к мне не будет иметь отношения. Я не буду вас останавливать )) То что делаю сейчас я, делается в make-initrd. Именно в нём не хватает гибкости в определённых местах. > Это всё что, что я пока могу предложить. Не исключено, что к этой задаче > я смогу подключиться плотнее позже, но обещать и загадывать заранее > сейчас не хотелось бы... Я понимаю и ни в коем случае ничего не прошу. У всех свои задачи. -- Rgrds, legion ^ permalink raw reply [flat|nested] 15+ messages in thread
[parent not found: <20180502204001.GA14794@comp-core-i7-2640m-0182e6.fortress>]
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd @ 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Michael Shigorin 0 siblings, 1 reply; 15+ messages in thread From: Leonid Krivoshein @ 2019-04-23 13:00 UTC (permalink / raw) To: Alexey Gladkov Cc: Aleksey Novodvorsky, Андрей Черепанов Приветствую! 02.05.2018 23:40, Alexey Gladkov пишет: > Привет! > > Я поговорил тут с lioka насчёт make-initrd, mkinitrd, etcnet и propagator. > И внезапно выяснилось, что ни о каких планах на счёт propagator и > make-initrd он не знает и более того, он считает, что он не нужен с всеми > его squashfs/aufs. Он очень всему этому удивлялся и желал мне удачи. > > Похоже на "вчерашнее совещание" не попали не только вы, а целесообразность > этих работ не так уж очевидно "всем". Кажется всё опять как всегда. 1) Если речь о Большакове, он действительно не в Москве. В Обнинске Антон Фарыгин просил о том же. 2) В курсе всех технических деталей только те, кто в копии этого письма. 3) В курсе планов по смене пропагатора на make-initrd-liveboot только те, кто подписан на devel@. Если там кто и не читает большие письма, по крайне мере, это сообщение просто не могли пропустить: https://lists.altlinux.org/pipermail/devel/2018-April/204307.html 4) Возможно к Вам (к нам) присоединится Михаил Кангин, который делал make-initrd-colaboot. Имел с ним большую переписку. Пока не уверен, что от него можно ожидать помощи, но его планы во многом перекликаются с нашими. 5) squashfs+aufs, в принципе, достаточны в том месте, где они сейчас используются, хотя есть сомнения относительно актуальности/поддержки aufs. Но наши разработчики про overlayfs высказывались скептически ещё несколько месяцев назад. Михаил Кангин как раз её активно использует и проблем не наблюдает. Про аналог в Debian/Ubuntu я уже упоминал -- overlayroot. > On Wed, Apr 25, 2018 at 07:40:00AM +0300, Leonid Krivoshein wrote: >> Алексей, добрый день! >> >> >> На вчерашнее совещание я не попал, но на том, что было две недели назад, >> говорили о пропагаторе в том же ключе. Вопрос острый, хотим решить до >> P9. Из тех, кого нет в Москве, Антон Фарыгин просил Вас о том же в >> багзилле. По слухам, на вчерашнем совещании решили ещё и mkinitrd >> выкинуть, Глеб говорит, что он уже 10 лет, как не используется. Мне, >> поскольку надо ехать быстро и сейчас, пришлось чинить пропагатор в >> экстренном порядке, не дожидаясь liveboot. Так что действительно будем >> все очень признательны!.. >> >> >> >> -------- Перенаправленное сообщение -------- >> Тема: Re: [devel] Запрос на фичу liveboot в make-initrd >> Дата: Tue, 24 Apr 2018 14:28:34 +0000 >> От: Aleksey Novodvorsky <aen@altlinux.ru> >> Отвечать: ALT Linux Team development discussions >> <devel@lists.altlinux.org> >> Кому: ALT Linux Team development discussions <devel@lists.altlinux.org> >> >> >> >> вт, 10 апр. 2018 г., 22:49 Leonid Krivoshein <klark.devel@gmail.com >> <mailto:klark.devel@gmail.com>>: >> >> ... >> Алексей Гладков, автор и мэйнтейнер make-initrd, давно предлагал >> реализовать функционал пропагатора на скриптах, как отдельную фичу >> make-initrd. Назовём её условно "liveboot". Как я понимаю, Алексей готов >> и сейчас этим заняться, но у него есть сомнения, что его труды будут >> востребованы. >> >> >> >> Сегодня обсудили на совещании. liveboot всем очень нужен, будем >> признательны Алексею. >> >> Rgrds, Алексей >> >> >> >> -- >> Best regards, >> Leonid Krivoshein. > -- Best regards, Leonid Krivoshein. ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd 2019-04-23 13:00 ` Leonid Krivoshein @ 2019-04-23 13:00 ` Michael Shigorin 0 siblings, 0 replies; 15+ messages in thread From: Michael Shigorin @ 2019-04-23 13:00 UTC (permalink / raw) To: Leonid Krivoshein Cc: Андрей Черепанов, Aleksey Novodvorsky On Thu, May 03, 2018 at 02:27:12AM +0300, Leonid Krivoshein wrote: > 5) squashfs+aufs, в принципе, достаточны в том месте, > где они сейчас используются, хотя есть сомнения относительно > актуальности/поддержки aufs. Но наши разработчики про overlayfs > высказывались скептически ещё несколько месяцев назад. Я бы сейчас ориентировался на overlayfs и по возможности писал так, чтобы не заблокировать добавление aufs при надобности -- это позволит закрыть наиболее широкий спектр задач и ядер (в т.ч. уже установленных). Разница в варианте полной замены там примерно такая: http://git.altlinux.org/people/lakostis/packages/?p=make-initrd-propagator.git;a=commitdiff;h=85c2eab965c0f6d46311102a77a96de243ebad9c (этот патч тогда не забрали ровно потому, что вместо добавления поддержки происходит замена, а сесть и внимательно разобрать как минимум у меня не хватало цельного кусочка времени). -- ---- WBR, Michael Shigorin / http://altlinux.org ------ http://opennet.ru / http://anna-news.info ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2019-04-23 13:00 UTC | newest] Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-04-23 13:00 ` [make-initrd] Fwd: Re: [devel] Запрос на фичу liveboot в make-initrd Michael Shigorin 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Alexey Gladkov 2019-04-23 13:00 ` Leonid Krivoshein 2019-04-23 13:00 ` Michael Shigorin
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