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=-0.9 required=5.0 tests=BAYES_00,FSL_HELO_HOME autolearn=no autolearn_force=no version=3.4.1 Date: Fri, 24 Nov 2017 00:06:35 +0100 From: Konstantin Lepikhov To: devel@lists.altlinux.org Message-ID: <20171123230634.GA6555@lks.home> Mail-Followup-To: devel@lists.altlinux.org References: <20170907074727.GA5493@lks.home> <20170907092831.GA27490@altlinux.org> <20170907101743.GA19849@lks.home> <20170908210136.GA19351@altlinux.org> <20170908220652.GA4857@lks.home> <20171122142351.085e3c7f@sem-notebook> <20171123115542.GA13450@lks.home> <20171123165603.3cf0dc39@sem.office.basealt.ru> <20171123142236.GA7748@lks.home> <20171123180858.GC24537@imap.altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20171123180858.GC24537@imap.altlinux.org> X-Operation-System: ALT Linux starter kit (Trientalis) 4.14.0-lks-wks-alt1 User-Agent: Mutt/1.8.3 (2017-05-23) Subject: Re: [devel] Q: postinst hook for firmware-* X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Nov 2017 23:06:39 -0000 Archived-At: List-Archive: List-Post: Hi Michael! On 23-11-17, at 09:08:58 you wrote: > On Thu, Nov 23, 2017 at 03:22:36PM +0100, Konstantin Lepikhov wrote: > > > Дело не в обновлении microcode, а в том, что меняется initrd. > > > И если по каким-то причинам новый initrd оказался не рабочим, > > > то загрузиться с текущим ядром уже не получится. Да, бывает > > > обратная ситуация, когда нужно перегенерить initrd, но такие > > > случаи более-менее предсказуемы, думаю. > > Для mission critical вещей есть такая вещь как monolitic kernel. > > Железобетонно и предсказуемо. > > Это другая крайность. > > Мне кажется, что не следует перекладывать риск тех, кому не пофиг > на микрокод, на всех. У всех, кому не пофиг на ядро, оно обновится > (вместе со штатной и _ожидаемой_ перегенерацией initrd) примерно > в течение недели. > Это все прекрасно и замечательно, но: - Добавленный функционал по микрокоду это просто логическое продолжение того, что делает триггер сейчас - а именно поддерживает initrd в актуальном состоянии. см. код $ cat ~/git/work/bootloader-utils/kernel.filetrigger ... ucode_detected= while read f; do case "$f" in ... $UCODE_PREFIX/*-ucode/*) ucode_detected=1 ;; esac done ... if [ -n "$ucode_detected" ]; then VERSION=$(uname -r) # regenerate initrd image without updating symlinks /sbin/installkernel $INSTALLKERNEL_ARGS --nodefault --noflavour "$VERSION" fi ... Да, initrd пересоздается, но для текущего ядра и пересоздается возможно тем же самым make-inird которым он создавался изначально. И в системе есть другие ядра, и initrd для них остается нетронутым. Если же ядро одно, то я не знаю, это редкий случай. Да, можно вынести эту логику в отдельный триггер, который будет ставиться вместе с make-initrd-ucode чтобы всем было хорошо, но мне не хочется дублировать код. PS В тему "а вдруг что": давайте тогда придумаем механизм сохранения предыдущей версии systemd после обновления, он знаете ли вашу систему так поломать может при обновлении, никакой initrd не спасет. Не далее как раз такое случилось - #ALT 34193 -- WBR et al.