Is the microcode actually being loaded? Verify through dmesg like so:
#dmesg | grep microcode
[ 0.000000] microcode: microcode updated early to revision 0xba, date = 2017-04-09
[ 1.005601] microcode: sig=0x506e3, pf=0x2, revision=0xba
[ 1.005916] microcode: Microcode Update Driver: v2.2.
I had the microcode installed and choose to embed it in the kernel but it was not loading. I ended up using creating a modded intel-ucode PKGBUILD that would create a initramfs/cpio file that just held my CPU's microcode which sped up booting.
# $Id$
# Maintainer: Thomas Bächler <[email protected]>
pkgname=intel-ucode
pkgver=20170707
# Some random "download id" that intel has in their downloadcenter
_dlid=26925
pkgrel=1
pkgdesc="Microcode update files for Intel CPUs"
arch=('any')
depends=('iucode-tool')
install=$pkgname.install
url="https://downloadcenter.intel.com/SearchResult.aspx?lang=eng&keyword=%22microcode%22"
replaces=('microcode_ctl')
license=('custom')
source=("https://downloadmirror.intel.com/${_dlid}/eng/microcode-${pkgver}.tgz"
'LICENSE'
'intel-microcode2ucode.c')
sha256sums=('4fd44769bf52a7ac11e90651a307aa6e56ca6e1a814e50d750ba8207973bee93'
'6983e83ec10c6467fb9101ea496e0443f0574c805907155118e2c9f0bbea97b6'
'5af76d7e23768c94ab03fbf0d280b30fccd9c1ce697111c9999f6d51955c5a98');
build() {
cd "$srcdir"
gcc -Wall ${CFLAGS} -o intel-microcode2ucode intel-microcode2ucode.c
./intel-microcode2ucode ./microcode.dat
}
package() {
cd "$srcdir"
install -d "${pkgdir}"/boot
msg2 "Creating exact microcode cpio file for install CPU."
iucode_tool -S --write-earlyfw=intel-ucode.img microcode.dat
install -m644 intel-ucode.img "${pkgdir}"/boot/
install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}
It does require building and installing the AUR iucode-tool prior to building the package though.
I use rEFInd to boot thus I had to add the microcode img file created to the /boot/efi/EFI/refind/refind.conf manual stanza like so:
menuentry "Artix Linux ZEN Kernel" {
icon EFI/refind/icons/os_artix.png
volume "artix"
loader /boot/vmlinuz-linux-zen
options "root=LABEL=artix rw initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux-zen.img"
submenuentry "nvidia modeset on" {
add_options "nvidia-drm.modeset=1"
}
submenuentry "pstate disabled" {
add_options "intel_pstate=disable"
}
submenuentry "Boot with the fallback initramfs" {
initrd /boot/initramfs-linux-zen-fallback.img
}
}
The important part was to add both the initramfs for the kernel after the cpio in the options line to enable it to correctly load the microcode during boot. The Archlinux wiki for rEFInd microcode how to did not work for me.
Although grub should automatically enable the it, one should verify that it is actually loaded. If it isn't then you would have to add it the /etc/default/grub file GRUB_CMDLINE_LINUX= section or create a custom configuration in /etc/grub.d/40_linux-zen (or another name you like but keep the 40 in front) then regenerate the working configuration file with:
grub-mkconfig -o /boot/grub/grub.cfg
I do compile my own linux-zen kernel as well to change the stuff more to my system as well. One thing to try is disable all AMD kernel options, disable all hardware that you do not need on your system (only keep the video drivers you require) and select the actual CPU you have in kernel instead of the generic one. In your case, it should be CORE2. If the kernel panic is so quick that nothing is showing then it would difficult to trace the cause. That is why I'm suggesting compile your own with just the stuff you need to remove some of the variables. You can use your working kernels configuration as a starting point and set the new options that arise. First one must check which modules are being loaded:
#lsmod
And be sure to have those enabled.
Did you check the Devuan kernel configuration that worked for you? You could use it as a base to compile your own. Boot your to Devuan partition and to obtain it's configuration run:
#zcat /proc/config.gz > config.x86_64
(I am assuming it is similar to Archlinux and Artix Linux.)
If it does not exist, it may be the /boot folder location has a configuration file which could be used something like this /boot/config-4.13.2-1-amd64. I am not sure since I do not run Devuan and have not run Debian for many years
Yes I have updated to linux-zen 4.13.7 when it was released. Thanks for the info anyway.