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