Re: [PATCH v8 RESEND 0/4] Support kdump for AMD secure memory encryption(SME)
From: Borislav Petkov
Date: Sat Oct 06 2018 - 05:56:40 EST
On Fri, Oct 05, 2018 at 01:52:26PM +0800, lijiang wrote:
> b. add the parameter "mem_encrypt=on" for kernel command-line to grub.cfg, if
> this machine has SME feature. And also add crashkernel=xx, which will reserve
> memory for kdump.
Ok, I'm doing the simpler crashkernel= cmdline:
crashkernel=256M
That says:
[ 0.011918] Reserving 256MB of memory at 640MB for crashkernel (System RAM: 262030MB)
> Step 5: reboot, and then load the crash kernel image and kdump initramfs.
>
> a: When SME is enabled, i use this command to load them:
>
> #kexec -p /boot/vmlinuz-4.19.0-rc6+ --initrd=/boot/initramfs-4.19.0-rc6+kdump.img --command-line="root=/dev/mapper/rhel_hp--dl385g10--03-root ro rd.lvm.lv=rhel_hp-dl385g10-03/root rd.lvm.lv=rhel_hp-dl385g10-03/swap mem_encrypt=on console=ttyS0,115200n81 LANG=en_US.UTF-8 earlyprintk=serial debug irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never disable_cpu_apicid=0"
Ok, did that, my cmdline is:
~/bpetkov/src/kexec-tools/build/sbin/kexec -p /boot/vmlinuz-4.19.0-rc6+ --initrd=/boot/initrd-4.19.0-rc6+ --command-line="root=/dev/mapper/ubuntu--010236012132--vg-leap15 rd.lvm.lv=ubuntu--010236012132--vg-leap15/root rd.lvm.lv=ubuntu--010236012132--vg-leap15/swap splash=silent showopts console=ttyS5,115200 console=tty0 debug ignore_loglevel log_buf_len=16M nr_cpus=1 irqpoll maxcpus=1 reset_devices vga=normal mem_encrypt=on LANG=en_US.UTF-8 earlyprintk=serial cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never disable_cpu_apicid=0"
Verified it loaded ok:
$ grep . /sys/kernel/kexec_*
/sys/kernel/kexec_crash_loaded:1
/sys/kernel/kexec_crash_size:268435456
/sys/kernel/kexec_loaded:0
> Step 6: trigger panic by sysrq
> #echo c > /proc/sysrq-trigger
Did that and I got into the kdump kernel with SME. So I'd guess your kdump
kernel command line was needed - I was missing a bunch of switches and
remote-debugging a box kexecing is not fun.
So thanks a lot for the detailed steps, I'm putting them to my notes.
--
Regards/Gruss,
Boris.
SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)