Problem of running L4Linux
Valery V. Sedletski
_valerius at mail.ru
Mon Dec 29 06:49:24 CET 2008
On Mon, 29 Dec 2008 02:32:58 +0800, Adam Chang wrote:
>Dear all:
> After I set "Handle and preserve segments" , It still has some problem there:
>The following is my error message:
>==============
>
>l4lx | ======> L4Linux 2.6 starting... <========
>l4lx | Linux version 2.6.27-l4-svn131 (bread at Bread) (
>l4lx | Linux version 2.6.27-l4-svn131 (bread at Bread) (gcc version 4.3.2 20081
>l4lx : 105 (Red Hat 4.3.2-7) (GCC) ) #1 Sat Dec 13 14:15:36 CST 2008
>l4lx | Binary name: vmlinuz
>l4lx | Linux kernel command line (5 args): mem=64M load_ramdisk=1 ramdisk_size
>l4lx : =16384 root=/dev/ram0 l4env_rd=drops.rd
>l4lx | Image: 00400000 - 007cf000 [3900 KiB].
>l4lx | Areas: Text: 00400000 - 006dc000 [2928kB] (a bit longer)
>l4lx | Data: 006dc000 - 006fd698 [133kB]
>l4lx | Initdata: 00700000 - 0073e000 [248kB]
>l4lx | BSS: 00740000 - 007cefd0 [571kB]
>l4lx | l4lx_thread_create: Created thread 0d.03 (tamer0)
>l4lx | Tamer0 is 0d.03
>l4lx | Using tamed mode.
>ROOT: Task #0c is not allowed to execute cli/sti
>loader | vmlinuz,#d: WARNING: Can't map I/O space, ROOT denies page
>loader | (result=00004000)
>loader | vmlinuz,#d: Not allowed to perform any I/O
This means that Loader server can't give Linux server required I/O pages and ROOT server can't give these pages to a
Loader. For that, allow_cli parameter must be specified in ROOT server command line for loader, like this:
module $(L4)/roottask -symbols -lines task modname "loader" boot_priority 0xA0 allow_cli task modname "bmodfs" attached 7
modules
And, for Loader server, for L4linux these I/O pages to be given, you must specify allow_cli in the loader script for L4linux:
-----------cut l4linux.cfg:----------------
#l4linux cfg
verbose 0
modpath "(hd0,4)/boot/pns"
task "vmlinuz26" "mem=1800M video=l4fb:refreshsleep:200 l4fb.nograb=1 load_ramdisk=1 ramdisk_size=8192
root=/dev/sda9 l4env_rd=(hd0,4)/boot/lx/initrd.img panicblink=0 earlyprintk=1"
allow_cli
priority 0xA0
---------------------------------------------------
>l4lx | Got 0 out of 65536 I/O ports
>l4lx | Connecting to l4io server.
>l4lx | l4env_linux_startup thread 4.
>l4lx | l4lx_thread_create: Created thread 0d.04 (cpu0)
>l4lx | main thread will be 0d.04
>l4lx | l4env_register_pointer_section: addr=006dc000 size = 405504
>l4lx | sec-w-init: virt: 0x006dc000 to 0x0073efff [396 KiB]
>l4lx | sec-w-init: Number of physical regions: 1, 405504 Bytes
>l4lx | sec-w-init: 1: Phys: 0x0139c000 to 0x013ff000, Size: 405504
>l4lx | main thread: received startup message.
>l4lx | memory_setup: mem=64M load_ramdisk=1 ramdisk_size=16384 root=/dev/ram
>l4lx | l4env_rd=drops.rd
>l4lx | setup_l4env_memory: Forcing superpages for main memory
>l4lx | Main thread running, waiting...
>l4lx | Main memory size: 64MB
>l4lx | Got 2048kB of ISA DMA memory
>l4lx | ISA DMA memory: virt: 0x00800000 to 0x009fffff [2048KiB]
>l4lx | ISA DMA memory: Number of physical regions: 1, 2097152 Bytes
>l4lx | ISA DMA memory: 1: Phys: 0x0043a000 to 0x0063a000, Size: 2097152
>l4lx | Main memory: virt: 0x00c00000 to 0x04bffff [65536KiB]
>l4lx | Main memory: Number of physical regions: 1, 67108864 Bytes
>l4lx | Main memory: 1: Phys: 0x19400000 to 0x1d400000, Size: 67108864
>l4lx | Filling lower ptabs...
>l4lx | mainmem = c00000
>l4lx | Done (1517 entries)
>l4lx | l4env_register_pointer_section: addr = 00740000 size = 585728
>l4lx | end: virt: 0x00740000 to 0x007cefff [572 KiB]
>l4lx | end: Number of physical regions: 1, 585728 Bytes
>l4lx | end: 1: Phys: 0x00a47000 to 0x00ad6000, Size: 585728
>l4lx | memory_setup done
>l4lx | l4env_rd_path: drops.rd
>l4lx | Loading: drops.rd
>l4lx | INITRD: Size of RAMdisk is 16384KiB
>l4lx | RAMdisk from 04c00000 to 05c00000 [16384KiB]
>l4lx | l4lx_thread_create: Created thread 0d.05 (timer.i0)
>l4lx | Jumping over 4x 'hit' at 0x70970f
>l4lx | panic: going to sleep forever, bye
>
>==============
>It looks like to be kernel panic,
>I don't know how to solve it.Can someone give me advice how to solve
>this problem?
>Thanks!
>Best Regards.
>Adam Chang
>
>On Fri, Dec 26, 2008 at 4:23 PM, Valery V. Sedletski <_valerius at mail.ru> wrote:
>> On Wed, 24 Dec 2008 17:28:12 +0800, Adam Chang wrote:
>>
>>>Dear all:
>>> I still have some problem on running L4Linux.
>>> I have succeeded install your version of GRUB in my VMware virtual
>>>disk. And the following is my menu.lst
>>>When I boot the virtual machine, first the machine start fiasco,
>>>sigma0 , roottask
>>>roottask loaded 13 modules $B!$ (Band finally I see these message while I
>>>failed running L4Linux
>>
>>>==============
>>>loader | vmlinuz: Starting application using libld-l4.s.so
>>>loader | vmlinuz,#d: Loading binary
>>>loader | vmlinuz,#d: Loading ldso
>>>loader | vmlinuz,#d: Starting libld-l4.s.so at 000138e0 via 0000cf40
>>>l4lx | ======> L4Linux 2.6 starting... <========
>>>l4lx | Linux version 2.6.27-l4-svn131 (bread at Bread) (
>>>l4lx | Linux version 2.6.27-l4-svn131 (bread at Bread) (gcc version 4.3.2 20081
>>>l4lx : 105 (Red Hat 4.3.2-7) (GCC) ) #1 Sat Dec 13 14:15:36 CST 2008
>>>l4lx | Binary name: vmlinuz
>>>l4lx | Linux kernel command line (5 args): mem=64M load_ramdisk=1 ramdisk_size
>>>l4lx : =16384 root=/dev/ram0 l4env_rd=drops.rd
>>>l4lx | The running microkernel does not have the
>>>l4lx | segments
>>>l4lx | feature enabled!
>>>
>>> --Microkernel feature missing!---------------------------IP: 00636869
>>>[l4lx.main] (d.02) jdb:
>>>==============
>>>And I jumped to the jdb console.
>>>
>>
>> Try compiling Fiasco microkernel with configuration option set: "Handle and preserve segments". This option
>> is needed at least for L4Linux. It is needed for manipulating segment registers on IA32 architecture.
>>
More information about the l4-hackers
mailing list