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 (br...@bread) ( >l4lx | Linux version 2.6.27-l4-svn131 (br...@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 <[email protected]> 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 (br...@bread) ( >>>l4lx | Linux version 2.6.27-l4-svn131 (br...@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. >> _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
