Perhaps a bit late, but I've found a coreboot's memtest86+ payload is
buggy compared to memtest86+ floppy (which could be downloaded from
memtest.org and added to CBFS to be accessible as SeaBIOS menu entry).
In addition to your observed problem: at AMD Lenovo G505S and maybe
some other coreboot laptops, the USB devices like keyboard are not
working at coreboot's memtest86+ while working fine at all the other
payloads using "libpayload" (i.e. coreinfo or tint) - so it's not a
libpayload problem - and also the same USB keyboards are working at
memtest86+ floppy. So it is obvious something is broken at 86+ payload
source code.

Also, with LZMA compression 86+ floppy occupies much less space than
86+ payload. So, aside from academic/research purposes, I do not see
any advantages of 86+ payload compared to 86+ floppy - only
disadvantages: larger size and troubled USB. I've seriously considered
submitting a patch which replaces coreboot's memtest86+ payload with a
floppy (download, compare its' checksum and then insert to CBFS), but
then I thought that maybe someone could need 86+ payload as a coding
example.

If you would like to try out a floppy (e.g. because something else -
like 2GB support - could be also broken at 86+ payload, while working
fine at 86+ floppy booted through SeaBIOS) , here are the
instructions:

1) Download the latest 5.01 version of memtest86+ from memtest86.org :

wget https://www.memtest.org/download/5.01/memtest86+-5.01.floppy.zip

2) Calculate its' sha256 :

sha256sum ./memtest86+-5.01.floppy.zip

should be

2a2d4c1234c9130e1da5fea941ccfbaa343739d5b3302b5f3f9b24077868f8ee
./memtest86+-5.01.floppy.zip

3) If sha256 is correct, unzip ./memtest86+-5.01.floppy.zip . You'll
get a "floppy" directory with these files: ls ./floppy/
dd.exe  install64.bat  install.bat  memtestp.bin  rawrite.exe  README.txt
You only need memtestp.bin , sha256 of which is "
ddd4a2ba44c312aa4f2c7506a388cc2ca7f1caec60c3c6d80ed8a9f0b43d529c "

4) Size of memtestp.bin file is 150024 bytes. To be understood by
SeaBIOS, it needs to be expanded to 1474560 bytes (by zeroes), which
could be done with this command:

dd if=/dev/zero of=./memtestp.bin bs=1 count=1 seek=1474559 conv=notrunc

sha256 of expanded memtestp.bin file will be "
364535abd0d105da9396df6015e480c4d4c52b07dcc4e1d4756bde8ef87a30f1 "

5) Now it could be added to the compiled coreboot.rom with this command:

./build/cbfstool ./build/coreboot.rom add -f ./floppy/memtestp.bin -n
floppyimg/memtestp.lzma -t raw -c lzma

If done everything correctly, it will be available at SeaBIOS boot menu as

Ramdisk [memtestp]

Best regards,
Mike Banon


On Sun, Jul 28, 2019 at 8:40 AM Martin Kepplinger <mart...@posteo.de> wrote:
>
> Hi,
>
> I use the simple coreboot config
> https://github.com/merge/skulls/blob/master/x230/free-defconfig-555419f356
>
> on today's coreboot master branch HEAD (403f433238), using SeaBIOS 1.12.1.
>
> When choosing memtest86+ in SeaBIOS' menu, "Booting from CBFS" gets
> printed but nothing else happens.
>
> Booting into nvramcui or coreinfo works though.
>
> (earlier, at least on coreboot 555419f356, using the same version of
> SeaBIOS, things were fine).
>
> Can you imagine why?
>
> thanks,
>                             martin
> _______________________________________________
> SeaBIOS mailing list -- seab...@seabios.org
> To unsubscribe send an email to seabios-le...@seabios.org
_______________________________________________
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org

Reply via email to