hi all!
I compiled myself l4linux and tried to start it, but something goes wrong. When the linux server starts, a page fault occurs at the beginning of its BSS area. The log is the following:
[===============================================]
L4 Bootstrapper Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco -nowait -nokdb -serial -jdb_never_stop -tbuf_entries=32768 -jdb_cmd=JH Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0 Scaning (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask task sigma0 boot_priority 0xA0 task roottask boot_priority 0xA0 task modname "names" boot_priority 0xA0 task modname "log" boot_priority 0xA1 task modname "dm_phys" boot_priority 0xA0 task modname "simple_ts" boot_priority 0xA0 task modname "l4io" allow_cli boot_priority 0xA3 task modname "rtc" allow_cli task modname "l4con" allow_cli task modname "l4exec" boot_priority 0xA0 task modname "loader" allow_cli boot_priority 0xA0 task modname "vmlinuz26" task modname "bmodfs" attached 4 modules Relocated mbi to [0x64000-0x64a22] Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0 Loading (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask find kernel info page... found kernel info page at 0x1000 API Version: (87) experimental Sigma0 config ip:00090000 sp:00105100 [00090000-00096d44] Roottask config ip:00120000 sp:00108528 [00120000-002bda14] [00001000-00002000) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [00002000-00055980) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [00055980-0005e290) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [0005f000-00062230) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [00062240-00064000) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [00090000-000948dc) (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0 [000958e0-00096d44) (nd)/tftpboot/drops/bin/x86_586/l4v2/sigma0 [0009f000-00100000) BIOS area [00100000-00108764) bootstrap [00120000-00133190) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask [00134000-0013e67e) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask [0013f680-002bda14) (nd)/tftpboot/drops/bin/x86_586/l4v2/roottask [00300000-00301a40) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [00302000-0038f408) (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco [02000000-036b3174) Modules Memory [10000000-ffffffff) Deep Space Starting kernel (nd)/tftpboot/drops/bin/x86_586/l4v2/fiasco at 00300878
[1;32mWelcome to Fiasco(ia32)! [0;32mDD-L4(v2)/x86 microkernel (C) 1998-2006 TU Dresden Rev: Mon Aug 28 08:34:51 2006 compiled with gcc 3.3.1 for Intel Pentium[0m [31mPerformance-critical config option(s) detected: CONFIG_ASSEMBLER_IPC_SHORTCUT is off CONFIG_NDEBUG is off [m Enabling special fully nested mode for PIC Using the PIT (i8254) on IRQ 0 for scheduling Absolute KIP Syscalls using: Sysenter CPU: GenuineIntel (6:3:3:0) Model: Unknown CPU at 735 MHz
8 KB L1 I Cache (4-way associative, 32 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
[6nSIGMA0: Hello! Found Fiasco: KIP syscalls: yes. Allocated 132kB for maintenance structures.
Roottask. Command line found: "(nd)/tftpboot/drops/bin/x86_586/l4v2/roottask task sigma0 boot_priority 0xA0 task roottask boot_priority 0xA0 task modname "names" boot_priority 0xA0 task modname "log" boot_priority 0xA1 task modname "dm_phys" boot_priority 0xA0 task modname "simple_ts" boot_priority 0xA0 task modname "l4io" allow_cli boot_priority 0xA3 task modname "rtc" allow_cli task modname "l4con" allow_cli task modname "l4exec" boot_priority 0xA0 task modname "loader" allow_cli boot_priority 0xA0 task modname "vmlinuz26" task modname "bmodfs" attached 4 modules"
261759kB ( 255MB) total RAM (reported by bootloader) 215872kB ( 211MB) received RAM from Sigma0 24376kB ( 24MB) reserved RAM for RMGR Received I/O ports 0000-ffff Attached irqs = [ <!0> 1 <!2> 3 4 5 6 7 8 9 A B C D E F ]
Roottask: Parsing command line config. configured task 0x02 (): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x04 (): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (names): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (log): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a1 small:ff mods:0 configured task 0x00 (dm_phys): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (simple_ts): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (l4io): vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:a3 small:ff mods:0 configured task 0x00 (rtc): vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:10 small:ff mods:0 configured task 0x00 (l4con): vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:10 small:ff mods:0 configured task 0x00 (l4exec): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (loader): vm_offs:0 irq:ffff lmcp:ffff allow_cli:1 mcp:ff prio:a0 small:ff mods:0 configured task 0x00 (vmlinuz26): configured task 0x00 (bmodfs): vm_offs:0 irq:ffff lmcp:ffff allow_cli:0 mcp:ff prio:10 small:ff mods:4
Roottask: Loading 14 modules. [36m#05: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/names" [m from [[37m02085000[m-[37m0208e174[m] to [002d0000-002d616a][002d7000-002e3000] entry at [37m0005f384[m via trampoline page code [36m#06: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/log --prio 0xA1" [m from [[37m0208f000[m-[37m02097354[m] to [00400000-00406c8a][00407000-00439890] entry at [37m00060390[m via trampoline page code [36m#07: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/dm_phys --isa=0x00800000" [m from [[37m02098000[m-[37m020ac174[m] to [01500000-01511dea][01512000-0151c000] entry at [37m00061398[m via trampoline page code [36m#08: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/simple_ts -t 900" [m from [[37m020ad000[m-[37m020b7354[m] to [01400000-0140854a][01409000-0141b050] entry at [37m00062390[m via trampoline page code [36m#09: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/rtc" [m from [[37m020b8000[m-[37m020bf174[m] to [01080000-01084200][01085000-0108a000] entry at [37m00063384[m via trampoline page code [36m#0a: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4io --noirq" [m from [[37m020c0000[m-[37m0210f174[m] to [00b80000-00ba2a32][00ba3000-00bf0000] entry at [37m0006538c[m via trampoline page code [36m#0b: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/bmodfs" [m from [[37m02110000[m-[37m02128174[m] to [01220000-012354ee][01236000-01256000] passing module (nd)/tftpboot/cfg/l4linux26.cfg [ 02129000-021290d2 ] passing module drops/bin/x86_586/l4v2/libloader.s.so [ 0212a000-021c8755 ] passing module boot/drops/bin/x86_586/l4v2/vmlinuz26 [ 021c9000-03205e3b ] passing module (nd)/tftpboot/drops/bin/rd/initrd.gz [ 03206000-03606000 ] entry at [37m00066470[m via trampoline page code [36m#0c: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4con --l4io" [m from [[37m03606000[m-[37m0365a174[m] to [00b00000-00b4d35e][00b4e000-00b79000] entry at [37m0006738c[m via trampoline page code [36m#0d: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/l4exec" [m from [[37m0365b000[m-[37m03689174[m] to [01100000-0112b80a][0112c000-0114e000] entry at [37m00068384[m via trampoline page code [36m#0e: loading "(nd)/tftpboot/drops/bin/x86_586/l4v2/loader --fprov=BMODFS l4linux26.cfg" [m from [[37m0368a000[m-[37m036b3174[m] to [01300000-01326272][01327000-0134f000] entry at [37m000693a4[m via trampoline page code
rtc | Date:01.03.2008 Time:23:02:14 con | Using fast memcpy. simplets| parse_args(): Too many tasks (900) -- limiting to 891! simplets| Configured for 891 tasks. io | do_args(): Disabling internal IRQ handling. io | PCI: Using configuration type 1 io | PCI: Probing PCI hardware io | PCI: Probing PCI hardware (bus 00) io | PCI: PIIX3: Enabling Passive Release on 00:01.0 io | Limiting direct PCI/PCI transfers. io | Activating ISA DMA hang workarounds. io | 00000000-ffffffff : PCI mem io | f0000000-f1ffffff : Cirrus Logic GD 5446 io | f2000000-f2000fff : Cirrus Logic GD 5446 io | 0000-ffff : PCI IO io | 0cf8-0cff : PCI conf1 io | c000-c00f : Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II] io | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8029(AS) con | Character size is 8x14, font has 256 characters con | VESA reports 800x600@16 1600bpl (00bb) [4096kB] con | Color mapping: red=11:5 green=5:6 blue=0:5 res=0:0 con | No supported accelerated graphics card detected io | Remapping I/O memory f0000000-f0400000 cached con | Mapped I/O video mem f0000000 => 02000000+000000 [4096kB] via l4io con | Using MMXEXT for colorspace transform con | L4INPUT: !!! W A R N I N G !!! con | L4INPUT: Please, do not use Fiasco's "-esc" with L4INPUT. con | L4INPUT: !!! W A R N I N G !!! con | L4INPUT: Registered 0xb03c80 for callbacks. con | serio: i8042 AUX port at 0x60,0x64 irq 12 con | serio: i8042 KBD port at 0x60,0x64 irq 1 con | input: ImExPS/2 Generic Explorer Mouse on isa0060/serio1 con | input: AT Translated Set 2 keyboard on isa0060/serio0 con | input: PC Speaker con | input: L4 input event injector con | L4 input event injector: IRQ handler up con | connect "ImExPS/2 Generic Explorer Mouse", isa0060/serio1/input0 con | connect "AT Translated Set 2 keyboard", isa0060/serio0/input0 con | connect "PC Speaker", isa0061/input0 con | connect "L4 input event injector", l4/sys con | Running as C.02. Video mode is 800x600@16. bmodfs | Passed the following modules: bmodfs | module "(nd)/tftpboot/cfg/l4linux26.cfg" (1kB) bmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/libloader.s.so" (634kB bmodfs : ) bmodfs | module "(nd)/tftpboot/drops/bin/x86_586/l4v2/vmlinuz26" (16628kB) bmodfs | module "(nd)/tftpboot/drops/bin/rd/initrd.gz" (4096kB) loader | sleeping for 2000 ms exec | vmlinuz26: Loading exec | vmlinuz26: Interpreter section found, contains "/usr/lib/libc.so.1" exec | vmlinuz26: Saved 910939 bytes of symbols exec | libloader.s.so: Loading exec | libloader.s.so: Saved 26701 bytes of symbols exec | libloader.s.so: Relocating to 00010000 exec | libloader.s.so: Linking exec | libloader.s.so: Symbol mmap_normal is weak and undefined exec | libloader.s.so: Symbol munmap_normal is weak and undefined exec | libloader.s.so: Symbol mmap_normal is weak and undefined exec | libloader.s.so: Symbol munmap_normal is weak and undefined exec | libloader.s.so: Relocating entry 00005df0 => 00015df0 exec | libloader.s.so: Setting section flag 0800 exec | vmlinuz26: Setting section flag 0800 loader | vmlinuz26: Starting l4env-style application loader | [36mvmlinuz26,#f: Starting at l4loader_init (00016630)[m exec | vmlinuz26: Linking exec | vmlinuz26: Relocating entry 00400000 => 00400000 exec | vmlinuz26: Packed 737417 bytes of symbols exec | vmlinuz26: Packed 1868352 bytes of lines loader | vmlinuz26,#f: Continue at l4env_init (00016640, libloader.s.so) l4lx | [34;1m======> L4Linux 2.6 starting... <========[0m l4lx | Linux version 2.6.17-l4 (root@umas1) (gcc version 3.3.1 (Mandrake Lin l4lx : ux 9.2 3.3.1-2mdk)) #1 Thu Feb 7 22:57:26 UTC 2008 l4lx | Binary name: vmlinuz26 l4lx | Kernel command line (5 args): mem=128M load_ramdisk=1 ramdisk_size=40 l4lx : 96 root=/dev/ram l4env_rd=(nd)/tftpboot/drops/bin/rd/initrd.gz l4lx | Image: 00400000 - 0071c000 [3184 KiB]. l4lx | Areas: Text: 00400000 - 00631000 [2244kB] (a bit longer) l4lx | Data: 00631000 - 0067b5ac [297kB] l4lx | Initdata: 0067e000 - 006af000 [196kB] l4lx | BSS: 006b0000 - 0071aac0 [426kB] l4lx | L4RM: [PF] read at 0x006b0000, ip 004019e0, src F.02 l4lx | [F.0] l4rm/lib/src/pagefault.c:78:__unknown_pf(): l4lx | unhandled page fault l4lx | l4lx | Exiting with -1 simplets| Exit F.00 [===============================================]
What must be mapped to the BSS area and why it may be unsuccessful? These page faults, as I understand, are handled by l4rm library and dm_phys dataspace manager, but what here can be wrong?
my grub entry is: [===============================================] title loader + l4lx26 mit BMODFS kernel $(ROOT)/bootstrap -serial modaddr 0x02000000 module $(FIASCO) $(FIASCOARGS) module $(P)/sigma0 module $(P)/roottask task sigma0 boot_priority 0xA0 \ task roottask boot_priority 0xA0 \ task modname "names" boot_priority 0xA0 \ task modname "log" boot_priority 0xA1 \ task modname "dm_phys" boot_priority 0xA0 \ task modname "simple_ts" boot_priority 0xA0 \ task modname "l4io" allow_cli boot_priority 0xA3 \ task modname "rtc" allow_cli \ task modname "l4con" allow_cli \ task modname "l4exec" boot_priority 0xA0 \ task modname "loader" allow_cli boot_priority 0xA0 \ task modname "vmlinuz26" \ task modname "bmodfs" attached 4 modules module $(P)/names module $(P)/log --prio 0xA1 module $(P)/dm_phys --isa=0x00800000 module $(P)/simple_ts -t 900 module $(P)/rtc module $(P)/l4io --noirq module $(P)/bmodfs module $(CFG)/l4linux26.cfg module $(P)/libloader.s.so module $(P)/vmlinuz26 module $(S)/rd/initrd.gz module $(P)/l4con --l4io module $(P)/l4exec module $(P)/loader --fprov=BMODFS l4linux26.cfg vbeset $(VBEMODE) [===============================================]
and it uses the following l4linux26.cfg:
[===============================================] modpath "(nd)/tftpboot/drops/bin/x86_586/l4v2"
sleep 2 task "vmlinuz26" "mem=32M load_ramdisk=1 ramdisk_size=4096 root=/dev/ram l4env_rd=(nd)/tftpboot/drops/bin/rd/initrd.gz showpfexc=1" all_sects_writable [===============================================]
as you can probably see, I use a bit old l4linux and l4env sources (downloaded a year or more ago). I think I missed something simple, but I can't understand what. Please help.
WBR, Valery
l4-hackers@os.inf.tu-dresden.de