[LinuxBIOS] GA-M57SLI - Nvidia X Server

Peter Stuge peter at stuge.se
Fri Jul 27 16:52:37 CEST 2007


Hi John,

On Thu, Jul 26, 2007 at 09:48:39PM -0400, john wrote:
> >Please try the FILO patch in this message:
> >
> >http://www.linuxbios.org/pipermail/linuxbios/2007-May/021586.html
> 
> I've tried the patch, with debugging enabled - see attached file.

Great - thanks a lot!


> Looks like device and filename are parsed out correctly but initrd
> file reading fails with "File not found".

Aye. This has been reported before. Did you change anything else than
patch and rebuild FILO before/after you got this error?


> Also, FYI, I removed the "initrd=hde3:/boot/initrd-2.6.22.img"
> clause entirely from menu.lst and filo went into a loop, loading
> the kernel over and over again.

Yeah - it can't find initrd, so booting fails, then it retries, and
can't find initrd, and iterate.


> Finally, the spin-up delay patch given on the Build Tutorial does
> not work. I believe a blank line is missing just before the
> /* Initialize */ comment.

Can you send an updated patch?


>  file_open: dev=hde3, path=/boot/vmlinuz-2.6.22
>  devopen: already open
>  ide_readmany: sector 43938110 to 0x00123ee0
>  ide_readmany: sector 43938111 to 0x001240e0
>  ide_readmany: sector 43938112 to 0x0011c2e0
>  ide_readmany: sector 43938113 to 0x0011c4e0
>  ide_readmany: sector 43938114 to 0x0011c6e0
>  ide_readmany: sector 43938115 to 0x0011c8e0
>  ide_readmany: sector 43938116 to 0x0011cae0
>  ide_readmany: sector 43938117 to 0x0011cce0
>  ide_readmany: sector 70660414 to 0x00123ee0
>  ide_readmany: sector 70660415 to 0x001240e0
>  ide_readmany: sector 70660416 to 0x0011c2e0
>  ide_readmany: sector 70660417 to 0x0011c4e0
>  ide_readmany: sector 70660418 to 0x0011c6e0
>  ide_readmany: sector 70660419 to 0x0011c8e0
>  ide_readmany: sector 70660420 to 0x0011cae0
>  ide_readmany: sector 70660421 to 0x0011cce0
>  ide_readmany: sector 70660422 to 0x0011cee0
>  ide_readmany: sector 70660423 to 0x0011d0e0
>  ide_readmany: sector 70660424 to 0x0011d2e0
>  ide_readmany: sector 70660425 to 0x0011d4e0
>  ide_readmany: sector 70660426 to 0x0011d6e0
>  ide_readmany: sector 70660427 to 0x0011d8e0
>  ide_readmany: sector 70660428 to 0x0011dae0
>  ide_readmany: sector 70660429 to 0x0011dce0

I should try to combine these reads too. Thanks for showing this.


>  malloc_diag: alloc: 512 bytes (4 blocks), free: 15864 bytes (1 blocks)
>  ext2fs_read_one: block  3352637  offset=0 len=52 ret=0
>  ide_readmany: sector 70742806 to 0x0011eee0
>  elf_load: Not a bootable ELF image

52 bytes (ELF header size) are read from the vmlinuz file, then it is
determined to not be a plain ELF file. I guess elfboot attempts to
boot a plain ELF file before treating the file as a kernel.


