Problem of running L4Linux

Adam Chang windbread at gmail.com
Mon Dec 29 10:20:13 CET 2008


Dear all:
     Thanks for Valery's help , but it has some trouble for roottask
loading module.

the following is the command for roottask in my menu.lst
==============
module /common/roottask -symbols -lines task modname "loader"
boot_priority 0xA0 allow_cli task modname "bmodfs" attached 5 modules
==============
and this is the command for bmodfs
==============
module /common/bmodfs
 module /common/cfg/l4linux26.cfg
 module /common/libloader.s.so
 module /common/libld-l4.s.so
 module /common/vmlinuz
 module /common/drops.rd
==============
the following is the loader script for L4linux
======l4linux26.cfg========
#l4linux cfg

  verbose 0
  sleep 1
  task "vmlinuz" "mem=64M load_ramdisk=1 ramdisk_size=16384
root=/dev/ram l4env_rd=drops.rd"
    allow_cli
    priority 0xA0
    all_sects_writable
    allow_vga
======l4linux26.cfg========

And this is the error message
==============
Roottask: Loading 11 modules.
#05: loading "/common/dm_phys --isa=0x00800000"
     from [021ae000-02248cd8] to [01500000-01513cb7][01514000-0151e000]
     entry at 0005f07c via trampoline page code
     symbol at [1d58b000-1d590000] (20kB), line at [1d57d000-1d58b000] (56kB)
#06: loading "/common/simple_ts -t 300"
     from [02249000-022963c8] to [01400000-01408dea][01409000-014185e8]
     entry at 00060074 via trampoline page code
     symbol at [1d57b000-1d57d000] (8kB), line at [1d573000-1d57b000] (32kB)
#07: loading "/common/rtc"
     from [02297000-022c69c8] to [01080000-010845e0][01085000-0108a000]
     entry at 00061064 via trampoline page code
     symbol at [1d571000-1d573000] (8kB), line at [1d56c000-1d571000] (20kB)
#08: loading "/common/l4io"
     from [022c7000-02506c35] to [00c20000-00c44ccd][00c45000-00cb3000]
     entry at 00062068 via trampoline page code
     symbol at [1d516000-1d56c000] (344kB), line at [1d4fc000-1d516000] (104kB)
#09: loading "/common/bmodfs"
     from [02507000-025ae54b] to [01220000-01238089][01239000-01250000]
     passing module /common/cfg/l4linux26.cfg		  [025af000-025af0c7]
     passing module /common/libloader.s.so		  [025b0000-0264dea3]
     passing module /common/libld-l4.s.so		  [0264e000-026c7801]
     passing module /common/vmlinuz			  [026c8000-02a5b353]
     passing module /common/drops.rd			  [02a5c000-03a5c000]
     entry at 00063128 via trampoline page code
     symbol at [1d4f7000-1d4fc000] (20kB), line at [1d4e4000-1d4f7000] (76kB)
#0a: loading "/common/loader --fprov=BMODFS l4linux26.cfg"
     from [03a5c000-03b3b10e] to [01300000-013287e9][01329000-01348000]
     entry at 00064984 via trampoline page code
     symbol at [1d4dd000-1d4e4000] (28kB), line at [1d4c3000-1d4dd000] (104kB)

ROOT: Sending ports 0070-0070 to task #07
ROOT: Sending ports 0080-0080 to task #07
ROOT: Sending ports 0071-0071 to task #07
*simplets| Configured for 300 tasks.
*simplets| failed to register simple_ts!
*simplets|
*simplets| Exiting with -1
*rtc	 | Date:29.12.2008 Time 16:13:52
*DMphys  | [5.0] dm_phys/server/src/main.c:447:main():
*DMphys  |  DMphys: can't register at nameserver
==============
When I followed the step that adding "allow cli" this feature, it has
trouble for registering some module to nameserver.
Can someone give me some advice how to solve this problem?
Thanks!!

Best Regards.
Adam Chang

On Mon, Dec 29, 2008 at 1:49 PM, Valery V. Sedletski <_valerius at mail.ru> wrote:
> 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 $B!$ (B
>>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.
>>>
>
>
>



-- 
Adam Hung-Hsiang Chang
windbread at gmail.com
+886-987-335398
Wireless Networking and Embedded Systems Lab
Graduate Institute of Networking and Multimedia
National Taiwan University




More information about the l4-hackers mailing list