!3 [sync] PR-1: Marvell FC driver for OE 20.03 LTS SP3 and OE 22.03
From: @openeuler-sync-bot Reviewed-by: @lovelijunyi Signed-off-by: @lovelijunyi
This commit is contained in:
commit
6874ed9e8a
6
99-qla2xxx.rules
Normal file
6
99-qla2xxx.rules
Normal file
@ -0,0 +1,6 @@
|
||||
#
|
||||
# RULES FILE: located in /etc/udev/rules.d/
|
||||
#
|
||||
|
||||
# qla2xxx driver
|
||||
SUBSYSTEM=="pci", ENV{DRIVER}=="qla2xxx", ACTION=="change", RUN+="/lib/udev/qla2xxx_udev.sh"
|
||||
55
README.en.md
55
README.en.md
@ -1,36 +1,31 @@
|
||||
# qla2xxx
|
||||
# marvelldriver
|
||||
|
||||
#### Description
|
||||
provide Marvell QLogic FC HBA adapter qla2xxx driver for openEuler LTS version.
|
||||
## Introduction
|
||||
provide Marvell QLogic FC HBA adapter driver for openEuler LTS version.
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
## Driver info
|
||||
QLogic driver package for openEuler system.
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
FC HBA driver is from [Marvell/QLogic webisite](https://www.marvell.com/support/downloads.html)
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
|
||||
### FC HBA driver
|
||||
> qla2xxx-x.y.z.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
### QLogic FC HBA driver
|
||||
|
||||
1. This repository is for building qla2xxx KMOD RPM package.
|
||||
2. this qla2xxx driver supports openEuler 20.03 LTS SP3 and openEuler 22.03 LTS version.
|
||||
3. this qla2xxx driver supports ARM64 and X64 platform.
|
||||
4. this qla2xxx driver supports Kunpeng and Phytium CPU platform.
|
||||
|
||||
|
||||
49
README.md
49
README.md
@ -1,37 +1,28 @@
|
||||
# qla2xxx
|
||||
# marvelldriver
|
||||
|
||||
#### 介绍
|
||||
provide Marvell QLogic FC HBA adapter qla2xxx driver for openEuler LTS version.
|
||||
## 介绍
|
||||
provide Marvell QLogic FC HBA adapter driver for openEuler LTS version.
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
Ethernet NIC driver and SAS/SATA driver will provide in other repository.
|
||||
|
||||
## 软件架构
|
||||
QLogic driver package for openEuler system.
|
||||
|
||||
FC HBA driver is from [Marvell/QLogic webisite](https://www.marvell.com/support/downloads.html)
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
### FC HBA driver
|
||||
> qla2xxx-x.y.z
|
||||
|
||||
|
||||
#### 特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
|
||||
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
|
||||
## 安装教程
|
||||
|
||||
### QLogic FC HBA driver
|
||||
|
||||
1. 本仓库用于生成openEuler 版本的KMOD 驱动RPM 安装包。
|
||||
2. 支持 openEuler 20.03 LTS SP3 及 openEuler 22.03 LTS 版本。
|
||||
3. 支持 ARM64 及 X64 平台。
|
||||
4. 支持国产CPU。
|
||||
1
dracut.qla2xxx.conf
Normal file
1
dracut.qla2xxx.conf
Normal file
@ -0,0 +1 @@
|
||||
add_drivers+=" tcm_qla2xxx qla2xxx "
|
||||
327
kmodtool-nvme.8.x.sh
Normal file
327
kmodtool-nvme.8.x.sh
Normal file
@ -0,0 +1,327 @@
|
||||
#!/bin/bash
|
||||
|
||||
# kmodtool - Helper script for building kernel module RPMs
|
||||
# An original version appeared in Fedora. This version is
|
||||
# generally called only by the %kernel_module_package RPM macro
|
||||
# during the process of building Driver Update Packages (which
|
||||
# are also known as "kmods" in the Fedora community).
|
||||
#
|
||||
# Copyright (c) 2003-2010 Ville Skyttä <ville.skytta@iki.fi>,
|
||||
# Thorsten Leemhuis <fedora@leemhuis.info>
|
||||
# Jon Masters <jcm@redhat.com>
|
||||
# Copyright (c) 2012-2013 Jiri Benc <jbenc@redhat.com>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# Changelog:
|
||||
#
|
||||
# 2010/07/28 - Add fixes for filelists in line with LF standard
|
||||
# - Remove now defunct "framepointer" kernel variant
|
||||
# - Change version to "rhel6-rh2" as a consequence.
|
||||
#
|
||||
# 2010/01/10 - Simplified for RHEL6. We are working on upstream
|
||||
# moving to a newer format and in any case do not
|
||||
# need to retain support for really old systems.
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
myprog="kmodtool"
|
||||
myver="0.10.10_kmp2"
|
||||
knownvariants=@(debug|kdump)
|
||||
kmod_name=
|
||||
kver=
|
||||
verrel=
|
||||
variant=
|
||||
|
||||
get_kernel_release ()
|
||||
{
|
||||
if [[ -z $1 ]]; then
|
||||
uname -r
|
||||
return
|
||||
fi
|
||||
local arch=$(arch)
|
||||
local verrel=${1%.$arch}
|
||||
local verprefix=${verrel%.*}
|
||||
local versuffix=${verrel#$verprefix}
|
||||
verrel=$(ls -Ud /usr/src/kernels/$verprefix*$versuffix.$arch | sort -V | tail -n 1)
|
||||
verrel=${verrel##*/}
|
||||
[[ -z $verrel ]] && verrel=$1.$arch
|
||||
echo "$verrel"
|
||||
}
|
||||
|
||||
get_verrel ()
|
||||
{
|
||||
verrel=$(get_kernel_release "$1")
|
||||
verrel=${verrel/%.$knownvariants/}
|
||||
}
|
||||
|
||||
print_verrel ()
|
||||
{
|
||||
get_verrel $@
|
||||
echo "${verrel}"
|
||||
}
|
||||
|
||||
get_verrel_for_deps ()
|
||||
{
|
||||
verrel_dep=${1:-$(uname -r)}
|
||||
verrel_dep=${verrel_dep/%.$knownvariants/}
|
||||
}
|
||||
|
||||
get_variant ()
|
||||
{
|
||||
get_verrel $@
|
||||
variant=$(get_kernel_release "$1")
|
||||
variant=${variant/#$verrel?(.)/}
|
||||
variant=${variant:-'""'}
|
||||
}
|
||||
|
||||
print_variant ()
|
||||
{
|
||||
get_variant $@
|
||||
echo "${variant}"
|
||||
}
|
||||
|
||||
get_filelist() {
|
||||
local IFS=$'\n'
|
||||
filelist=($(cat))
|
||||
|
||||
if [ ${#filelist[@]} -gt 0 ];
|
||||
then
|
||||
for ((n = 0; n < ${#filelist[@]}; n++));
|
||||
do
|
||||
line="${filelist[n]}"
|
||||
line=$(echo "$line" \
|
||||
| sed -e "s/%verrel/$verrel/g" \
|
||||
| sed -e "s/%variant/$variant/g" \
|
||||
| sed -e "s/%dashvariant/$dashvariant/g" \
|
||||
| sed -e "s/%dotvariant/$dotvariant/g" \
|
||||
| sed -e "s/\.%1/$dotvariant/g" \
|
||||
| sed -e "s/\-%1/$dotvariant/g" \
|
||||
| sed -e "s/%2/$verrel/g")
|
||||
echo "$line"
|
||||
done
|
||||
else
|
||||
echo "%defattr(644,root,root,755)"
|
||||
echo "/lib/modules/${verrel}${dotvariant}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
get_rpmtemplate ()
|
||||
{
|
||||
local variant="${1}"
|
||||
local dashvariant="${variant:+-${variant}}"
|
||||
local dotvariant="${variant:+.${variant}}"
|
||||
|
||||
echo "%package -n kmod-${kmod_name}${dashvariant}"
|
||||
|
||||
if [ -z "$kmod_provides_summary" ]; then
|
||||
echo "Summary: ${kmod_name} kernel module(s)"
|
||||
fi
|
||||
|
||||
if [ -z "$kmod_provides_group" ]; then
|
||||
echo "Group: System Environment/Kernel"
|
||||
fi
|
||||
|
||||
if [ ! -z "$kmod_version" ]; then
|
||||
echo "Version: %{kmod_version}"
|
||||
fi
|
||||
|
||||
if [ ! -z "$kmod_release" ]; then
|
||||
echo "Release: %{kmod_release}"
|
||||
fi
|
||||
|
||||
# Turn of the internal dep generator so we will use the kmod scripts.
|
||||
echo "%global _use_internal_dependency_generator 0"
|
||||
|
||||
cat <<EOF
|
||||
Provides: kernel-modules >= ${verrel_dep}${dotvariant}
|
||||
Provides: ${kmod_name}-kmod = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
Requires(post): /usr/sbin/depmod
|
||||
Requires(postun): /usr/sbin/depmod
|
||||
Obsoletes: kmod-hpqlgc-%{driver_name}
|
||||
Obsoletes: kmod-%{driver_name}
|
||||
Conflicts: kmod-hpqlgc-%{driver_name}
|
||||
EOF
|
||||
|
||||
if [ "yes" != "$nobuildreqs" ]
|
||||
then
|
||||
echo "BuildRequires: kernel${dashvariant}-devel"
|
||||
fi
|
||||
|
||||
if [ "" != "$override_preamble" ]
|
||||
then
|
||||
cat "$override_preamble"
|
||||
fi
|
||||
|
||||
cat <<EOF
|
||||
%description -n kmod-${kmod_name}${dashvariant}
|
||||
This package provides the ${kmod_name} kernel modules built for
|
||||
the Linux kernel ${verrel}${dotvariant} for the %{_target_cpu}
|
||||
family of processors.
|
||||
|
||||
Public key available at http://ldriver.qlogic.com/RPM-public-key/
|
||||
SRPMS available at http://ldriver.qlogic.com/driver-srpms/
|
||||
|
||||
EOF
|
||||
|
||||
##############################################################################
|
||||
## The following are not part of this script directly, they are scripts ##
|
||||
## that will be executed by RPM during various stages of package processing ##
|
||||
##############################################################################
|
||||
|
||||
cat <<EOF
|
||||
%post -n kmod-${kmod_name}${dashvariant}
|
||||
if [ -e "/boot/System.map-${verrel}${dotvariant}" ]; then
|
||||
/usr/sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
|
||||
fi
|
||||
|
||||
modules=( \$(find /lib/modules/${verrel}${dotvariant}/extra/${kmod_name} | grep '\.ko$') )
|
||||
if [ -x "/sbin/weak-modules" ]; then
|
||||
printf '%s\n' "\${modules[@]}" \
|
||||
| /sbin/weak-modules --add-modules
|
||||
fi
|
||||
|
||||
if [ ! -e /boot/initramfs-`uname -r`.img.ql.bkup ]; then
|
||||
cp -p /boot/initramfs-`uname -r`.img /boot/initramfs-`uname -r`.img.ql.bkup
|
||||
fi
|
||||
|
||||
dracut -f
|
||||
|
||||
EOF
|
||||
|
||||
cat <<EOF
|
||||
%preun -n kmod-${kmod_name}${dashvariant}
|
||||
rpm -ql kmod-${kmod_name}${dashvariant}-%{kmod_version}-%{kmod_release}.$(arch) | grep '\.ko$' > /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules
|
||||
EOF
|
||||
|
||||
cat <<EOF
|
||||
%postun -n kmod-${kmod_name}${dashvariant}
|
||||
if [ -e "/boot/System.map-${verrel}${dotvariant}" ]; then
|
||||
/usr/sbin/depmod -aeF "/boot/System.map-${verrel}${dotvariant}" "${verrel}${dotvariant}" > /dev/null || :
|
||||
fi
|
||||
|
||||
modules=( \$(cat /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules) )
|
||||
rm /var/run/rpm-kmod-${kmod_name}${dashvariant}-modules
|
||||
if [ -x "/sbin/weak-modules" ]; then
|
||||
printf '%s\n' "\${modules[@]}" \
|
||||
| /sbin/weak-modules --remove-modules
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo "%files -n kmod-${kmod_name}${dashvariant}"
|
||||
|
||||
if [ "" == "$override_filelist" ];
|
||||
then
|
||||
echo "%defattr(644,root,root,755)"
|
||||
echo "/lib/modules/${verrel}${dotvariant}"
|
||||
echo "%config /etc/depmod.d/${kmod_module}.conf"
|
||||
echo "/etc/dracut.conf.d/qla2xxx.conf"
|
||||
echo "/etc/depmod.d/qla2xxx.conf"
|
||||
else
|
||||
cat "$override_filelist" | get_filelist
|
||||
fi
|
||||
}
|
||||
|
||||
print_rpmtemplate ()
|
||||
{
|
||||
kmod_name="${1}"
|
||||
kmod_module=`echo $kmod_name | cut -d"-" -f2`
|
||||
shift
|
||||
kver="${1}"
|
||||
get_verrel "${1}"
|
||||
get_verrel_for_deps "${1}"
|
||||
[[ -z $kver ]] && kver=$verrel
|
||||
shift
|
||||
if [ -z "${kmod_name}" ] ; then
|
||||
echo "Please provide the kmodule-name as first parameter." >&2
|
||||
exit 2
|
||||
elif [ -z "${kver}" ] ; then
|
||||
echo "Please provide the kver as second parameter." >&2
|
||||
exit 2
|
||||
elif [ -z "${verrel}" ] ; then
|
||||
echo "Couldn't find out the verrel." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
for variant in "$@" ; do
|
||||
if [ "default" == "$variant" ];
|
||||
then
|
||||
get_rpmtemplate ""
|
||||
else
|
||||
get_rpmtemplate "${variant}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
usage ()
|
||||
{
|
||||
cat <<EOF
|
||||
You called: ${invocation}
|
||||
|
||||
Usage: ${myprog} <command> <option>+
|
||||
Commands:
|
||||
verrel <uname>
|
||||
- Get "base" version-release.
|
||||
variant <uname>
|
||||
- Get variant from uname.
|
||||
rpmtemplate <mainpgkname> <uname> <variants>
|
||||
- Return a template for use in a source RPM
|
||||
version
|
||||
- Output version number and exit.
|
||||
EOF
|
||||
}
|
||||
|
||||
invocation="$(basename ${0}) $@"
|
||||
while [ "${1}" ] ; do
|
||||
case "${1}" in
|
||||
verrel)
|
||||
shift
|
||||
print_verrel $@
|
||||
exit $?
|
||||
;;
|
||||
variant)
|
||||
shift
|
||||
print_variant $@
|
||||
exit $?
|
||||
;;
|
||||
rpmtemplate)
|
||||
shift
|
||||
print_rpmtemplate "$@"
|
||||
exit $?
|
||||
;;
|
||||
version)
|
||||
echo "${myprog} ${myver}"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Error: Unknown option '${1}'." >&2
|
||||
usage >&2
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# mode: sh
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
# ex: ts=2 sw=2 et
|
||||
BIN
qla2xxx-src-v10.02.08.00.a7-k.tar.gz
Normal file
BIN
qla2xxx-src-v10.02.08.00.a7-k.tar.gz
Normal file
Binary file not shown.
125
qla2xxx.spec
Normal file
125
qla2xxx.spec
Normal file
@ -0,0 +1,125 @@
|
||||
%define dvendor qlgc
|
||||
%define vendor %{dvendor}
|
||||
%define driver_name qla2xxx
|
||||
%define dist_version 10.02.08.00.a7-k
|
||||
%define dist_str openEuler
|
||||
%define version 10.02.08.00.a7
|
||||
%define release 1
|
||||
%define BUILD_KERNEL_SPEC %( if [ -z "${BUILD_KERNEL}" ]; then BUILD_KERNEL=` rpm -q kernel-devel |sed 's/.*devel-//g' `; fi; echo "${BUILD_KERNEL}" | cut -d "-" -f -2 )
|
||||
|
||||
%define mod_sign_files /home/sign
|
||||
%define module_key %{mod_sign_files}/qlgc_module_signing_key-202x.priv
|
||||
%define module_cer %{mod_sign_files}/qlgc_module-202x.der
|
||||
|
||||
%define gpginfo "RPM public key available at http://ldriver.qlogic.com/RPM-public-key/ and Module public key available at http://ldriver.qlogic.com/Module-public-key/"
|
||||
|
||||
Name: %{vendor}-%{driver_name}
|
||||
Version: %{version}
|
||||
Release: %{release}
|
||||
Summary: QLogic qlaxxx FC Driver Update Program package
|
||||
Group: System/Kernel
|
||||
License: GPLv2
|
||||
Vendor: QLogic Corp.
|
||||
Packager: QLogic Corp.
|
||||
|
||||
URL: http://www.qlogic.com
|
||||
|
||||
Source0: qla2xxx-src-v10.02.08.00.a7-k.tar.gz
|
||||
Source1: kmodtool-nvme.8.x.sh
|
||||
Source2: dracut.qla2xxx.conf
|
||||
Source3: 99-qla2xxx.rules
|
||||
Source4: qla2xxx_udev.sh
|
||||
|
||||
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-src-%{dist_version}-%{release}-XXXXXX)
|
||||
BuildRequires: kernel-rpm-macros
|
||||
BuildRequires: kernel-devel
|
||||
|
||||
BuildRequires: hostname
|
||||
BuildRequires: procps-ng
|
||||
BuildRequires: systemd-udev
|
||||
|
||||
|
||||
|
||||
%global debug_package %{nil}
|
||||
|
||||
%description
|
||||
OE Driver Update package for QLogic FC Adapter.
|
||||
Public key available at http://ldriver.qlogic.com/RPM-public-key/
|
||||
SRPMS available at http://ldriver.qlogic.com/driver-srpms/
|
||||
|
||||
|
||||
%prep
|
||||
%setup -n %{driver_name}-%{dist_version}
|
||||
set -- *
|
||||
mkdir source
|
||||
mv "$@" source/
|
||||
mkdir obj
|
||||
echo "override %{driver_name} * weak-updates/%{dvendor}-%{driver_name}" > %{driver_name}.conf
|
||||
|
||||
%build
|
||||
for flavor in 'default'; do
|
||||
rm -rf obj/$flavor
|
||||
cp -r source obj/$flavor
|
||||
cd obj/$flavor
|
||||
make -C /lib/modules/` rpm -q kernel-devel |sed 's/.*devel-//g' `/build M=`pwd` modules
|
||||
|
||||
done
|
||||
|
||||
%install
|
||||
export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
|
||||
export INSTALL_MOD_DIR=extra/%{name}
|
||||
for flavor in %flavors_to_build ; do
|
||||
if [ -f %{module_key} ] && [ -f %{module_cer} ]; then
|
||||
/usr/src/kernels/` rpm -q kernel-devel |sed 's/.*devel-//g' `/scripts/sign-file sha256 %{module_key} %{module_cer} $PWD/obj/$flavor/%{driver_name}.ko
|
||||
fi
|
||||
|
||||
|
||||
dest_dir=${RPM_BUILD_ROOT}/lib/modules/` rpm -q kernel-devel |sed 's/.*devel-//g' `/extra/%{name}/
|
||||
|
||||
mkdir -p $dest_dir
|
||||
|
||||
install -m 444 obj/default/qla2xxx.ko $dest_dir
|
||||
|
||||
|
||||
# Cleanup unnecessary kernel-generated module dependency files.
|
||||
find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
|
||||
done
|
||||
|
||||
|
||||
%{__install} -d $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/
|
||||
%{__install} %{driver_name}.conf $RPM_BUILD_ROOT%{_sysconfdir}/depmod.d/
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/dracut.conf.d
|
||||
%{__install} -m 755 %{S:2} $RPM_BUILD_ROOT/etc/dracut.conf.d/qla2xxx.conf
|
||||
mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||
%{__install} -m 644 %{S:3} $RPM_BUILD_ROOT/etc/udev/rules.d/
|
||||
|
||||
mkdir -p $RPM_BUILD_ROOT/lib/udev
|
||||
%{__install} -m 744 %{S:4} $RPM_BUILD_ROOT/lib/udev/
|
||||
#systemctl enable qla2xxx-nvmefc-boot-connection.service
|
||||
|
||||
# which udevadm 1>/dev/null 2>&1
|
||||
# if [ $? -eq 0 ]; then
|
||||
# udevadm control -R
|
||||
# else
|
||||
# udevcontrol reload_rules
|
||||
# fi
|
||||
|
||||
%files
|
||||
%defattr(644,root,root,755)
|
||||
/lib/modules/
|
||||
/etc/depmod.d/qla2xxx.conf
|
||||
/etc/dracut.conf.d/qla2xxx.conf
|
||||
/etc/udev/rules.d/99-qla2xxx.rules
|
||||
/lib/udev/qla2xxx_udev.sh
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Sep 27 2022 QLogic Corp <support@qlogic.com> - 10.02.08.00.a7-1
|
||||
- package init
|
||||
- DESC: 10.02.08.00.a7-k XL 09/27/2022. Fisrt version for OE community.
|
||||
|
||||
|
||||
4
qla2xxx.yaml
Normal file
4
qla2xxx.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: Marvell
|
||||
src_repo: Marvell official website
|
||||
tag_prefix: ^v
|
||||
seperator: .
|
||||
57
qla2xxx_udev.sh
Normal file
57
qla2xxx_udev.sh
Normal file
@ -0,0 +1,57 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
#
|
||||
# ACTION FILE: located in /lib/udev/
|
||||
#
|
||||
|
||||
err() {
|
||||
echo "$@" >&2
|
||||
if [ -x /bin/logger ]; then
|
||||
/bin/logger -t "${0##*/}[$$]" "$@"
|
||||
elif [ -x /usr/bin/logger ]; then
|
||||
/usr//bin/logger -t "${0##*/}[$$]" "$@"
|
||||
fi
|
||||
}
|
||||
|
||||
SYSFS=/sys
|
||||
HOST=${FW_DUMP}
|
||||
QFWD=${SYSFS}/class/fc_host/host${HOST}/device/fw_dump
|
||||
DFILE_PATH=/opt/QLogic_Corporation/FW_Dumps
|
||||
DFILE=${DFILE_PATH}/qla2xxx_fw_dump_${HOST}_`eval date +%Y%m%d_%H%M%S`.txt
|
||||
MDFILE=${DFILE_PATH}/qla2xxx_mpi_fw_dump_${HOST}_`eval date +%Y%m%d_%H%M%S`.txt
|
||||
|
||||
# Verify fw_dump binary-attribute file
|
||||
if ! test -f ${QFWD} ; then
|
||||
err "qla2xxx: no firmware dump file at host $HOST!!!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Go with dump
|
||||
mkdir -p ${DFILE_PATH}
|
||||
|
||||
|
||||
# MPI dump
|
||||
echo 9 > ${QFWD}
|
||||
cat ${QFWD} > ${MDFILE}
|
||||
echo 8 > ${QFWD}
|
||||
if ! test -s "${MDFILE}" ; then
|
||||
rm ${MDFILE}
|
||||
else
|
||||
gzip ${MDFILE}
|
||||
err "qla2xxx: MPI firmware dump saved to file ${MDFILE}.gz."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# FW dump
|
||||
echo 1 > ${QFWD}
|
||||
cat ${QFWD} > ${DFILE}
|
||||
echo 0 > ${QFWD}
|
||||
if ! test -s "${DFILE}" ; then
|
||||
err "qla2xxx: no firmware dump file at host ${HOST}!!!"
|
||||
rm ${DFILE}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
gzip ${DFILE}
|
||||
err "qla2xxx: firmware dump saved to file ${DFILE}.gz."
|
||||
exit 0
|
||||
Loading…
x
Reference in New Issue
Block a user