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@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@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 $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@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.