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