Grub2 and Memtest86+
I've been tinkering with adding memtest86+ V4.20 to the grub2 menu for my x86 target. It's straight forward.
The questions, is there interest in this and how to do this only for x86 targets. I've not dug into how the boot loaders are handled, yet, but it's apparently different from regular packages. Is there anyone who keeps track on the grub2 boot loader in buildroot?
Modify ~boot/grub2/grub.cfg to add the memtest entry and download the memtest86+ source tarball and then copy/rename the shipped precomp.bin file file to /boot/memtest86+.bin (It's a bootable 486 binary)
set default="0"
set timeout="5"
menuentry "Buildroot" {
linux /boot/bzImage root=/dev/sda1 console=tty1 quiet splash=silent
}
menuentry "Memtest86+" {
linux16 /boot/memtest86+.bin
}Steve Kenton
Dear Steve Kenton,
Quoted 8 lines · Steve Kenton
I've been tinkering with adding memtest86+ V4.20 to the grub2 menu for my x86 target. It's straight forward.
The questions, is there interest in this and how to do this only for x86 targets. I've not dug into how the boot loaders are handled, yet, but it's apparently different from regular packages. Is there anyone who keeps track on the grub2 boot loader in buildroot?
I'm not sure I can say I "keep track of grub2", but I did add the package last year.
Quoted 8 lines
Modify ~boot/grub2/grub.cfg to add the memtest entry and download the memtest86+ source tarball and then copy/rename the shipped precomp.bin file file to
/boot/memtest86+.bin(It's a bootable 486 binary)set default="0"
set timeout="5"
Quoted 7 lines
menuentry "Buildroot" {
linux/boot/bzImageroot=/dev/sda1 console=tty1 quiet splash=silent
}menuentry "Memtest86+" { linux16 /boot/memtest86+.bin }
What I would suggest is to add a package for memtest86 in Buildroot, have it install the appropriate binary in /boot, and in its Config.in help text, indicate how to add it to the Grub menu.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Quoted 6 lines · Thomas Petazzoni
Dear Steve Kenton,
Quoted 3 lines · Steve Kenton
I've been tinkering with adding memtest86+ V4.20 to the grub2 menu for my x86 target. It's straight forward.
Quoted 9 lines
Quoted 5 lines
The questions, is there interest in this and how to do this only for x86 targets. I've not dug into how the boot loaders are handled, yet, but it's apparently different from regular packages. Is there anyone who keeps track on the grub2 boot loader in buildroot?
I'm not sure I can say I "keep track of grub2", but I did add the package last year.
In my experimenting with grub2 it looks like it is leaking in host information. Here is a fragment from grub-install which is installed in ~host/usr/sbin.
When it tries to run other scripts like grub-mkimage it looks in /usr because of the prefix. At least when the host versions were not reachble I got an error about command not found. Does grub2 need to be configured with a prefix other than /usr since it's run on the host and not the target?
Steve Kenton
prefix="/usr"
exec_prefix="/usr"
datarootdir="${prefix}/share"
sbindir="${exec_prefix}/sbin"
bindir="${exec_prefix}/bin"
libdir="${exec_prefix}/lib"
sysconfdir="/etc"
PACKAGE_NAME=GRUB
PACKAGE_TARNAME=grub
PACKAGE_VERSION=2.00
export TEXTDOMAIN=grub
export TEXTDOMAINDIR="${datarootdir}/locale"
host_os=linux-gnu
source_dir=
target=
datadir="${datarootdir}"
if [ "x$pkgdatadir" = x ]; then
pkgdatadir="${datadir}/grub"fi
localedir="${datarootdir}/locale"
self="basename $0"
grub_mkimage="${bindir}/echo grub-mkimage | sed ${transform}" grub_probe="${sbindir}/echo grub-probe | sed ${transform}" grub_editenv="${bindir}/echo grub-editenv | sed ${transform}" grub_mkrelpath="${bindir}/echo grub-mkrelpath | sed ${transform}"
Quoted 6 lines · Steve Kenton
Quoted 1 line
In my experimenting with grub2 it looks like it is leaking in host information. Here is a fragment from grub-install which is installed in ~host/usr/sbin.
When it tries to run other scripts like grub-mkimage it looks in /usr because of the prefix. At least when the host versions were not reachble
I should say Ubuntu build host versions were not reachable to be clear
Steve
Quoted 3 lines
I got an error about command not found. Does grub2 need to be configured with a prefix other than /usr since it's run on the host and not the target?