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=cbalaKJC1CCUzpDAQ5B+nE9e8mD5988AGjKrkaVGAjY=; b=kIGF2EreLWSQeMPECnwOpJLAwljX7eYIKGwhgfwZ5sR3wz7Cmn/XxXJpquXonPIepS 9gQzrSveXKxjT+Kg1u3drnOgVEUY8v+eR5V11WhVCU8KNKvo3+nj8A0oHeXv4CtKaEef ZnvHwHNUSKFZOIFJu1sHnXqdCP6xNpuYum/whXNazpXLEsbJrUPmINf0Yn1E0fnWvVB3 /IGbuRO1Fq6v5nN0CIHMvCBagzlbuejiDtYq+hwvHzdo+SQKh78FNFA3vIgLA2dwUO3u oCzAz79dxwNpzbsU5IVPky8GR3NWj0pO2PY8CRogrNezMkRExJ3qEeSpocxSeONSA9W+ tmvQ== 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=cbalaKJC1CCUzpDAQ5B+nE9e8mD5988AGjKrkaVGAjY=; b=3+dXoxK/HScXi+OppIzb/zsziW6qk5LcYObmTFxTbaalCQnpKV6jZfD4u4OCfNviO2 K9qWtJoNzgISEqn9nq7QiMpkJzHzNfJ7URvYs89pk/qGG+o+Wbq2A7eb5eDqqRTprJpg YZI+DDq3CrO7L+3U2KBlR39XXTZUn2dbESMhB+4ZCbqz1ZZg4kebZK+u3QecRXC58VLC vzXb7jG4YuuAOysfTDNgErFHc7nvW67pMQy3xfsDd5TBxje7Kq8RalBXbUPPzE6o0sCc uUt81n+Ivei/+bpRDYyssHtzbqzYEqgECc10iuqMQfI/cbaqQ0vRuo19gs1N0Xi7rYgd O8ZQ== X-Gm-Message-State: AOAM5307tCuUagQcJT29cZ6F1ajdUhQQRIwVCdXlHoG9dYPJJ9xtcFtn Y/i93xUu+i44I4SSmWHk2XH1NxWmbeI= X-Google-Smtp-Source: ABdhPJx8WeGBF5touZAkXRY8r+/RjMTa7FeuuBneIrabYa29k0hRxPkAR+kqm2wQfYlJfUzuCKOsFQ== X-Received: by 2002:a05:6512:31c6:: with SMTP id j6mr11312951lfe.436.1632514172114; Fri, 24 Sep 2021 13:09:32 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <20210922130839.b4iwv2arqyggczb3@example.org> <20210922144619.3h4va7j4u6m36mka@example.org> <20210922190348.rrn3cjywjwwcrhbl@example.org> <20210923004510.vwdythqavekqoow3@example.org> <20210923113814.ib7rjlvungq6gcyn@example.org> <20210924190028.6g45na2ufxjk7stz@example.org> From: Leonid Krivoshein Message-ID: Date: Fri, 24 Sep 2021 23:09:31 +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: <20210924190028.6g45na2ufxjk7stz@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: Fri, 24 Sep 2021 20:09:35 -0000 Archived-At: List-Archive: 24.09.2021 22:00, Alexey Gladkov пишет: > On Fri, Sep 24, 2021 at 08:31:50PM +0300, Leonid Krivoshein wrote: >> [...] >>> Также я уже говорил, что я думаю про дёргание /lib/initrd/cmdline.d/network. >>> >>> http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l56 >>> >>> Этот шаг можно выполнить лишь один раз. >> Не согласен! :-) > Ты делаешь внутри условия запись: > > if [ ! -s "$NETBOOT_IFNAME" ]; then > ... > echo "$netdev" >"$NETBOOT_IFNAME" > fi > > Больше ты этот файл нигде не пишешь: > > http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git&a=search&h=0b2522e81ea6279295bae02a8aa77e84c86d3918&st=grep&s=NETBOOT_IFNAME > > то есть после записи в этот файл этот if никогда больше не выполнится. > Этот шаг можно выполнить лишь один раз. В коде два if'а -- первый препятствует повторному дёрганью фичи network, второй, про который ты теперь говоришь, чтобы не проверять заново сеть, если ранее эта проверка уже была выполнена. Но и внутри второго if'а есть ещё один if -- если сеть поднялась, только в этом случае создаётся файл, а диалог возникает, если этот if не выполнен. И да, мы можем оказаться в этом месте снова благодаря вызову alboot_restart() -- он заставляет bootchain перезапустить цепочку с самого начала, с шага altboot. Таким образом возникает ситуация, при которой если даже сеть попытались поднять, но она не поднялась, мы можем повторять эту попытку, не дёргая повторно network. На моей памяти только один случай, когда сразу после подключения сети настройки выдавались не менее 20 секунд (битый ethernet кабель). Фактически это место возможности возраста для повторения попытки. Диалог -- о том, что может стоит переткнуть провод в другой штекер или проверить соединение. >> [...] >>> http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l65 >>> >>> Хардкод имени интерфейса. is_loopback(). >> Не только, это ещё и break loop / защита от пустого каталога. Обычно я тут >> ставлю "_". > Тогда так и нужно писать: > > for d in /sys/class/net/*; do > [ -d "$d" ] || continue > ... > done > > И не нужно отдельно вписывать lo. Он всегда там есть. В принципе, вариант, но у меня везде шебанг с set -f. ОК, подумаем над улучшением этого места. Всё равно waitnet не останется в нынешнем виде. -- Best regards, Leonid Krivoshein.