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=20210112; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=LU/Xy+QskJQZCrPHvCLaPwkdRjMKeDSLt9x/mcfgLXI=; b=U0hzCCX+rFE3Zk61ShJ3dzYclBjs4Dx0MpXTp3LPk4Kls5F9tOO8GLyjbyqdJQhXdk sWIgLQT83dLGCX0teCD/wWw4BQJEOIKBij1zfNiQMoRiWc+ywaU5I6NB4fIPISvXotlC VJQuNgScgO5ZYR5qrIWwykrCxpcae4nqUhySxm+qcWJ7i6uMS0svxYb28R4prCSuLUOh G8IdKIg2PGMabbXlcBpHXWWLrdHR8Wg5fvOnKylM5oq/E+q6pLzF4HjTGChMfQjoMaHb 4ogyAM9n6O033ukhPrvEfA+gl14hq4tISNQ6aNS4csgShJmhUPkecbyjbWsJgjzDSP5u YAZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=LU/Xy+QskJQZCrPHvCLaPwkdRjMKeDSLt9x/mcfgLXI=; b=TSx7duQxGTWMtAGzkRMyUSDIOpzDpw20G5Hi8c2hOtMXHjU1YQUhFiJjjuu49/26kg xTezqPcgGn1bg9SxZj2DpmjhHnjr1+1RyS74BwlG5s86zL03Zo7IQLv/xpea4LdKWn4M oKuRv+Unx89C4VeY4Np7K3UVmOFYNEex9B1KAhc31sq5ynYJtISidbTu4A4KfVl6+vhO 4AN+H3hFJn90pXztpF5ptm/M7y/aPQrI/ZT+KJTSUYlgG0tR6A3l22lx3ZOfq43vZCDG iST/5QGBrplGMU+Ihk1GXuUwSLQFsN6monuOIWWH28xAk0bz9McFRIuS9YYMoYfoF1zm 8Yjg== X-Gm-Message-State: AOAM533nVQ2B0B5QJhbCejLMgWc8D0G7B4RvkARN2nIuOvmU5WzAuEyj sQx2sutqCir3xhZLkluRteFPgOnqoIs= X-Google-Smtp-Source: ABdhPJyCYhmofyer+2x3d2Xvru3RfCzeq8BpHLt9DiZZub5wQcUaeNvIquBHun4kn7vTcsOI4xiSzg== X-Received: by 2002:ac2:5e65:: with SMTP id a5mr8426703lfr.338.1632312398568; Wed, 22 Sep 2021 05:06:38 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <20210917220845.s4dgl2hqla7yt4pe@example.org> <5815442b-e5a1-7469-b705-24090749e245@gmail.com> <20210922100901.e5dsw554g6elb3lx@example.org> <52f4526d-7fa7-e0ed-6d2d-12e06f20408c@gmail.com> <20210922114132.yaobsgcz7vrkjgbq@example.org> From: Leonid Krivoshein Message-ID: <8d262440-d8fc-c174-3293-1964e3440617@gmail.com> Date: Wed, 22 Sep 2021 15:06:37 +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: <20210922114132.yaobsgcz7vrkjgbq@example.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [make-initrd] =?utf-8?b?dWRoY3BjIHNjcmlwdCDQsiDRhNC40YfQtSBuZXR3?= =?utf-8?q?ork?= 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: Wed, 22 Sep 2021 12:06:43 -0000 Archived-At: List-Archive: 22.09.2021 14:41, Alexey Gladkov пишет: > On Wed, Sep 22, 2021 at 01:56:11PM +0300, Leonid Krivoshein wrote: >> 22.09.2021 13:09, Alexey Gladkov пишет: >>> On Mon, Sep 20, 2021 at 12:50:33AM +0300, Leonid Krivoshein wrote: >>>> Вопрос в том, как заставить >>>> снова запуститься network-up и как отлаживать это хозяйство в rdshell, >>>> учитывая, что с ним сеть не конфигурируется. >>> Зачем его перезапускать ? >>> >>> network-up в цикле проверяет все ли /sys/class/net/*, которые имеют >>> конфигурацию, перешли в состояние online. >>> >>> Если в процессе ожидания появится новая конфигурация, то она также >>> подхватится. >> Тогда как сделать так, чтобы появилась новая конфигурация? >> >> Вот ничего из 4х переменных пользователь не передал через /proc/cmdline. >> Допустим, я сделал диалог, в котором он настраивает сеть руками. Как новые >> настройки должны попасть в фичу network, чтобы она их применила? > Без параметра в /proc/cmdline мне кажется всё-таки не обойтись до тех пор > пока не открыли телепатию. > > Можно добавить параметр network=ask и при его присутствии можно спрашивать > о конфигурации у пользователя. > > Код для конфигурации интерфейса есть тут: > > features/network/data/lib/initrd/cmdline.d/network У меня вчера всё же получилось добиться желаемого, вот фрагмент: # No network settings if [ "${IP:-0}" = 0 ] &&         [ "${ROUTE:-0}" = 0 ] &&         [ "${IFNAME:-0}" = 0 ] &&         [ "${NAMESERVER:-0}" = 0 ] then         msg="network settings not defined in /proc/cmdline"         if [ -n "${RDSHELL-}" ]; then                 [ -z "$NOASKUSER" ] ||                         fatal "$msg, dialogs are disabled"                 message "$msg"                 msg="N${msg:1}. Try with the option 'ip=dhcp4' after reboot."                 IM_errmsg "$msg $BC_RBMSG"                 bc_reboot         fi         message "$msg"         ( echo 'export IP="1"'           echo 'export ROUTE="0"'           echo 'export IFNAME="0"'           echo 'export NAMESERVER="0"'           echo 'export IP0="dhcp4"'         ) >> /.initrd/initenv         ( # shellcheck disable=SC2012           for netdev in $(ls /sys/class/net/) lo; do                 [ "$netdev" != lo ] ||                         continue                 [ -r "/sys/class/net/$netdev/flags" ] ||                         continue                 ACTION="add" INTERFACE="$netdev" /lib/uevent/filters/network           done           /lib/initrd/cmdline.d/network         ) >/dev/null 2>&1 & fi Это упрощённый вариант без диалогов. Если не указать ничего в /proc/cmdline, пытаемся найти интерфейсы и сконфигурировать их по DHCPv4. Код работает нормально, но есть один сторонний эффект. Не могу объяснить причину. При загрузке больших ISO-шников с mirror.yandex.ru по http всё ОК. При загрузке их же по ftp, первое обращение с получением размера файла проходит успешно, а на втором обращении (непосредственно скачивание образа) curl возвращает 7. Если тут же запустить скачивание повторно (нажать в форме ENTER, не меняя адресов), скачивание со второй попытки проходит успешно. Этого стороннего эффекта не возникает, если в /proc/cmdline добавить ip=dhcp4, я это воспроизводил многократно. Т.е. мой код, хоть и работает, не совсем правильно, ошибка точно связана с этим фрагментом. -- Best regards, Leonid Krivoshein.