[devel] Q: postinst hook for firmware-*

Dmitry V. Levin ldv на altlinux.org
Сб Сен 9 00:01:37 MSK 2017


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" <lakostis на altlinux.ru>
> 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
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20170909/2ddf26a9/attachment.bin>


Подробная информация о списке рассылки Devel