Hi.
I'm trying to get l4linux to run on an AMD Athlon with a NF7-S mother board. I have managed to get linux to run, but only by removing the PCI bus support from the kernel completely. Other attempts at compiling the kernel have resulted in one of two errors when loading:
loader | module path <(nd)/fiasco/hdboot> loader | <vmlinuz.l4env>, args <l4irqack=linux mem=64M no-scroll load_ramdisk= loader : 1 ramdisk_size=16384 root=/dev/ram0 ro l4env_rd=(nd)/fiasco/drops-rd. loader : rd> loader | <vmlinuz.l4env>: priority: a0 exec | vmlinuz.l4env: Loading tftp | Loading (nd)/fiasco/hdboot/vmlinuz.l4env [1146kB] exec | vmlinuz.l4env: Too many (>4) loadable program sections loader | vmlinuz.l4env: Error -2001 (EXEC: Invalid file format) while loading loader | ==> App successfully purged
OR,
Linux version 2.4.28-l4 (root@magenta) (gcc version 3.3.4 (Debian 1:3.3.4-9ubuntu5)) #99 Thu Jan 13 16:18:11 SAST 2005 69MB LOWMEM available. hm, page 00000000 reserved twice. INITRD: 045a9000 - 055a9000 pagetable_init: "Mapped" 1620 4K and 15 4M pages. On node 0 totalpages: 17833 zone(0): 17833 pages. zone(1): 0 pages. zone(2): 0 pages. l4lx | l4lx_thread_create: Created thread 13.04 (Root pager) Kernel command line: l4irqack=linux mem=64M no-scroll load_ramdisk=1 ramdisk_size=16384 root=/dev/ram0 ro l4env_rd=(nd)/fiasco/drops-rd.rd l4irqack: L4Linux acknowledges IRQs itself l4lx_irq_timer_startup(0) timer_irq_thread: Starting timer IRQ thread CPU 0. l4lx | l4lx_thread_create: Created thread 13.05 (IRQ0 (Timer)) Console: colour dummy device 80x25 Calibrating delay loop... 1835.00 BogoMIPS Memory: 64736k/71332k available (788k kernel code, 800k reserved, 229k data, 264k init, 0k highmem) Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) Inode cache hash table entries: 8192 (order: 4, 65536 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) XP 2600+ stepping 00 POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xfb420, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Discovered primary peer bus ff [IRQ] PCI: Using IRQ router default [10de/01e0] at 00:00.0 Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd Journalled Block Device driver loaded Starting L4FB via CON con | vc_loop(): vc[3] running as D.08 con | con_if_openqry_component(): Your vc is 03. (D.08) l4lx | l4lx_thread_create: Created thread 13.06 (L4ConInput) con | vc_open_out(): vc[3] 1024x768@16, gmode:0x35 l4fbcon: 1024x750 2bypp, size: 1536000 l4lx | l4lx_thread_create: Created thread 13.07 (CON refresher) l4fb: framebuffer at 0x180000, mapped to 0x00180000, size 0k l4fb: mode is 1024x750x16, linelength=2048, pages=0 l4fb: scrolling: redraw l4fb: directcolor: size=0:5:6:5, shift=0:11:5:0 Console: switching to colour frame buffer device 128x46 fb0: L4FB frame buffer device irq_thread: RMGR denied IRQ 1: Code 0xffffffff Serial driver versiocon | atkbd.c: Unknown n 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled keyboard: Timeout - AT keyboard not present?(ed) keyboard: Timeout - AT keyboard not present?(f4) ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A irq_thread: RMGR denied IRQ 6: Code 0xffffffff key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. floppy0: no floppy controllers found RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize loop: loaded (max 8 devices) Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 33M agpgart: Detected NVIDIA nForce2 chipset general protection: 0000 CPU: 0 EIP: 0000:[<0040b0fc>] EFLAGS: 00013202 eax: 04560000 ebx: 010bec9c ecx: 00000000 edx: 004efe20 esi: 00000000 edi: 00000000 ebp: 010cff08 esp: 010cff0c ds: 0000 es: 0000 ss: 0000 Process swapper (pid: 1, stackpage=010cf000) Stack: 0040b3a5 04560000 000001Linux version 2.4.28-l4 (root@magenta) (gcc version 3.3.4 (Debian 1:3.3.4-9ubuntu5)) #99 Thu Jan 13 16:18:11 SAST 2005 69MB LOWMEM available. hm, page 00000000 reserved twice. INITRD: 045a9000 - 055a9000 pagetable_init: "Mapped" 1620 4K and 15 4M pages. On node 0 totalpages: 17833 zone(0): 17833 pages. zone(1): 0 pages. zone(2): 0 pages. l4lx | l4lx_thread_create: Created thread 13.04 (Root pager) Kernel command line: l4irqack=linux mem=64M no-scroll load_ramdisk=1 ramdisk_size=16384 root=/dev/ram0 ro l4env_rd=(nd)/fiasco/drops-rd.rd l4irqack: L4Linux acknowledges IRQs itself l4lx_irq_timer_startup(0) timer_irq_thread: Starting timer IRQ thread CPU 0. l4lx | l4lx_thread_create: Created thread 13.05 (IRQ0 (Timer)) Console: colour dummy device 80x25 Calibrating delay loop... 1835.00 BogoMIPS Memory: 64736k/71332k available (788k kernel code, 800k reserved, 229k data, 264k init, 0k highmem) Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) Inode cache hash table entries: 8192 (order: 4, 65536 bytes) Mount cache hash table entries: 512 (order: 0, 4096 bytes) Buffer cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line) CPU: L2 Cache: 512K (64 bytes/line) CPU: AMD Athlon(tm) XP 2600+ stepping 00 POSIX conformance testing by UNIFIX PCI: PCI BIOS revision 2.10 entry at 0xfb420, last bus=2 PCI: Using configuration type 1 PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Discovered primary peer bus ff [IRQ] PCI: Using IRQ router default [10de/01e0] at 00:00.0 Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Starting kswapd Journalled Block Device driver loaded Starting L4FB via CON con | vc_loop(): vc[3] running as D.08 con | con_if_openqry_component(): Your vc is 03. (D.08) l4lx | l4lx_thread_create: Created thread 13.06 (L4ConInput) con | vc_open_out(): vc[3] 1024x768@16, gmode:0x35 l4fbcon: 1024x750 2bypp, size: 1536000 l4lx | l4lx_thread_create: Created thread 13.07 (CON refresher) l4fb: framebuffer at 0x180000, mapped to 0x00180000, size 0k l4fb: mode is 1024x750x16, linelength=2048, pages=0 l4fb: scrolling: redraw l4fb: directcolor: size=0:5:6:5, shift=0:11:5:0 Console: switching to colour frame buffer device 128x46 fb0: L4FB frame buffer device irq_thread: RMGR denied IRQ 1: Code 0xffffffff Serial driver versiocon | atkbd.c: Unknown n 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled keyboard: Timeout - AT keyboard not present?(ed) keyboard: Timeout - AT keyboard not present?(f4) ttyS00 at 0x03f8 (irq = 4) is a 16550A ttyS01 at 0x02f8 (irq = 3) is a 16550A irq_thread: RMGR denied IRQ 6: Code 0xffffffff key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. floppy0: no floppy controllers found RAMDISK driver initialized: 16 RAM disks of 16384K size 1024 blocksize loop: loaded (max 8 devices) Linux agpgart interface v0.99 (c) Jeff Hartmann agpgart: Maximum main memory to use for agp memory: 33M agpgart: Detected NVIDIA nForce2 chipset general protection: 0000 CPU: 0 EIP: 0000:[<0040b0fc>] EFLAGS: 00013202 eax: 04560000 ebx: 010bec9c ecx: 00000000 edx: 004efe20 esi: 00000000 edi: 00000000 ebp: 010cff08 esp: 010cff0c ds: 0000 es: 0000 ss: 0000 Process swapper (pid: 1, stackpage=010cf000) Stack: 0040b3a5 04560000 00000173 010cff1c 0100f9d8 00000173 04560000 000bec80 010cff5c 0049e08c 010bec9c 00000020 00000173 0100001c 00008000 00000005 0457ffff 00000000 00000000 00000000 010cff84 0050eeb0 010cff98 00000008 Call Trace: [<0040b3a5>] [<0049e08c>] [<003ff2d0>] [<003ff2de>] [<004016c2>] Code: 0f 09 5d c3 55 89 e5 8b 45 08 53 8b 4d 0c 8b 5d 10 89 18 8bhttp://www.google.com/ <0>Kernel panic: Attempted to kill init! con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. 73 010cff1c 0100f9d8 00000173 04560000 000bec80 010cff5c 0049e08c 010bec9c 00000020 00000173 0100001c 00008000 00000005 0457ffff 00000000 00000000 00000000 010cff84 0050eeb0 010cff98 00000008 Call Trace: [<0040b3a5>] [<0049e08c>] [<003ff2d0>] [<003ff2de>] [<004016c2>] Code: 0f 09 5d c3 55 89 e5 8b 45 08 53 8b 4d 0c 8b 5d 10 89 18 8b <0>Kernel panic: Attempted to kill init! con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y. con | atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060 con : /serio0). con | atkbd.c: This is an XFree86 bug. It shouldn't access hardware directl con : y.
Has anyone managed to get this right before, without removing the PCI support? How? Any suggestions?
Thanx in advance, Steve
On Thursday 13 January 2005 16:14, sbrobson@fastmail.fm wrote:
loader | vmlinuz.l4env: Error -2001 (EXEC: Invalid file format) while loading loader | ==> App successfully purged
Please post the output of ``objdump -h vmlinux'' and the output of ``objdump -p vmlinux''.
Has anyone managed to get this right before, without removing the PCI support? How? Any suggestions?
Try to force Linux to use the ``direct'' method to access the PCI bus (actually forbit using the BIOS).
Frank
Please post the output of ``objdump -h vmlinux'' and the output of ``objdump -p vmlinux''.
The output of "objdump -h vmlinux":
vmlinux: file format elf32-i386
Sections: Idx Name Size VMA LMA File off Algn 0 .text 000e277f 003ff000 003ff000 00001000 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .plt 000002d0 004e1780 004e1780 000e3780 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 00021680 004e1a60 004e1a60 000e3a60 2**5 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .interp 00000013 005030e0 005030e0 001050e0 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .dynsym 000004e0 005030f4 005030f4 001050f4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 5 .dynstr 0000041e 005035d4 005035d4 001055d4 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 6 .hash 0000024c 005039f4 005039f4 001059f4 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 7 .kstrtab 00003ef9 00503c40 00503c40 00105c40 2**5 CONTENTS, ALLOC, LOAD, READONLY, DATA 8 __ex_table 00000010 00507b40 00507b40 00109b40 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 9 __ksymtab 00001f50 00507b50 00507b50 00109b50 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 10 .data.head 00009000 0050a000 0050a000 0010c000 2**2 CONTENTS, ALLOC, LOAD, CODE 11 .data 00012440 00513000 00513000 00115000 2**12 CONTENTS, ALLOC, LOAD, CODE 12 .dynamic 000000a0 00525440 00525440 00127440 2**2 CONTENTS, ALLOC, LOAD, DATA 13 .got.plt 000000bc 005254e0 005254e0 001274e0 2**2 CONTENTS, ALLOC, LOAD, DATA 14 .anno 00000000 005255a0 005255a0 001275a0 2**4 CONTENTS, ALLOC, LOAD, DATA 15 .eh_frame 00000000 005255a0 005255a0 001275a0 2**0 CONTENTS, ALLOC, LOAD, DATA 16 .data.init_task 00002000 00526000 00526000 00128000 2**5 CONTENTS, ALLOC, LOAD, DATA 17 .init.text 00013648 00528000 00528000 0012a000 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 18 .init.data 0002fdee 0053b660 0053b660 0013d660 2**5 CONTENTS, ALLOC, LOAD, DATA 19 .setup.init 00000130 0056b450 0056b450 0016d450 2**2 CONTENTS, ALLOC, LOAD, DATA 20 .initcall.init 000000b4 0056b580 0056b580 0016d580 2**2 CONTENTS, ALLOC, LOAD, DATA 21 .data.cacheline_aligned 00000b00 0056c000 0056c000 0016e000 2**7 CONTENTS, ALLOC, LOAD, DATA 22 .ctors 00000004 0056cb00 0056cb00 0016eb00 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 23 .dtors 00000004 0056cb04 0056cb04 0016eb04 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 24 .bss 00066620 0056e000 0056e000 0016f000 2**13 ALLOC 25 .dynbss 000000dc 005d4620 005d4620 0016f000 2**3 ALLOC 26 .rospace 00001000 005d5000 005d5000 0016f904 2**12 ALLOC, READONLY 27 .rel.dyn 00000180 005d6000 005d6000 00170000 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 28 .stab 0035b2e4 00000000 00000000 00170180 2**2 CONTENTS, READONLY, DEBUGGING 29 .stabstr 00237fd1 00000000 00000000 004cb464 2**0 CONTENTS, READONLY, DEBUGGING 30 .comment 0000331b 00000000 00000000 00703435 2**0 CONTENTS, READONLY 31 .note.GNU-stack 00000000 00000000 00000000 00706750 2**0 CONTENTS, READONLY, CODE
The output of "objdump -p vmlinux":
vmlinux: file format elf32-i386
Program Header: PHDR off 0x00000034 vaddr 0x00001034 paddr 0x00000000 align 2**2 filesz 0x00000100 memsz 0x00000100 flags r-x INTERP off 0x001050e0 vaddr 0x005030e0 paddr 0x005030e0 align 2**0 filesz 0x00000013 memsz 0x00000013 flags r-- LOAD off 0x00001000 vaddr 0x003ff000 paddr 0x003ff000 align 2**12 filesz 0x0010aaa0 memsz 0x0010aaa0 flags r-x LOAD off 0x0010c000 vaddr 0x0050a000 paddr 0x0050a000 align 2**12 filesz 0x00062b08 memsz 0x00062b08 flags rwx LOAD off 0x0016f000 vaddr 0x0056e000 paddr 0x0056e000 align 2**12 filesz 0x00000000 memsz 0x00068000 flags rw- LOAD off 0x00170000 vaddr 0x005d6000 paddr 0x005d6000 align 2**12 filesz 0x00000180 memsz 0x00000180 flags r-- DYNAMIC off 0x00127440 vaddr 0x00525440 paddr 0x00525440 align 2**2 filesz 0x000000a0 memsz 0x000000a0 flags rw- STACK off 0x00000000 vaddr 0x00000000 paddr 0x00000000 align 2**2 filesz 0x00000000 memsz 0x00000000 flags rwx
Dynamic Section: NEEDED libloader.s.so HASH 0x5039f4 STRTAB 0x5035d4 SYMTAB 0x5030f4 STRSZ 0x41e SYMENT 0x10 DEBUG 0x0 PLTGOT 0x0 PLTRELSZ 0x160 PLTREL 0x11 JMPREL 0x5d6000 REL 0x5d6160 RELSZ 0x20 RELENT 0x8
Try to force Linux to use the ``direct'' method to access the PCI bus (actually forbit using the BIOS).
I tried the direct PCI access mode, Linux starts booting, but then gets stuck like before.
Thanx for the assistance. Steve
l4-hackers@os.inf.tu-dresden.de