Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: pu
I'd like to update the intel-microcode package in Wheezy to the latest available public Intel microcode. This intel-microcode release (20150121) has been tested in unstable and also Debian jessie for one month, without any error reports. It updates only the microcode for Intel Desktop/mobile Broadwell E0/F0 processors, such as the Core i7-5500U and a few others. It also updates the initramfs scripts, to decouple the intel-microcode and amd64-microcode packages. I will need this for a future stable update of amd64-microcode. These changes have been tested for oven one year in Debian unstable and Debian jessie, without issues. I've attached the abridged debdiff, without the upstream microcode changes. diffstat: changelog | 11 debian/changelog | 47 debian/initramfs.hook | 2 debian/initramfs.init-premount | 19 microcode-20140913.dat |40694 ---------------------------------------- microcode-20150121.dat |41591 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 41663 insertions(+), 40701 deletions(-) Thank you.
diff -Nru intel-microcode-1.20140913.1/changelog intel-microcode-1.20150121.1/changelog --- intel-microcode-1.20140913.1/changelog 2014-10-30 16:14:19.000000000 -0200 +++ intel-microcode-1.20150121.1/changelog 2015-02-11 20:32:44.000000000 -0200 @@ -1,3 +1,14 @@ +2015-01-21: + * Downgraded microcodes (to a previously shipped revision): + sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672 + +2015-01-07: + * New Microcodes: + sig 0x000306d4, pf mask 0xc0, 2014-12-05, rev 0x0018, size 14336 + + * Updated Microcodes (this update is known to cause issues): + sig 0x000306f2, pf mask 0x6f, 2014-11-21, rev 0x002d, size 28672 + 2014-09-13: * New Microcodes: sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672 diff -Nru intel-microcode-1.20140913.1/debian/changelog intel-microcode-1.20150121.1/debian/changelog --- intel-microcode-1.20140913.1/debian/changelog 2014-12-18 16:31:28.000000000 -0200 +++ intel-microcode-1.20150121.1/debian/changelog 2015-03-01 23:33:19.000000000 -0300 @@ -1,3 +1,50 @@ +intel-microcode (1.20150121.1) stable; urgency=high + + * New upstream microcode data file 20150121 + + Downgraded microcodes (to a previously shipped revision): + sig 0x000306f2, pf mask 0x6f, 2014-09-03, rev 0x0029, size 28672 + * The microcode downgrade fixes a very nasty regression on Xeon E5v3 + processors (closes: #776431) + * critical urgency: the broken sig 0x306f2, rev 0x2b microcode shipped + in release 20150107 caused CPU core hangs and Linux boot failures. + The upstream fix was to downgrade it to the same microcode revision + that was shipped in release 20140913 + * source: remove superseded upstream data file: 20150107. + + -- Henrique de Moraes Holschuh <h...@debian.org> Fri, 30 Jan 2015 08:41:20 -0200 + +intel-microcode (1.20150107.1) stable; urgency=high + + * New upstream microcode data file 20150107 + + New Microcodes: + sig 0x000306d4, pf mask 0xc0, 2014-12-05, rev 0x0018, size 14336 + + Updated Microcodes: + sig 0x000306f2, pf mask 0x6f, 2014-11-21, rev 0x002d, size 28672 + + High urgency: there are fast-tracked microcode updates in this + release which imply that critical errata are being fixed + (Broadwell Core i3/i5/i7 5th gen, Core M-5Y, Pentium 3805U, + Celeron 3755U, maybe others) + * source: remove superseded upstream data file: 20140913 + * initramfs: decouple from amd64-microcode: + Update the initramfs init-premount boot script to the script used in + intel-microcode 1.20130222.6 to 1.20130808.2, as well as all + intel-microcode 2.x packages. It has been throughoutly tested for + more than one year in unstable, testing (jessie), and + wheezy-backports. This new version of the boot script decouples + intel-microcode from amd64-microcode's boot script, and will trigger + a microcode update only when an Intel processor is installed. + amd64-microcode's boot script runs earlier, so this change will at + most cause a microcode update to be triggered twice (the kernel will + ignore the second attempt). Therefore, it is compatible with any + version of the amd64-microcode package. This change allows + amd64-microcode's boot script to also be updated to decouple itself + from intel-microcode. + * initramfs.hook: do not mix arrays and lists. + Avoid echo "foo $@", use echo "foo $*" instead. This is unlikely + to be expĺoitable, but it makes ShellCheck happier. + + -- Henrique de Moraes Holschuh <h...@debian.org> Sun, 18 Jan 2015 19:17:01 -0200 + intel-microcode (1.20140913.1) stable; urgency=low * New upstream microcode data file 20140913 diff -Nru intel-microcode-1.20140913.1/debian/initramfs.hook intel-microcode-1.20150121.1/debian/initramfs.hook --- intel-microcode-1.20140913.1/debian/initramfs.hook 2014-12-18 16:31:28.000000000 -0200 +++ intel-microcode-1.20150121.1/debian/initramfs.hook 2015-03-01 23:33:19.000000000 -0300 @@ -27,7 +27,7 @@ verbose() { if [ "${verbose}" = "y" ] ; then - echo "intel-microcode: $@" + echo "intel-microcode: $*" fi : } diff -Nru intel-microcode-1.20140913.1/debian/initramfs.init-premount intel-microcode-1.20150121.1/debian/initramfs.init-premount --- intel-microcode-1.20140913.1/debian/initramfs.init-premount 2014-12-18 16:31:28.000000000 -0200 +++ intel-microcode-1.20150121.1/debian/initramfs.init-premount 2015-03-01 23:33:19.000000000 -0300 @@ -23,15 +23,22 @@ ;; esac -# Only continue if we do possibly have firmware to install -[ -d /lib/firmware/intel-ucode -o -d /lib/firmware/amd-ucode ] || exit 0 +# hack to strip spaces +is_intel() +{ + [ "x$1" = "xvendor_id" ] && [ "x$2" = "xGenuineIntel" ] && HAS_INTL=1 +} -# we don't need to run twice -[ -e ${0%/*}/amd64-microcode ] && exit 0 -[ -e ${0%/*}/amd64_microcode ] && exit 0 +# Only continue if we do possibly have firmware to install +[ -d /lib/firmware/intel-ucode ] || exit 0 # module load will already have caused the microcode to be fetched -{ while read -r module trash ; do [ "x$module" = "xmicrocode" ] && exit 0 ; done } < /proc/modules +{ while read -r module trash ; do [ "x$module" = "xmicrocode" ] && exit 0 ; done ; } < /proc/modules + +# don't run on non-Intel +HAS_INTL=0 +{ while IFS=: read -r field value ; do is_intel $field $value ; done ; } < /proc/cpuinfo +[ $HAS_INTL -eq 0 ] && exit 0; . /scripts/functions diff -Nru intel-microcode-1.20140913.1/microcode-20140913.dat intel-microcode-1.20150121.1/microcode-20140913.dat diff -Nru intel-microcode-1.20140913.1/microcode-20150121.dat intel-microcode-1.20150121.1/microcode-20150121.dat