>  malloc_diag: alloc: 528 bytes (5 blocks), free: 15848 bytes (1 blocks)
>  file_open: dev=hde3, path=/boot/vmlinuz-2.6.22
>  devopen: already open
>  ide_readmany: sector 43929926 to 0x0011cee0
>  ide_readmany: sector 43929927 to 0x0011d0e0
>  ide_readmany: sector 43929928 to 0x0011d2e0
>  ide_readmany: sector 43929929 to 0x0011d4e0
>  ide_readmany: sector 43929930 to 0x0011d6e0
>  ide_readmany: sector 43929931 to 0x0011d8e0
>  ide_readmany: sector 43929932 to 0x0011dae0
>  ide_readmany: sector 43929933 to 0x0011dce0
>  ide_readmany: sector 43938110 to 0x00123ee0
>  ide_readmany: sector 43938111 to 0x001240e0
>  ide_readmany: sector 43938112 to 0x0011c2e0
>  ide_readmany: sector 43938113 to 0x0011c4e0
>  ide_readmany: sector 43938114 to 0x0011c6e0
>  ide_readmany: sector 43938115 to 0x0011c8e0
>  ide_readmany: sector 43938116 to 0x0011cae0
>  ide_readmany: sector 43938117 to 0x0011cce0
>  ide_readmany: sector 70660414 to 0x00123ee0
>  ide_readmany: sector 70660415 to 0x001240e0
>  ide_readmany: sector 70660416 to 0x0011c2e0
>  ide_readmany: sector 70660417 to 0x0011c4e0
>  ide_readmany: sector 70660418 to 0x0011c6e0
>  ide_readmany: sector 70660419 to 0x0011c8e0
>  ide_readmany: sector 70660420 to 0x0011cae0
>  ide_readmany: sector 70660421 to 0x0011cce0
>  ide_readmany: sector 70660422 to 0x0011cee0
>  ide_readmany: sector 70660423 to 0x0011d0e0
>  ide_readmany: sector 70660424 to 0x0011d2e0
>  ide_readmany: sector 70660425 to 0x0011d4e0
>  ide_readmany: sector 70660426 to 0x0011d6e0
>  ide_readmany: sector 70660427 to 0x0011d8e0
>  ide_readmany: sector 70660428 to 0x0011dae0
>  ide_readmany: sector 70660429 to 0x0011dce0
>  malloc_diag: alloc: 512 bytes (4 blocks), free: 15864 bytes (1 blocks)
>  ext2fs_read_one: block  3352637  offset=0 len=560 ret=0
>  ide_readmany: sector 70742807 to 0x0011f0e0
>  Found Linuxblock  3352638  offset=1131 len=256 ret=0
>  ide_readmany: sector 70742816 to 0x001202e0
>   version 2.6.22 (root at amdx2) #1 SMP Tue Jul 10 17:07:13 EDT 2007 (protocol 0x206) (loadflags 0x1) bzImage.
>  init_linux_params: Setting up paramters at 0x90000
>  set_memory_size: 0000000000001000 - 00000000000a0000
>  set_memory_size: 00000000000c0000 - 00000000000f0000
>  set_memory_size: 0000000000100000 - 00000000c0000000
>  set_memory_size: 0000000100000000 - 0000000140000000
>  set_memory_size: ramtop=0xc0000000
>  set_memory_size: ext_mem_k=64512, alt_mem_k=3144704
>  parse_command_line: original command line: "root=/dev/sda3 ro initrd=hde3:/boot/initrd-2.6.22.img acpi_use_timer_override "
>  parse_command_line: kernel command line at 0x91000
>  malloc_diag: alloc: 552 bytes (5 blocks), free: 15824 bytes (1 blocks)
>  parse_command_line: initrd=hde3:/boot/initrd-2.6.22.img
>  parse_command_line: kernel command line (88 bytes): "root=/dev/sda3 ro acpi_use_timer_override pci=routeirq console=tty0 c"
>  load_linux_kernel: offset=0x2000 addr=0x100000 size=0x1c6628
>  Loading kernel...   6 blocks  3352639 - 3352644  len=1861160 ret=0
>  devreadmany: sectors 26821112 - 26821159 ( 48) to 40241530
>  ide_readmany: sectors 70742822 - 70742869 ( 48) to 0x40241530
>  ide_readmany: sector 70742910 to 0x00123ee0
>  ide_readmany: sector 70742911 to 0x001240e0
>  ide_readmany: sector 70742912 to 0x0011c2e0
>  ide_readmany: sector 70742913 to 0x0011c4e0
>  ide_readmany: sector 70742914 to 0x0011c6e0
>  ide_readmany: sector 70742915 to 0x0011c8e0
>  ide_readmany: sector 70742916 to 0x0011cae0
>  ide_readmany: sector 70742917 to 0x0011cce0
>  ext2fs_read_many:   4 blocks  3352646 - 3352649  len=1836584 ret=24576
>  devreadmany: sectors 26821168 - 26821199 ( 32) to 40247530
>  ide_readmany: sectors 70742878 - 70742909 ( 32) to 0x40247530
>  ext2fs_read_many: 445 blocks  3352651 - 3353095  len=1820200 ret=40960
>  devreadmany: sectors 26821208 - 26824767 (3560) to 4024b530
>  ide_readmany: sectors 70742918 - 70743173 (256) to 0x4024b530
>  ide_readmany: sectors 70743174 - 70743429 (256) to 0x4026b530
>  ide_readmany: sectors 70743430 - 70743685 (256) to 0x4028b530
>  ide_readmany: sectors 70743686 - 70743941 (256) to 0x402ab530
>  ide_readmany: sectors 70743942 - 70744197 (256) to 0x402cb530
>  ide_readmany: sectors 70744198 - 70744453 (256) to 0x402eb530
>  ide_readmany: sectors 70744454 - 70744709 (256) to 0x4030b530
>  ide_readmany: sectors 70744710 - 70744965 (256) to 0x4032b530
>  ide_readmany: sectors 70744966 - 70745221 (256) to 0x4034b530
>  ide_readmany: sectors 70745222 - 70745477 (256) to 0x4036b530
>  ide_readmany: sectors 70745478 - 70745733 (256) to 0x4038b530
>  ide_readmany: sectors 70745734 - 70745989 (256) to 0x403ab530
>  ide_readmany: sectors 70745990 - 70746245 (256) to 0x403cb530
>  ide_readmany: sectors 70746246 - 70746477 (232) to 0x403eb530
>  ext2fs_read: discarding 2520 surplus bytes
>  ext2fs_read: done reading many  len=0 ret=1861160
>  ok

..the kernel loads fine.


>  malloc_diag: alloc: 568 bytes (6 blocks), free: 15808 bytes (1 blocks)
>  file_open: dev=hde3, path=/boot/initrd-2.6.22.img
>  devopen: already open
>  ide_readmany: sector 43929926 to 0x0011cee0
>  ide_readmany: sector 43929927 to 0x0011d0e0
>  ide_readmany: sector 43929928 to 0x0011d2e0
>  ide_readmany: sector 43929929 to 0x0011d4e0
>  ide_readmany: sector 43929930 to 0x0011d6e0
>  ide_readmany: sector 43929931 to 0x0011d8e0
>  ide_readmany: sector 43929932 to 0x0011dae0
>  ide_readmany: sector 43929933 to 0x0011dce0
>  File not found

But the initrd can't be found even though it's in the same directory
as the kernel. My patch obviously breaks the ext2 driver.

I'm afraid I currently don't have enough hardware to debug this
myself and remote development is no fun so for now I have to
recommend you skip the patch and suffer through the long loading
times.

But I really appreciate the feedback and debugging output!

If you want to help further, then please set also E2DEBUG=1 in Config
and rebuild FILO. That should give a lot more ext2 debug output which
I would appreciate if you could send.

Thanks!


//Peter




More information about the coreboot mailing list