[Skiboot] [PATCH] opal-prd: Load opal-prd service after systemd-modules-load service

Dan Horák dan at danny.cz
Tue Mar 9 21:17:40 AEDT 2021


Hi Vasant,

On Tue,  9 Mar 2021 15:31:03 +0530
Vasant Hegde <hegdevasant at linux.vnet.ibm.com> wrote:

> In some cases opal-prd daemon is failing to start during boot. This is
> because systemd is trying to start service before `opal-prd` kernel module
> load.
> 
> Sample failure message:
> ----------------------
> Feb 21 19:03:09 grsp1 opal-prd: FW: Can't open PRD device /dev/opal-prd: No such file or directory
> Feb 21 19:03:09 grsp1 opal-prd: FW: Error initialising PRD channel
> 
> Lets start opal-prd service after systemd-modules-load is started. Also
> create conf file to load opal-prd module during boot. This will make sure
> systemd tries to start opal-prd daemon after opal-prd kernel module load.
> 
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
>  external/opal-prd/opal-prd.service |  1 +
>  skiboot.spec                       | 12 +++++++++++-
>  2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/external/opal-prd/opal-prd.service b/external/opal-prd/opal-prd.service
> index dce0dd262..cf514e498 100644
> --- a/external/opal-prd/opal-prd.service
> +++ b/external/opal-prd/opal-prd.service
> @@ -2,6 +2,7 @@
>  Description=OPAL PRD daemon
>  ConditionVirtualization=false
>  ConditionPathExists=/sys/firmware/devicetree/base/ibm,opal/diagnostics
> +After=systemd-modules-load.service
>  
>  [Service]
>  ExecStart=/usr/sbin/opal-prd
> diff --git a/skiboot.spec b/skiboot.spec
> index 38c686811..fbb21b562 100644
> --- a/skiboot.spec
> +++ b/skiboot.spec
> @@ -1,5 +1,5 @@
>  Name:		opal-prd
> -Version:	5.10
> +Version:	6.7
>  Release:	1%{?dist}
>  Summary:	OPAL Processor Recovery Diagnostics Daemon
>  
> @@ -11,6 +11,7 @@ ExclusiveArch:	ppc64le
>  BuildRequires:	systemd
>  
>  Requires:	systemd
> +Requires:	systemd-udev
>  
>  Source0:	https://github.com/open-power/skiboot/archive/v%{version}.tar.gz
>  
> @@ -62,6 +63,10 @@ make -C external/pflash install DESTDIR=%{buildroot} prefix=/usr
>  mkdir -p %{buildroot}%{_unitdir}
>  install -m 644 -p external/opal-prd/opal-prd.service %{buildroot}%{_unitdir}/opal-prd.service
>  
> +# Auto-load kernel module after boot/reboot
> +mkdir -p %{buildroot}/%{_sysconfdir}/modules-load.d
> +echo 'opal-prd' > %{buildroot}/%{_sysconfdir}/modules-load.d/%{name}.conf

it should use the system path %{buildroot}%{_prefix}/lib/modules-load.d,
see for example
https://src.fedoraproject.org/rpms/s390utils/blob/rawhide/f/s390utils.spec#_239

/etc (%sysconfdir) is reserved for local admin's modifications

Would forced loading of the opal-prd module cause any issue in pseries
systems (eg. KVM guests)?


		Dan

> +
>  mkdir -p %{buildroot}%{_datadir}/qemu
>  install -m 644 -p skiboot.lid %{buildroot}%{_datadir}/qemu/skiboot.lid
>  
> @@ -91,6 +96,7 @@ fi
>  %{_sbindir}/opal-prd
>  %{_unitdir}/opal-prd.service
>  %{_mandir}/man8/*
> +%config(noreplace) %{_sysconfdir}/modules-load.d/%{name}.conf
>  
>  %files -n opal-utils
>  %doc README.md
> @@ -108,6 +114,10 @@ fi
>  %{_datadir}/qemu/
>  
>  %changelog
> +* Tue Mar 9 2021 Vasant Hegde <hegdevasant at linux.vnet.ibm.com> - 6.7
> +- Update to v6.7 release
> +- Create conf file to load opal-prd module at boot
> +
>  * Thu Mar 01 2018 Murilo Opsfelder Araujo <muriloo at linux.vnet.ibm.com> - 5.10-1
>  - Update to v5.10 release
>  
> -- 
> 2.26.2
> 
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot


More information about the Skiboot mailing list