[coreboot] [Mohon Peak] Memtest86+

Patrick Agrain patrick.agrain at alcatel-lucent.com
Tue Aug 18 06:20:28 CET 2015


Hi guys,

I answer to myself. I solved this part of the issue.

First, referring to: http://www.coreboot.org/Memtest86, I built a 
coreboot including memtest86+ as payload.
Then, using cbfstool I extracted it to a file, ignoring the warning 
concerning the raw type.
At last, rebuild a coreboot with seabios as payload, and add the 
previous file with cbfstool as another payload.

That way, in combination with sgabios, I'm able to boot the Mohon Peak, 
'ESC' to the boot menu and choose the 'Memtest86+' entry.
The RAM test is then performing in a loop.

What remains to fix is the keyboard entry through the serial link in 
order to access to the memtest86+ menu...
(Almost the same as in 
http://www.coreboot.org/pipermail/coreboot/2015-February/079173.html)

Hope it helps.
Regards,
Patrick agrain

Le 14/04/2015 16:22, Patrick Agrain a écrit :
> Hello,
>
> I try to perform some memory test on the Mohon Peak CRB with memtest86+.
>
> I downloaded memtest86+ v5.01 and compile it. So far, so good.
> Following the thread: 
> http://www.coreboot.org/pipermail/coreboot/2015-January/079143.html 
> concerning this topic, I modified the given values, so that now:
> [root at localhost memtest86+-5.01]# readelf -e memtest1modified
> ELF Header:
>   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
>   Class:                             ELF32
>   Data:                              2's complement, little endian
>   Version:                           1 (current)
>   OS/ABI:                            UNIX - System V
>   ABI Version:                       0
>   Type:                              EXEC (Executable file)
>   Machine:                           Intel 80386
>   Version:                           0x1
>   Entry point address:               0x10000
>   Start of program headers:          52 (bytes into file)
>   Start of section headers:          151580 (bytes into file)
>   Flags:                             0x0
>   Size of this header:               52 (bytes)
>   Size of program headers:           32 (bytes)
>   Number of program headers:         1
>   Size of section headers:           40 (bytes)
>   Number of section headers:         3
>   Section header string table index: 2
>
> Section Headers:
>   [Nr] Name              Type            Addr     Off Size   ES Flg Lk 
> Inf Al
>   [ 0]                   NULL            00000000 000000 000000 
> 00      0   0  0
>   [ 1] .data             PROGBITS        00010000 001000 024008 00  
> WA  0   0  1
>   [ 2] .shstrtab         STRTAB          00000000 025008 000011 
> 00      0   0  1
> Key to Flags:
>   W (write), A (alloc), X (execute), M (merge), S (strings)
>   I (info), L (link order), G (group), x (unknown)
>   O (extra OS processing required) o (OS specific), p (processor 
> specific)
>
> Program Headers:
>   Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz Flg Align
>   LOAD           0x010000 0x00010000 0x00010000 0x24008 0x24008 RW  
> 0x200000
>
>  Section to Segment mapping:
>   Segment Sections...
>    00     .shstrtab
> [root at localhost memtest86+-5.01]#
>
> What gives the same scheme as in the previously mentionned thread.
>
> Now the logs of the booting Mohon Peak (from begin of Seabios):
>
> SeaBIOS (version 
> rel-1.8.0-12-ga1ac886-dirty-20150402_003540-localhost.localdomain)
> init usb
> EHCI init on dev 00:16.0 (regs=0xdfe89420)
> set_address 0x7fd41b80
> config_usb: 0x7fd41a50
> device rev=0200 cls=09 sub=00 proto=01 size=64
> init serial
> Found 2 legacy serial ports
> init hard drives
> init ahci
> AHCI controller at 17.0, iobase dfe88000, irq 15
> AHCI: cap 0xc720ff03, ports_impl 0x0
> AHCI controller at 18.0, iobase dfe88800, irq 0
> AHCI: cap 0xc3309f01, ports_impl 0x1
> AHCI/0: probing
> AHCI/0: link up
> AHCI/0: ... finished, status 0x51, ERROR 0x4
> Searching bootorder for: /pci at i0cf8/*@18/drive at 0/disk at 0
> AHCI/0: registering: "AHCI/0: ST500DM002-1BD142 ATA-8 Hard-Disk (465 
> GiBytes)"
> Registering bootable: AHCI/0: ST500DM002-1BD142 ATA-8 Hard-Disk (465 
> GiBytes) (type:2 prio:103 data:f3ef0)
> Searching bootorder for: /rom at img/Memtest86+
> Registering bootable: Payload [Memtest86+] (type:32 prio:9999 
> data:ffe23240)
> Scan for option roms
> Attempting to init PCI bdf 00:00.0 (vd 8086:1f08)
> Attempting to init PCI bdf 00:01.0 (vd 8086:1f10)
> Attempting to init PCI bdf 00:03.0 (vd 8086:1f12)
> Attempting to init PCI bdf 00:0e.0 (vd 8086:1f14)
> Attempting to init PCI bdf 00:0f.0 (vd 8086:1f16)
> Attempting to init PCI bdf 00:13.0 (vd 8086:1f15)
> Attempting to init PCI bdf 00:14.0 (vd 8086:1f41)
> Attempting to init PCI bdf 00:14.1 (vd 8086:1f41)
> Attempting to init PCI bdf 00:16.0 (vd 8086:1f2c)
> Attempting to init PCI bdf 00:17.0 (vd 8086:1f22)
> Attempting to init PCI bdf 00:18.0 (vd 8086:1f32)
> Attempting to init PCI bdf 00:1f.0 (vd 8086:1f38)
> Attempting to init PCI bdf 00:1f.3 (vd 8086:1f3c)
> Attempting to init PCI bdf 01:00.0 (vd 1415:c158)
> Attempting to init PCI bdf 02:00.0 (vd 10b5:8624)
> Attempting to init PCI bdf 03:04.0 (vd 10b5:8624)
> Attempting to init PCI bdf 03:05.0 (vd 10b5:8624)
> Attempting to init PCI bdf 03:08.0 (vd 10b5:8624)
> Attempting to init PCI bdf 05:00.0 (vd 8086:1528)
> Attempting to init PCI bdf 05:00.1 (vd 8086:1528)
>
> Press ESC for boot menu.
>
> Select boot device:
>
> 1. AHCI/0: ST500DM002-1BD142 ATA-8 Hard-Disk (465 GiBytes)
> 2. Payload [Memtest86+]
>
> Searching bootorder for: HALT
> Mapping hd drive 0x000f3ef0 to 0
> drive 0x000f3ef0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 
> s=976773168
> finalize PMM
> malloc finalize
> Space available for UMB: c1000-ee800, f0000-f3ef0
> Returned 258048 bytes of ZoneHigh
> e820 map has 8 items:
>   0: 0000000000000000 - 000000000009f800 = 1 RAM
>   1: 000000000009f800 - 00000000000a0000 = 2 RESERVED
>   2: 00000000000f0000 - 0000000000100000 = 2 RESERVED
>   3: 0000000000100000 - 000000007fd89000 = 1 RAM
>   4: 000000007fd89000 - 000000007fe00000 = 2 RESERVED
>   5: 00000000e0000000 - 00000000f0000000 = 2 RESERVED
>   6: 00000000fee00000 - 00000000fee01000 = 2 RESERVED
>   7: 0000000100000000 - 0000000180000000 = 1 RAM
> Jump to int19
> enter handle_19:
>   NULL
> Booting from CBFS...
> Run img/Memtest86+
> Segment 464c457f 16777216 at 0xffe23268 -> 256 at 0x02000300
> No support for compression type 10101
> enter handle_18:
>   NULL
> Booting from 0000:7c00
> GRUB Loading stage2. Output on the SERIAL line..
> enter handle_12:
>    a=00000000  b=00000000  c=00000000  d=00000080 ds=0000 es=0000 ss=0000
>   si=0000811e di=00028da8 bp=00001ff0 sp=00001ff4 cs=0000 ip=8a82 f=0297
> no switch back.
>
>
>     GRUB  version 0.5.96  (638K lower / 2093604K upper memory)
>
>  +-------------------------------------------------------------------------+ 
>
>  | Boot GNU/Linux 
> [ll-ttyS1-115K2]                                         |
>  | Boot GNU/Linux 
> [xx-ttyS1-115K2]                                         |
>  | Boot GNU/Linux 
> [xx-ttyS1-115K2]                                         |
>  | Boot GNU/Linux 
> [default]                                                |
>  | Install GRUB into the hard 
> disk                                         |
>  | |
>  | |
>  | |
>  | |
>  | |
>  | |
>  | |
>  +-------------------------------------------------------------------------+ 
>
>       Use the ^ and v keys to select which entry is highlighted.
>       Press enter to boot the selected OS, 'e' to edit the
>       commands before booting, or 'c' for a command-line.
>
> After pressing 'ESC' and select '2', I'm not able to boot memtest86+, 
> and fall back to the hard drive.
>
> Has anyone already faced this behavior.
> Thanks in advance.
> Best regards,
> Patrick Agrain




More information about the coreboot mailing list