Accepting request 221992 from Kernel:HEAD
- fixed last submission to actually build. (forwarded request 211750 from msmeissn) OBS-URL: https://build.opensuse.org/request/show/221992 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/kernel-firmware?expand=0&rev=42
This commit is contained in:
commit
d52712df35
@ -1,8 +1,29 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Dec 19 16:27:35 UTC 2013 - meissner@suse.com
|
||||||
|
|
||||||
|
- fixed last submission to actually build.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 10 15:46:02 UTC 2013 - trenn@suse.de
|
||||||
|
|
||||||
|
- Add mkinitrd script to add AMD microcode to initrd.
|
||||||
|
This is needed because microcode driver is built in or gets loaded
|
||||||
|
automatically via udev early. Therefore the microcode has to be available
|
||||||
|
in initrd already.
|
||||||
|
This must not be mixed up with early micorcode loading. This feature will
|
||||||
|
not be implemented via mkinitrd. Dracut is doing early microcode loading.
|
||||||
|
- bnc#847158
|
||||||
|
- mkinitrd scripts:
|
||||||
|
- mkinitrd_setup-amd_microcode.sh
|
||||||
|
Adding microcode to the initrd
|
||||||
|
- mkinitrd_boot-amd_microcode.sh
|
||||||
|
Triggering the reload at boot
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Dec 9 14:19:50 UTC 2013 - trenn@suse.de
|
Mon Dec 9 14:19:50 UTC 2013 - trenn@suse.de
|
||||||
|
|
||||||
- Correct Supplements string so that the package gets correctly installed
|
- Correct Supplements string so that the package gets correctly installed
|
||||||
on machines with Intel CPUs
|
on machines with AMD CPUs
|
||||||
bnc#847158
|
bnc#847158
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Name: kernel-firmware
|
Name: kernel-firmware
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: kernel-default
|
BuildRequires: kernel-default
|
||||||
@ -31,6 +30,8 @@ Source0: linux-firmware-%{version}.tar.bz2
|
|||||||
Source1: firmware.sh
|
Source1: firmware.sh
|
||||||
Source3: iwlwifi-4965-1.ucode
|
Source3: iwlwifi-4965-1.ucode
|
||||||
Source4: carl9170-1.fw
|
Source4: carl9170-1.fw
|
||||||
|
Source5: mkinitrd_setup-amd_microcode.sh
|
||||||
|
Source6: mkinitrd_boot-amd_microcode.sh
|
||||||
%define __find_supplements bash %_sourcedir/firmware.sh --find-supplements
|
%define __find_supplements bash %_sourcedir/firmware.sh --find-supplements
|
||||||
|
|
||||||
%define __ksyms_supplements bash %_sourcedir/firmware.sh --cache %{_builddir}/%{?buildsubdir}/find_supplements.cache --find-supplements
|
%define __ksyms_supplements bash %_sourcedir/firmware.sh --cache %{_builddir}/%{?buildsubdir}/find_supplements.cache --find-supplements
|
||||||
@ -88,6 +89,8 @@ cp -v %{S:4} carl9170-1.fw
|
|||||||
# nothing to do
|
# nothing to do
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
install -D -m 0755 %{SOURCE5} %{buildroot}/lib/mkinitrd/scripts/setup-amd_microcode.sh
|
||||||
|
install -D -m 0755 %{SOURCE6} %{buildroot}/lib/mkinitrd/scripts/boot-amd_microcode.sh
|
||||||
mkdir -p %{buildroot}/lib/firmware
|
mkdir -p %{buildroot}/lib/firmware
|
||||||
cp -avf * %{buildroot}/lib/firmware
|
cp -avf * %{buildroot}/lib/firmware
|
||||||
rm -f %{buildroot}/lib/firmware/WHENCE
|
rm -f %{buildroot}/lib/firmware/WHENCE
|
||||||
@ -103,16 +106,45 @@ rm -rf %{buildroot}/lib/firmware/carl9170fw
|
|||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%post -n ucode-amd
|
||||||
|
[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
|
||||||
|
if [ "${YAST_IS_RUNNING}" != "instsys" ]; then
|
||||||
|
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
|
||||||
|
echo "Skipping recreation of existing initial ramdisks, due"
|
||||||
|
echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
|
||||||
|
elif [ -x /sbin/mkinitrd ]; then
|
||||||
|
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
|
||||||
|
/sbin/mkinitrd || :
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun -n ucode-amd
|
||||||
|
[ -x /sbin/mkinitrd_setup ] && mkinitrd_setup
|
||||||
|
if [ "${YAST_IS_RUNNING}" != "instsys" ]; then
|
||||||
|
if [ -e /var/lib/no_initrd_recreation_by_suspend ]; then
|
||||||
|
echo "Skipping recreation of existing initial ramdisks, due"
|
||||||
|
echo "to presence of /var/lib/no_initrd_recreation_by_suspend"
|
||||||
|
elif [ -x /sbin/mkinitrd ]; then
|
||||||
|
[ -x /sbin/mkinitrd_setup ] && /sbin/mkinitrd_setup
|
||||||
|
/sbin/mkinitrd || :
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(0644,root,root,0755)
|
%defattr(0644,root,root,0755)
|
||||||
%doc WHENCE README GPL-3 LICENCE.*
|
%doc WHENCE README GPL-3 LICENCE.*
|
||||||
%exclude /lib/firmware/amd-ucode/microcode_amd.bin
|
%exclude /lib/firmware/amd-ucode/microcode_amd.bin*
|
||||||
%exclude /lib/firmware/amd-ucode/microcode_amd_fam15h.bin
|
%exclude /lib/firmware/amd-ucode/microcode_amd_fam15h.bin*
|
||||||
/lib/firmware/*
|
/lib/firmware/*
|
||||||
|
|
||||||
%files -n ucode-amd
|
%files -n ucode-amd
|
||||||
%defattr(0644,root,root,0755)
|
%defattr(0644,root,root,0755)
|
||||||
/lib/firmware/amd-ucode/microcode_amd.bin
|
/lib/firmware/amd-ucode/microcode_amd.bin*
|
||||||
/lib/firmware/amd-ucode/microcode_amd_fam15h.bin
|
/lib/firmware/amd-ucode/microcode_amd_fam15h.bin*
|
||||||
|
/lib/firmware/amd-ucode/
|
||||||
|
%dir /lib/mkinitrd
|
||||||
|
%dir /lib/mkinitrd/scripts
|
||||||
|
%attr(0755,root,root) /lib/mkinitrd/scripts/setup-amd_microcode.sh
|
||||||
|
%attr(0755,root,root) /lib/mkinitrd/scripts/boot-amd_microcode.sh
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
8
mkinitrd_boot-amd_microcode.sh
Normal file
8
mkinitrd_boot-amd_microcode.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
#%stage: boot
|
||||||
|
#%depends: udev
|
||||||
|
|
||||||
|
if [ -w /sys/devices/system/cpu/microcode/reload ];then
|
||||||
|
echo 1 >/sys/devices/system/cpu/microcode/reload
|
||||||
|
fi
|
36
mkinitrd_setup-amd_microcode.sh
Normal file
36
mkinitrd_setup-amd_microcode.sh
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#/bin/bash
|
||||||
|
|
||||||
|
#%stage: boot
|
||||||
|
#
|
||||||
|
# Adds AMD microcode to the initrd
|
||||||
|
#
|
||||||
|
# If processor(s) are upgraded on the system, mkinitrd has to be re-called
|
||||||
|
# manually to include a possible other needed firmware to the initrd
|
||||||
|
#
|
||||||
|
|
||||||
|
if grep -q -i AuthenticAMD /proc/cpuinfo; then
|
||||||
|
echo -n "Microcode: "
|
||||||
|
if [ ! -e /lib/firmware/amd-ucode ];then
|
||||||
|
echo "AMD microcode not found, amd-ucode package not installed?"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fam=`head /proc/cpuinfo |sed -n -e 's/cpu family.*: \([0-9]\+\)/\1/p'`
|
||||||
|
# Only try to update when family >= 16 (0x10, fam 10h)
|
||||||
|
if [ $fam -ge 16 >& /dev/null ];then
|
||||||
|
# Family 0x15 firmware is named: microcode_amd_famXXh.bin"
|
||||||
|
if [ $fam -lt 21 >& /dev/null ];then
|
||||||
|
file=microcode_amd.bin
|
||||||
|
else
|
||||||
|
file=`printf "microcode_amd_fam%xh.bin" $fam`
|
||||||
|
fi
|
||||||
|
if [ -e /lib/firmware/amd-ucode ];then
|
||||||
|
echo "Adding AMD microcode $file"
|
||||||
|
mkdir -p $tmp_mnt/lib/firmware/amd-ucode
|
||||||
|
cp /lib/firmware/amd-ucode/"$file"* $tmp_mnt/lib/firmware/amd-ucode
|
||||||
|
else
|
||||||
|
echo "No AMD microcode found, amd-ucode package not installed?"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "AMD CPU family: 0x%x does not support microcode updates" $fam
|
||||||
|
fi
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user