[coreboot] Black window when running qemu with coreboot+LegacyBIOS
Zhang Rui
zrfail at gmail.com
Fri Jun 20 05:01:14 CEST 2008
2008/6/19 Kevin O'Connor <kevin at koconnor.net>:
> Looks like a difference between our versions of 'ld'. The build
> effectively does:
>
> ld -melf_i386 -e 0xf66e0 -Ttext 0xf0000 -b binary bios.bin -o bios.bin.elf
my ld version information:
[...]legacybios> ld --version
GNU ld version 2.16.91.0.5 20051219 (SUSE Linux)
> I'm not sure why it builds a different elf on your machine. Can you
> try modifying tools/buildrom.py so that it uses "-Tdata" instead of
> "-Ttext"?
>
I get the right elf file after I executed:
ld -melf_i386 -e 0xf66e0 -Tdata 0xf0000 -b binary bios.bin -o
bios.bin.elf
here is the elf information:
out/bios.bin.elf: file format elf32-i386
out/bios.bin.elf
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x000f66e0
Program Header:
LOAD off 0x00001000 vaddr 0x000f0000 paddr 0x000f0000 align 2**12
filesz 0x00010000 memsz 0x00010000 flags rw-
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00010000 000f0000 000f0000 00001000 2**0
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
000f0000 l d .data 00000000 .data
00000000 l d *ABS* 00000000 .shstrtab
00000000 l d *ABS* 00000000 .symtab
00000000 l d *ABS* 00000000 .strtab
00010000 g *ABS* 00000000 _binary_out_bios_bin_size
00100000 g *ABS* 00000000 __bss_start
00100000 g .data 00000000 _binary_out_bios_bin_end
00100000 g *ABS* 00000000 _edata
00100000 g *ABS* 00000000 _end
000f0000 g .data 00000000 _binary_out_bios_bin_start
And then I build it as payload of coreboot and then run qemu with coreboot.
I get the following messages in the console:
[...]
Stage2 code done.
LAR: Attempting to open 'normal/payload/segment0'.
LAR: Start 0xfffc0000 len 0x40000
LAR: seen member normal/option_table
LAR: seen member normal/initram/segment0
LAR: seen member normal/stage2/segment0
LAR: seen member normal/stage2/segment1
LAR: seen member normal/stage2/segment2
LAR: seen member normal/payload/segment0
LAR: CHECK normal/payload/segment0 @ 0xfffc43c0
start 0xfffc4410 len 20752 reallen 65536 compression 1 entry
0x000f66e0 loadaddress 0x000f0000
LAR: Compression algorithm #1 (lzma) used
LAR: Attempting to open 'normal/payload/segment1'.
LAR: Start 0xfffc0000 len 0x40000
LAR: seen member normal/option_table
LAR: seen member normal/initram/segment0
LAR: seen member normal/stage2/segment0
LAR: seen member normal/stage2/segment1
LAR: seen member normal/stage2/segment2
LAR: seen member normal/payload/segment0
LAR: seen member bootblock
LAR: File not found!
LAR: load_file: No such file 'normal/payload/segment1'
LAR: load_file_segments: All loaded, entry 0x000f66e0
Start bios
bios_table_addr: 0x000ff0a5 end=0x000ff841
ram_size=0x08000000
Scan for VGA option rom
Benter handle_10: a=00000e42 b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000fca0
Ienter handle_10: a=00000e49 b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000fca0
Oenter handle_10: a=00000e4f b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000fca0
Senter handle_10: a=00000e53 b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000fca0
enter handle_10: a=00000e20 b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
[...]
enter handle_10: a=00000e0d b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000f664
enter handle_10: a=00000e0a b=00000000 c=00000000 d=00000000
si=00000000 di=00000000
ds=00000000 es=00000000 ip=0000e818 cs=0000f000 f=00000002 r=0000f674
enter handle_18: NULL
No bootable device.
Is that OK?
Thanks for help. ^_^
Zhang Rui
More information about the coreboot
mailing list