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@Bread) ( l4lx | Linux version 2.6.27-l4-svn131 (bread@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@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@Bread) ( l4lx | Linux version 2.6.27-l4-svn131 (bread@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.