Re: How /sys/firmware/fdt getting created


dann frazier
 

On Thu, Oct 31, 2019 at 12:55:10PM -0600, dann frazier wrote:
On Thu, Oct 31, 2019 at 6:16 AM Leif Lindholm <leif.lindholm@...> wrote:

On Thu, Oct 31, 2019 at 11:07:52AM +0100, Laszlo Ersek wrote:
+Leif, comment at bottom
Thanks Laszlo. +Dann, -kexec.

On 10/30/19 09:16, Prabhakar Kushwaha wrote:
So if you want to add these properties, you should add them there.

Can you explain why doing this is necessary?
I am trying to test kexec -p (kdump feature) on CentOS-release
7.7.1908 and Ubuntu-18.04 distributions.

"kexec -p" command show error on Ubuntu. While no error on CentOS

CentOS:
$ kexec -p /boot/vmlinuz-`uname -r` --initrd=/boot/initramfs-`uname
-r`.img --reuse-cmdline
$ ==> No error

Ubuntu
$ kexec -p /boot/vmlinuz-`uname -r` --initrd=/boot/initrd.img-`uname
-r` --reuse-cmdline
$ kexec: elfcorehdr doesn't fit cells-size.
$ kexec: setup_2nd_dtb failed.
$ kexec: load failed.
$ Cannot load /boot/vmlinuz-5.4.0-rc4+

Note: Both CentOS and Ubuntu has Linux-5.4-rc4 tag.

When i debugged further reason for Ubuntu error is due to
address-cells and size-cells as "1"
log from kexec tool :-
load_crashdump_segments: elfcorehdr 0x7f7cbfc000-0x7f7cbff7ff
read_1st_dtb: found name =dtb_sys /sys/firmware/fdt
get_cells_size: #address-cells:1 #size-cells:1

On CentOS both values are "2".
log from kexec tool :-
load_crashdump_segments: elfcorehdr 0xbf98bf0000-0xbf98bf33ff
read_1st_dtb: found nmae=dtb_sys /sys/firmware/fdt
get_cells_size: #address-cells:2 #size-cells:2

Note: Kexec tool read values from /sys/firmware/fdt.

I am trying to figure out why 2 distributions showing different values.
http://git.savannah.gnu.org/cgit/grub.git/commit/?id=347210a5d5ce655b95315f320faa515afb723c11

Ubuntu probably ships a grub version that lacks this commit.
Yes, it came after the 18.04 release.
Dann: given that 18.04 is LTS, would it be reasonable to cherry-pick
this grub patch? I would consider the behaviour without it to be a
bug.
Leif,

Likely - I'll run some tests and get back to you...
Can you help me understand the scenario in which the above patch is
required? I tested an 18.04 VM w/ AAVMF (ACPI-mode), and kexec -p
worked fine. I also verified that 18.04 does not carry the above patch.

-dann


/
Leif

(The commit was first released as part of upstream grub-2.04. I have no
idea what version of grub is shipped in the CentOS distro you mention
above -- it could be based upon upstream 2.04, or the upstream patch may
have been backported to CentOS.)

Thanks
Laszlo

Join devel@edk2.groups.io to automatically receive all group messages.