x86: Passing arbitrary data from bootloader to kernel

Graeme Russ graeme.russ at gmail.com
Tue Mar 27 23:16:37 EDT 2012


Hi Guys,

I'm working with the U-Boot bootloader on an embedded x86 system. Recently
a patch series was comitted to U-Boot mainline which allows the boot
sequence to be profiled. This produces an array of 'Boot Stage Records'
which indicate how long it took U-Boot to reach a given point in the
boot sequence.

I would like to pass this information to the Linux kernel and ultimately
into user space. ARM has device tree support and the creator of the boot
stage patches is planning to put the U-Boot boot stage data into the device
tree that is passed to the kernel. x86 does not have device tree support.
So I started to think about ramfs...

What if U-Boot created a cpio archive on the fly and passed this to the
Linux kernel as a persistent ramfs? The ramfs would be sperate fromt he
initramfs (not used in the boot process - simply used to efficiently pass
data from the boot loader to user-space). This could allow the passing of
arbitrary data from the boot loader, through the kernel and into user
space.

Does this sound like a harebrained idea?

Regards,

Graeme



More information about the Kernelnewbies mailing list