[coreboot] Re: [SeaBIOS] Booting Memtest86+ from CBFS fails

2019-11-08 Thread Christoph Zechner

Hi Mike!

Thank you so much for this, I was getting really frustrated with memtest 
and coreboot, but this solved it. The only problem that remains now, is 
memtest is now the first entry and thus default in seabios which is 
rather inconvenient. Have you tried changing the boot order too?


I took a look at the documentation [1] but was not sure if this is the 
right way to do this. :-/


Thanks in advance!

Cheers
Christoph

[1] https://www.coreboot.org/SeaBIOS#Configuring_boot_order


On 01/11/2019 11:43, Mike Banon wrote:

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  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


___
coreboot mailing list -- coreboot@coreboot.org
To unsubscribe send an email to coreboot-le...@coreboot.org


[coreboot] Re: [SeaBIOS] Booting Memtest86+ from CBFS fails

2019-11-01 Thread Mike Banon
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  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