From: Leonid Krivoshein <klark.devel@gmail.com> To: make-initrd@lists.altlinux.org Subject: Re: [make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1 Date: Sun, 30 May 2021 23:34:04 +0300 Message-ID: <8e60c64f-be1b-8d6f-66ae-b556860869b2@gmail.com> (raw) In-Reply-To: <20210527135347.s6e5rr7t7ipz6uc3@example.org> Привет! 27.05.2021 16:53, Alexey Gladkov пишет: > On Thu, May 27, 2021 at 03:29:50PM +0300, Leonid Krivoshein wrote: >> [...] >> Отделил пока всё в bc-wip, чтобы тебе не мешаться, т.к. реально ещё >> work-in-progress, но это всё и не предполагается пока ревьювить и коммитить >> в таком виде. Разумеется, в финальном варианте оригинальный код будет >> сохранён и сделаны правильные коммиты с историей, чтобы это стало частью >> make-initrd, а не отдельным пакетом с фичами к нему. Конечно, есть вариант >> оставить оригинальное название pipeline, но это имя у нынешних линуксовых >> айтишников ассоциируется с другими вещами, bootchain мне кажется более >> подходящим. > Ок, теперь ясно. В том же таске #272587 версия посвежее -- сложил туда логи загрузки в разных режимах, пример отдельно выносимого конфига и несколько скриншотов. Помимо всяких локальных методов загрузки уже заработали в первом приближении и сетевые, так что ключевая концепция стабильно зафиксирована, возможно придётся поработать над nfs и cifs методами. Новая напасть -- какая-то ошибка в dialog, не выводит backtitle при первом вызове после отделения через openvt, хотя и окружение одинаковое, и переменная туда точно передаётся. Пришлось пока сделать финт с WARM UP. И ещё меня предупредили о проблеме с выбором VT: она ожидается на машинах без графики, типа Power. Придётся придумать, как с этим жить. > [...] > У тебя могло бы быть что-то вроде: > > save_image() { # right > if [ -z "$dstreg" ]; then > dd "of=$to" bs=32k 2>/dev/null > else > cat >"$to" > fi > } > > read_image() { # left > if [ -n "$srcreg" ]; then > pv -n -i 1 -- "$url" > return > fi > > opts="$opts --silent --no-buffer --connect-timeout 5" > opts="$opts --max-redirs 5 --max-filesize $filesize" > > [ "$method" != ftp ] || [ -z "$user" ] || [ -z "$pass" ] || > opts="${opts:+$opts }-u \"$user:$pass\"" > > curl $opts -- "$url" | > pv -n -i 1 -s "$filesize" > } > > { read_image | save_image } 2>&1 | > IM_gauge "[ Downloading image... ]" "$text" Практически без изменений вставил, исправил и другие твои замечания, вынес всё АЛЬТ-специфичное в конфиг, который уедет в m-p. В этой связи, возможно, где-то будет лучше тебе самому править после принятия мега-патча, чтобы было видно, что это твои правки. :-) >>>> Для последнего добавлен опциональный >>>> общий тайм-аут, и теперь его можно использовать до altboot (localdev), что >>>> позволит использовать подход пропагатора с диалогами и сканированием >>>> устройств как fallback, если заданное в /proc/cmdline не будет найдено, зато >>>> waitdev позволяет более тонко задавать спецификацию искомого и искать >>>> несколько устройств, включая символьные. То есть, не внося изменений в код >>>> altboot, можно красиво пристроить слева всю цепочку pipeline. А так по >>>> дефолту мы собираем образы с root=bootchain bootchain=fg,altboot и всё, что >>>> было в пропагаторе, сохранено для совместимости. Разве что добавили UUID к >>>> методам disk и cdrom (в automatic=...). >>> Для fg ты перезапускаешь bootchain-loop. Что будет если кто-нибудь сделает >>> bootchain=altboot,fg ? >> fg -- это переключение в интерактивный режим, для altboot он обязателен, без >> него он не будет работать, так что пользователь сам себе злобный Буратино. >> Но я для того и разделил демона и главный цикл, чтобы второй можно было >> перезапускать в любой момент. И вот так всё будет работать просто отлично, я >> проверял: >> >> bootchain=waitdev,waitdev,fg,altboot waitdev=LABEL=RW-OVERLAY waitdev=CDROM: >> >> Цикл демона опционально поддерживает интерактивный режим, может >> перезапуститься и перейти на передний план в любой момент. fg -- это >> псевдо-шаг в цепочке, чтобы поддерживать такой перезапуск, приходится >> экспортировать ряд дополнительных переменных. Теоретически, ничто не мешает >> сделать псевдо-шаг bg для возвращения обратно в фоновый режим. Результат >> последнего waitdev будет использован шагом localdev, который запустит >> altboot. >> >> Точнее, цепочку можно ещё и перезагружать в любой момент, меняя часть >> переменных в главном цикле демона. Благодаря этому реализованы циклы, >> условные переходы, в диалогах теперь можно возвращаться назад, что стало >> намного удобнее, чем было в пропагаторе. > Как будет готово нужно будет получше посмотреть на эту идею. Думаю, core + interactive революционно меняться не будут, там всё готово, не считая Power. Буду думать на qemu с -no-graphics. Ещё виджеты можно подрихтовать, но это если очень сильно придираться. >>>>> Верю тебе на слово :) >>>> Спасибо за доверие. :-) Но я "работаю" не один, за мной проверяет на образах >>>> Антон Мидюков, некоторые коллеги тоже на это посматривают пока издалека, >>>> надеюсь, скоро присоединятся тестировщики. Не хочется, чтобы вышел факап в >>>> p10 с заменой пропагатора. >>> Это хорошо, но понимаю кода не помогает. >> Сделаю нормальную документацию и на ближайшей конференции постараюсь >> рассказать, как это работает. Но лучше чтения кода ничего нет. А к тебе это >> ближе всего. :-) > Да, я люблю код читать )) А что насчёт логов? :-) Выложил все возможные варианты локальной загрузки с методом CD-ROM и комбинированной загрузки live-rootfs. В последний момент допустил оплошность с LiveCD-слоями, в двух логах это заметно, буду переделывать. И мне осталось сделать сетевой стенд для проверки NFS/SAMBA и более тщательной проверки HTTP/FTP-методов. Появилась поддержка overlayroot (для обычного корня) и LiveCD-слои (сквоши) для локальной загрузки в Live/Rescue. -- Best regards, Leonid Krivoshein.
prev parent reply other threads:[~2021-05-30 20:34 UTC|newest] Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-04-05 20:33 ` Leonid Krivoshein 2021-04-05 22:51 ` Leonid Krivoshein 2021-04-06 8:44 ` Alexey Gladkov 2021-04-06 17:38 ` Leonid Krivoshein 2021-04-07 13:13 ` Alexey Gladkov 2021-04-06 8:28 ` Alexey Gladkov 2021-04-06 16:38 ` Leonid Krivoshein 2021-04-06 19:05 ` Alexey Gladkov 2021-04-06 19:30 ` Alexey Gladkov 2021-04-06 23:13 ` Leonid Krivoshein 2021-04-07 12:28 ` Alexey Gladkov 2021-04-06 23:00 ` Leonid Krivoshein 2021-04-07 12:11 ` Alexey Gladkov 2021-04-06 23:59 ` Leonid Krivoshein 2021-04-07 1:51 ` Leonid Krivoshein 2021-04-07 12:57 ` Alexey Gladkov 2021-04-07 18:29 ` Leonid Krivoshein 2021-05-26 15:05 ` Leonid Krivoshein 2021-05-26 18:12 ` Alexey Gladkov 2021-05-26 19:25 ` Leonid Krivoshein 2021-05-27 8:37 ` Alexey Gladkov 2021-05-27 12:29 ` Leonid Krivoshein 2021-05-27 13:53 ` Alexey Gladkov 2021-05-27 15:10 ` Leonid Krivoshein 2021-05-27 17:04 ` Alexey Gladkov 2021-05-27 17:11 ` Leonid Krivoshein 2021-05-30 20:34 ` Leonid Krivoshein [this message]
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=8e60c64f-be1b-8d6f-66ae-b556860869b2@gmail.com \ --to=klark.devel@gmail.com \ --cc=make-initrd@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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