Hi, I tried to compile l4linux (kernel 2.6.24) under ubuntu 8.04 (The version of gcc compiler is 4.2.3) and it failed to boot under l4env with Fiasco microkernel. Here is my step to compile l4linux
1. make O=/usr/l4/build/linux x86-native_defconfig 2. enable Support for frame buffer devices and Framebuffer Console support 3. make O=/usr/l4/build/linux
and then edited the menu.lst title L4Linux-2.6 root (hd0,0) kernel /boot/grub/common/bootstrap -modaddr 0x02000000 module /boot/grub/common/fiasco -nokdb -serial_esc module /boot/grub/common/sigma0 module /boot/grub/common/roottask task modname "bmodfs" attached 4 modules module /boot/grub/common/names module /boot/grub/common/log module /boot/grub/common/dm_phys --isa=0x00800000 module /boot/grub/common/simple_ts -t 300 module /boot/grub/common/rtc module /boot/grub/common/l4io module /boot/grub/common/bmodfs module /boot/grub/common/linux.cfg module /boot/grub/common/libloader.s.so module /boot/grub/common/libld-l4.s.so module /boot/grub/common/vmlinuz module /boot/grub/common/loader --fprov=BMODFS linux.cfg
and linux.cfg modpath "(hd0,0)/boot/grub/common" task "vmlinuz" "earlyprint=yes mem=64M" all_sects_writable allow_vga
it shows the following messages when it boots. (last screen page is shown) l4lx | Got 2048kB of ISA DMA memory l4lx | ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048 KiB] l4lx | ISA DMA memory: Number of physocal regions: 1, 2097152 Bytes l4lx | ISA DMA memory: 1: Phys: 0x0043a000 to 0x0063a000, Size: 2097152 l4lx | Main memory: virt: 0x00c00000 to 0x04bfffff [65536 KiB] l4lx | Main memory: Number of physical regions: 1, 67108864 Bytes l4lx | Main memory: 1: Phys: 0x18c00000 to 0x1cc00000, Size: 67108864 l4lx | Filling lower ptabs... l4lx | Done (1483 entries). l4lx | l4env_register_pointer_section: addr = 00400000 size = 4128768 l4lx | end: virt: 0x00400000 to 0x007effff [4032 KiB] l4lx | Noncontiguous region for end l4lx | end: Number of physical regions: 5, 4128768 Bytes l4lx | end: 1: Phys: 0x00a09000 to 0x00a59000, Size: 327680 l4lx | end: 2: Phys: 0x0108a000 to 0x01220000, Size: 1662976 l4lx | end: 3: Phys: 0x01419000 to 0x01500000, Size: 946176 l4lx | end: 4: Phys: 0x01347000 to 0x01400000, Size: 757760 l4lx | end: 5: Phys: 0x01296000 to 0x01300000, Size: 434176 l4lx | l4lx_thread_create: Created thread 0d.05 (timer.i0) l4lx | Jumping over 4x 'hit' at 0x71c949 l4lx | L4RM: [PF] read at 0xf0cfb000, ip 007371a6, src D.02 l4lx | [D.0] l4rm/lib/src/pagefault.c:81:__unknown_pf(): l4lx | unhandled page fault
--PANIC, 'g' for exit----------------------------------------------- IP: a00b25c4 [l4lx.rm] (d.00) jdb:
My l4linux config file is also attached for your reference. =========================================== I have read the document 'l4/Fiasco/L4Linux kickstart' as a guide and tried many times to reconfigure the kernel, but i got the same result. Any help is very welcomed.
On Mon May 05, 2008 at 16:16:42 +0800, ²±²Q¿· wrote:
I tried to compile l4linux (kernel 2.6.24) under ubuntu 8.04 (The version of gcc compiler is 4.2.3) and it failed to boot under l4env with Fiasco microkernel. Here is my step to compile l4linux
- make O=/usr/l4/build/linux x86-native_defconfig
- enable Support for frame buffer devices and Framebuffer Console support
- make O=/usr/l4/build/linux
and then edited the menu.lst title L4Linux-2.6 root (hd0,0) kernel /boot/grub/common/bootstrap -modaddr 0x02000000 module /boot/grub/common/fiasco -nokdb -serial_esc module /boot/grub/common/sigma0 module /boot/grub/common/roottask task modname "bmodfs" attached 4 modules module /boot/grub/common/names module /boot/grub/common/log module /boot/grub/common/dm_phys --isa=0x00800000 module /boot/grub/common/simple_ts -t 300 module /boot/grub/common/rtc module /boot/grub/common/l4io module /boot/grub/common/bmodfs module /boot/grub/common/linux.cfg module /boot/grub/common/libloader.s.so module /boot/grub/common/libld-l4.s.so module /boot/grub/common/vmlinuz module /boot/grub/common/loader --fprov=BMODFS linux.cfg
and linux.cfg modpath "(hd0,0)/boot/grub/common" task "vmlinuz" "earlyprint=yes mem=64M"
It's earlyprintk (add a 'k' at the end) and you should hopefully see more.
all_sects_writable allow_vga
it shows the following messages when it boots. (last screen page is shown) l4lx | Got 2048kB of ISA DMA memory l4lx | ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048 KiB] l4lx | ISA DMA memory: Number of physocal regions: 1, 2097152 Bytes l4lx | ISA DMA memory: 1: Phys: 0x0043a000 to 0x0063a000, Size: 2097152 l4lx | Main memory: virt: 0x00c00000 to 0x04bfffff [65536 KiB] l4lx | Main memory: Number of physical regions: 1, 67108864 Bytes l4lx | Main memory: 1: Phys: 0x18c00000 to 0x1cc00000, Size: 67108864 l4lx | Filling lower ptabs... l4lx | Done (1483 entries). l4lx | l4env_register_pointer_section: addr = 00400000 size = 4128768 l4lx | end: virt: 0x00400000 to 0x007effff [4032 KiB] l4lx | Noncontiguous region for end l4lx | end: Number of physical regions: 5, 4128768 Bytes l4lx | end: 1: Phys: 0x00a09000 to 0x00a59000, Size: 327680 l4lx | end: 2: Phys: 0x0108a000 to 0x01220000, Size: 1662976 l4lx | end: 3: Phys: 0x01419000 to 0x01500000, Size: 946176 l4lx | end: 4: Phys: 0x01347000 to 0x01400000, Size: 757760 l4lx | end: 5: Phys: 0x01296000 to 0x01300000, Size: 434176 l4lx | l4lx_thread_create: Created thread 0d.05 (timer.i0) l4lx | Jumping over 4x 'hit' at 0x71c949 l4lx | L4RM: [PF] read at 0xf0cfb000, ip 007371a6, src D.02 l4lx | [D.0] l4rm/lib/src/pagefault.c:81:__unknown_pf(): l4lx | unhandled page fault
--PANIC, 'g' for
exit----------------------------------------------- IP: a00b25c4 [l4lx.rm] (d.00) jdb:
My l4linux config file is also attached for your reference.
I have read the document 'l4/Fiasco/L4Linux kickstart' as a guide and tried many times to reconfigure the kernel, but i got the same result.
I'd like to know where 007371a6 is in the code. Can you do a objdump -ldCS vmlinux and post me the output around the line starting with 7371a6: ?
Adam
l4-hackers@os.inf.tu-dresden.de