From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=avs8pnsCaRQZYDGseCoGhLXtlUQuwInmCO1lpqjKrFE=; b=DYkMunI4cRrbPuTx2OPABQs7Bv7IKB0tFjFtjPy+LPVHo9feFZdsy1aO+EAt/Ebaz1 Qq9a3MtN+W8bwhEfdw4Tg6A1y0RpyVuoAUvW01UBedGdzfopyVEz1AUBstGXYO3zPkl5 WuL/XT7A1RVHcs0wtnF94OEZO6AqrL6K/LjhF+5YgiWWmz8EFhOLzdDQwO40kh0w3IDY 03+nkRQ4Wu3e6gl4KkSLioT5TaRutlX/6TnKoZA0z+2nwqW21JW+5elrPN9VqpBGdj06 rEAn9GeELrqZzvl7o1sg7NCrKhWdb84+0oWl82A3CIEj5N/Owg3rtsO96S+2HJBnybnZ rkhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=avs8pnsCaRQZYDGseCoGhLXtlUQuwInmCO1lpqjKrFE=; b=ggs+gr/rgj88NL5qTUE+aO+0HRd7VEsKV6sztDJXIS5pBCnRtfAv8QrsoBXBYmtwaj jt6oZ1D89WuTcZRx4ZNy49woTn0/NCkWL4qTpPMvJDJhd2/C9xq4hJFmTzw6cGuF8NLN sHlCAsU6t9m+kc3Ak87CpA3Vm99DKFckX0JcJNctC3mZUzzdSZSetCeqRI0vX4Ik7sOo ax+V7f0A/Y2++g8e1cahwn+avQ/rx94le90DMHS4g+fUyQSNHYaEdc+Za6rA6AGM/XVi 0pfh54Xd8gCifwr0z0p/XVDXRrhzuEfzCfDOgDGbrk+FeNMjEDbpe5HvGlAGgpUDnG8X pr+Q== X-Gm-Message-State: AOAM530Hop0Or/4H8ry2r/JumU0KPgTVlpv6TbrzyLaTx16UsxLraa0w j1Y9rAO4nXIl2osBPv2akGFF4R5P3Bo= X-Google-Smtp-Source: ABdhPJwOwfjpjr5FNYmebj/2Gc3k7azNaOm1oFDU0n0mop73imxSHcYB78nhcJ7txrv0rUt9ZOZzTA== X-Received: by 2002:a19:8503:: with SMTP id h3mr1166781lfd.379.1622406844890; Sun, 30 May 2021 13:34:04 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <20210406082842.pg3rejmmnxuxvddf@example.org> <20210407125739.jeenqyplba3v6itn@example.org> <53dd1676-6f7b-9a75-49a9-e970e9440b1c@gmail.com> <20210526181231.54b2bk4n6uyvbq5j@example.org> <20210527083750.6fmrm3ou7jfch6qg@example.org> <20210527135347.s6e5rr7t7ipz6uc3@example.org> From: Leonid Krivoshein Message-ID: <8e60c64f-be1b-8d6f-66ae-b556860869b2@gmail.com> Date: Sun, 30 May 2021 23:34:04 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20210527135347.s6e5rr7t7ipz6uc3@example.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [make-initrd] Fwd: [#269003] TESTED make-initrd.git=2.14.1-alt1 X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 May 2021 20:34:08 -0000 Archived-At: List-Archive: Привет! 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.