On Thu, Sep 07, 2017 at 12:17:43PM +0200, Konstantin Lepikhov wrote: > Hi Dmitry! > > On 09/07/2017, at 12:28:31 PM you wrote: > > > On Thu, Sep 07, 2017 at 09:47:27AM +0200, Konstantin Lepikhov wrote: > > > Тогда все можно сделать еще проще, см. патч. > > [...] > > > @@ -119,6 +124,10 @@ if [ -n "$kernel_versions_handled" -a "$INITRD_AUTOUPDATE" = all ]; then > > > # regenerate initrd image without updating symlinks > > > /sbin/installkernel $INSTALLKERNEL_ARGS --nodefault --noflavour "$VERSION" > > > done > > > +elif [ -n "$ucode_detected" ]; then > > > + VERSION=$(uname -r) > > > + # regenerate initrd image without updating symlinks > > > + /sbin/installkernel $INSTALLKERNEL_ARGS --nodefault --noflavour "$VERSION" > > > elif [ -n "$module_versions_handled" ]; then > > > > Обработка варианта $ucode_detected не должна исключать обработку > > $module_versions_handled, в остальном выглядит правдоподобно. > Понял, прикладываю исправленный вариант. > > -- > WBR et al. > >From aa8d4bf741fbb36c90231ec8a57a9d431c595dbe Mon Sep 17 00:00:00 2001 > From: "Konstantin A. Lepikhov" > Date: Wed, 6 Sep 2017 13:49:26 +0200 > Subject: [PATCH] kernel.filetrigger: ucode support > > We need to rebuild initramfs on CPU ucode changes otherwise everything > will continue use outdated version till next kernel update. > --- > kernel.filetrigger | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/kernel.filetrigger b/kernel.filetrigger > index 9cdf01e..0a07292 100755 > --- a/kernel.filetrigger > +++ b/kernel.filetrigger > @@ -9,6 +9,7 @@ > BOOTDIR=/boot > VMLINUZ_PREFIX=/boot/vmlinuz > MODULES_PREFIX=/lib/modules > +UCODE_PREFIX=/lib/firmware > INITRD_AUTOUPDATE= > > . /etc/sysconfig/installkernel > @@ -99,6 +100,7 @@ $VERSION" > last_added="$VERSION" > } > > +ucode_detected= > while read f; do > case "$f" in > $VMLINUZ_PREFIX-[0-9].*-*-*) > @@ -107,6 +109,9 @@ while read f; do > $MODULES_PREFIX/*-*-*/*/*.ko*) > handle_module "$f" > ;; > + $UCODE_PREFIX/*-ucode/*) > + ucode_detected=1 > + ;; > esac > done > > @@ -119,7 +124,13 @@ if [ -n "$kernel_versions_handled" -a "$INITRD_AUTOUPDATE" = all ]; then > # regenerate initrd image without updating symlinks > /sbin/installkernel $INSTALLKERNEL_ARGS --nodefault --noflavour "$VERSION" > done > -elif [ -n "$module_versions_handled" ]; then > +elif [ -n "$module_versions_handled" -o -n "$ucode_detected" ]; then > + if [ -n "$ucode_detected" ]; then > + VERSION=$(uname -r) > + # regenerate initrd image without updating symlinks > + /sbin/installkernel $INSTALLKERNEL_ARGS --nodefault --noflavour "$VERSION" > + fi Что-то я сразу не спросил: для какого ядра хочется обновить initrd при обновлении ucode? текущее, как написано в патче? то, на которое /boot/vmlinuz указывает? -- ldv