HI !
Not to far into l4 yet - so this is most likely quite basic. trying to get L4Linux-2.6 to boot from hard disk. To get it to boot the docs say to use the modified grub - first shot was the grub cvs version - but that does not compile with gcc 3.3.6 (looks like it compiles up to gcc 3.2.X only - so next show was the patched grub-0.97 with the diff from ~adam/grub/ (patch < grub-0.97-os.diff) recompiled (./configure, make) and installed it(make install, grub-install /dev/hda) - booting gives me:
GNU GRUB version 0.97-os.1 (640K lower / 228288K upper memory)
followed by the menu - so I guess it worked. But if I use any of the features (i.e. set VAR := VAL, reference as $(VAL) ) it does not seem to know of these extensions ?
the following is a part of my menu.lst:
<snip> set P := (hd0,1)/usr/src/l4/l4/bin/x86_586/l4v2/ set C := (hd0,1)/usr/src/l4/cfg set L := (hd0,1)/usr/src/l4/l4linux/
# For booting GNU/Linux title GNU/Linux kernel (hd0,1)/boot/vmlinuz root=/dev/hda2 read-only
title The "hello" program kernel $(P)/rmgr -sigma0 module $(P)/fiasco -nokdb -nowait -serial_esc -comspeed 115200 -comport 0 module $(P)/sigma0 module $(P)/hello
title The "hello2" program kernel /usr/src/l4/l4/bin/x86_586/l4v2/rmgr -sigma0 module /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -nowait -serial_esc -comspeed 115200 -comport 0 module /usr/src/l4/l4/bin/x86_586/l4v2/sigma0 module /usr/src/l4/l4/bin/x86_586/l4v2/hello <snip>
The target "hello" fails with
<snip> kernel $(P)/rmgr -sigma0
Error 1: Filename must be either an absolute pathname or blocklist
Press any key to continue... <snip>
The target "hello2" loads as expected (it fails for other reasons later though)
<snip> kernel /usr/src/l4/l4/bin/x86_586/l4v2/rmgr -sigma0 [Multiboot-elf, <0x100000:0x20e40:0x0>, <0x121e40:0x483c:0xa4784>, shtab=0x1 cb2f8, entry=0x100000] module /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -nowait -serial_esc -comsp eed 115200 -comport 0 [Multiboot-module @ 0x20f000, 0x56ea4 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/sigma0 [Multiboot-module @ 0x266000, 0x10211 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/hello [Multiboot-module @ 0x277000, 0xa884 bytes] <snip>
I'm excluding hardware problems as the demo-CD version works fine - so its something thats wrong in this menu.lst ?
I also tried removing the (hd0,1) from the settings as I did not have that in the hardcoded modules - so using: set P := /usr/src/l4/l4/bin/x86_586/l4v2/ but that did not change anything.
regarding booting of linux - with all paths absolute due to the above problem:
<menu.lst> title L4Linux 2.6 kernel /usr/src/l4/l4/bin/x86_586/l4v2/rmgr -sigma0 task modname "bmodfs" module module module module module module boot_priority 0xA8 modaddr 0x02000000 module /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -serial_esc -comspeed 115200 -comport 0 module /usr/src/l4/l4/bin/x86_586/l4v2/sigma0 module /usr/src/l4/l4/bin/x86_586/l4v2/names module /usr/src/l4/l4/bin/x86_586/l4v2/log --prio 0xA1 --buffer 0 module /usr/src/l4/l4/bin/x86_586/l4v2/dm_phys module /usr/src/l4/l4/bin/x86_586/l4v2/simple_ts -t 380 module /usr/src/l4/l4/bin/x86_586/l4v2/rtc module /usr/src/l4/l4/bin/x86_586/l4v2/l4io --noirq module /usr/src/l4/l4/bin/x86_586/l4v2/bmodfs module /usr/src/l4/l4/bin/x86_586/l4v2/libloader.s.so module /usr/src/l4/cfg/run.bmodfs.cfg module /usr/src/l4/l4/bin/x86_586/l4v2/run module /usr/src/l4/l4linux-2.6/vmlinuz26 module /usr/src/l4/cfg/l4linux26.cfg module /usr/src/l4/l4/bin/x86_586/l4v2/l4exec module /usr/src/l4/l4/bin/x86_586/l4v2/con --l4io module /usr/src/l4/l4/bin/x86_586/l4v2/loader --fprov=BMODFS run.bmodfs.cfg l4linux26.cfg <snip>
I get the following output when booting:
<snip> Booting 'L4Linux 2.6 '
kernel /usr/src/l4/l4/bin/x86_586/l4v2/rmgr -sigma0 -serial -comport=1 task mod name "bmodfs" module module module module module module module task modname "l4 dope" boot_priority 0xA8 [Multiboot-elf, <0x100000:0x20e40:0x0>, <0x121e40:0x483c:0xa4784>, shtab=0x1 cb2f8, entry=0x100000] modaddr 0x02000000 Setting module load address to 0x2000000 module /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -nowait -serial_esc -comsp eed 115200 -comport 1 [Multiboot-module @ 0x2000000, 0x56ea4 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/sigma0 [Multiboot-module @ 0x2057000, 0x10211 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/names [Multiboot-module @ 0x2068000, 0x2ab0e bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/log --prio 0xA1 --buffer 0 [Multiboot-module @ 0x2093000, 0x27a40 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/dm_phys [Multiboot-module @ 0x20bb000, 0x622a7 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/simple_ts -t 380 [Multiboot-module @ 0x211e000, 0x2ffac bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/rtc [Multiboot-module @ 0x214e000, 0x2138b bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/l4io --noirq [Multiboot-module @ 0x2170000, 0x1da7d1 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/bmodfs [Multiboot-module @ 0x234b000, 0x8f715 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/libloader.s.so [Multiboot-module @ 0x23db000, 0x8ec94 bytes] module /usr/src/l4/cfg/run.bmodfs.cfg [Multiboot-module @ 0x246a000, 0x78 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/run [Multiboot-module @ 0x246b000, 0x51d69 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/con_demo2 [Multiboot-module @ 0x24bd000, 0x8a3eb bytes] module /usr/src/l4/l4linux-2.6/vmlinuz26 [Multiboot-module @ 0x2548000, 0xda1d5a bytes] module /usr/src/l4/cfg/l4linux26.cfg [Multiboot-module @ 0x32ea000, 0x73 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/l4exec [Multiboot-module @ 0x32eb000, 0x103b97 bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/con --l4io [Multiboot-module @ 0x33ef000, 0x17531e bytes] module /usr/src/l4/l4/bin/x86_586/l4v2/loader --fprov=BMODFS run.bmodfs.cfg l4l inux26.cfg [Multiboot-module @ 0x3565000, 0xcf4e3 bytes]
RMGR: Stage1 loading /usr/src/l4/l4/bin/x86_586/l4v2/sigma0 loading kernel /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -nowait -serial_esc -comspeed 115200 -comport 1 kernel at 00001000-003906a4 detected new-style DD-L4(v2)/Fiasco configuring sigma0: 00090000-00096000, start: 00090000 reserve modules memory range: 02057000-036344e4 starting kernel /usr/src/l4/l4/bin/x86_586/l4v2/fiasco -nokdb -nowait -serial_esc -comspeed 115200 -comport 1 proto=0x101f20 @ 0x0030097c
Welcome to Fiasco(ia32)! DD-L4(v2)/x86 microkernel (C) 1998-2005 TU Dresden Rev: Thu Dec 22 23:02:20 2005 compiled with gcc 3.3.6 for Intel Pentium Performance-critical config option(s) detected: CONFIG_SCHED_RTC is on CONFIG_NDEBUG is off
Enabling special fully nested mode for PIC Using the RTC on IRQ 8 (1kHz) for scheduling CPU: AuthenticAMD (6:8:1:0) Model: Duron (Applebred) at 1601 MHz
16/256 Entry I TLB (4K pages) 8 Entry I TLB (4M pages) 32/256 Entry D TLB (4K pages) 8 Entry D TLB (4M pages) 64 KB L1 I Cache (2-way associative, 64 bytes per line) 64 KB L1 D Cache (2-way associative, 64 bytes per line) 64 KB L2 U Cache (8-way associative, 64 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
SIGMA0: Hello! Found Fiasco: KIP syscalls: no. Allocated 124kB for maintenance structures.
RMGR: Stage2 running on Fiasco bootloader loaded 16 modules at 02068000-036344e4 total RAM size = 228928 KB (reported by bootloader) received 209268 KB RAM from sigma0 816 KB reserved for RMGR My symbols at 0cde3000-0cde6000 (12kB), lines at 0cdd6000-0cde3000 (52kB) received no I/O ports attached irqs = [ <!0> 1 <!2> 3 <!4> 5 6 7 <!8> 9 a b c d e f ]
RMGR: Parsing the config options of command line. configured task 0x0b: [ m:0,ffffffff,ffffffff hm:0,ffffffff,ffffffff t:0,ffff,ffff i:ffff lmcp:ffff s:0,ff,ff mcp:ff prio:10 small:ff ] WARNING: couldn't find modname l4dope, only storing it's quota configured task 0x15: [ m:0,ffffffff,ffffffff hm:0,ffffffff,ffffffff t:0,ffff,ffff i:ffff lmcp:ffff s:0,ff,ff mcp:ff prio:a8 small:ff ] log_mask: 00000000, log_types: 00000000
RMGR: Starting tasks. #05: loading "/usr/src/l4/l4/bin/x86_586/l4v2/names" from 02068000-02092b0e to [ 00240000-002467d2 00247000-00253000 ] starting at entry 00240000 via trampoline page code 0005916c symbols at 0cdd4000-0cdd6000 (8kB), lines at 0cdcf000-0cdd4000 (20kB) #06: loading "/usr/src/l4/l4/bin/x86_586/l4v2/log --prio 0xA1 --buffer 0" from 02093000-020baa40 to [ 00400000-00406d01 00407000-00439510 ] starting at entry 00400000 via trampoline page code 0005a180 symbols at 0cdcd000-0cdcf000 (8kB), lines at 0cdc8000-0cdcd000 (20kB) #07: loading "/usr/src/l4/l4/bin/x86_586/l4v2/dm_phys" from 020bb000-0211d2a7 to [ 01500000-0151239a 01513000-0151a410 ] starting at entry 01500000 via trampoline page code 0005b16c symbols at 0cdc4000-0cdc8000 (16kB), lines at 0cdb8000-0cdc4000 (48kB) #08: loading "/usr/src/l4/l4/bin/x86_586/l4v2/simple_ts -t 380" from 0211e000-0214dfac to [ 01400000-01407ffa 01408000-01413850 ] starting at entry 01400000 via trampoline page code 0005c178 symbols at 0cdb6000-0cdb8000 (8kB), lines at 0cdb0000-0cdb6000 (24kB) #09: loading "/usr/src/l4/l4/bin/x86_586/l4v2/rtc" from 0214e000-0216f38b to [ 01080000-01084b19 01085000-0108a000 ] starting at entry 01080000 via trampoline page code 0005d168 symbols at 0cdae000-0cdb0000 (8kB), lines at 0cdaa000-0cdae000 (16kB) #0a: loading "/usr/src/l4/l4/bin/x86_586/l4v2/l4io --noirq" from 02170000-0234a7d1 to [ 00b80000-00ba322b 00ba4000-00bd8000 ] starting at entry 00b80000 via trampoline page code 0005e174 symbols at 0cd73000-0cdaa000 (220kB), lines at 0cd5d000-0cd73000 (88kB) #0b: loading "/usr/src/l4/l4/bin/x86_586/l4v2/bmodfs" from 0234b000-023da715 to [ 01220000-01236d6c 01237000-0123f000 ] passing module /usr/src/l4/l4/bin/x86_586/l4v2/liblo [ 023db000-02469c94 ] passing module /usr/src/l4/cfg/run.bmodfs.cfg [ 0246a000-0246a078 ] passing module /usr/src/l4/l4/bin/x86_586/l4v2/run [ 0246b000-024bcd69 ] passing module /usr/src/l4/l4/bin/x86_586/l4v2/con_d [ 024bd000-025473eb ] passing module /usr/src/l4/l4linux-2.6/vmlinuz26 [ 02548000-032e9d5a ] passing module /usr/src/l4/cfg/l4linux26.cfg [ 032ea000-032ea073 ] passing module /usr/src/l4/l4/bin/x86_586/l4v2/l4exe [ 032eb000-033eeb97 ] starting at entry 01220000 via trampoline page code 0005f16c symbols at 0cd58000-0cd5d000 (20kB), lines at 0cd49000-0cd58000 (60kB) #13: loading "/usr/src/l4/l4/bin/x86_586/l4v2/con --l4io" from 033ef000-0356431e to [ 00b00000-00b4efab 00b4f000-00b61000 ] starting at entry 00b00000 via trampoline page code 00060170 symbols at 0cd3b000-0cd49000 (56kB), lines at 0cd0d000-0cd3b000 (184kB) #14: loading "/usr/src/l4/l4/bin/x86_586/l4v2/loader --fprov=BMODFS run.bmodfs.cfg l4linux26.cfg" from 03565000-036344e3 to [ 01300000-013265cb 01327000-01339000 ] starting at entry 01300000 via trampoline page code 00061198 symbols at 0cd07000-0cd0d000 (24kB), lines at 0ccf2000-0cd07000 (84kB)
simplets| Configured for 380 tasks. rtc | Date:04.01.2006 Time:11:00:09
RMGR: task a.00 at 00b99c57 is trying to get page 00100000 allocated by task 7
---------------------------------------------------------IP: 0011c6c1 --double page fault (4.00) jdb: ^ Return reboots, "k" enters L4 kernel debugger... Rebooting.
<snip>
Any hint on what I've messed up - also pointers on how to get usable debug infos out of such a situation would be appreciated - I did fine some short l4_install.notes describing setup of hello + L4Linux but they seem to be a bit out of date. My suspicion is that the grub is not correctly patched and thus these problems...
thx ! hofrat