Right now I'm working on a project which utilizes Fiasco/L4Env/L4Linux environment, so I'm just trying to set it up on my workstation. Unfortunately, I have encountered some problems which bothered me for days. Could anybody help me out? Any help or suggestions would be appreciated, Thank you.
Here is the boot information when I try to boot L4linux: (I have also attached a screen shot)
..................................................
loader : vmlinux: starting sigma0-style application
loader : vmlinux: loading binary loader : vmlinux,#d: Entry at 00009f3c => 00400000 loader : vmlinux,#d: Started loader : vmlinux,#d: Double PF (r) at 00000000 eip 00000000 (D.00) -- Double PF,"g" for kill------------------------------IP: 013043a5 [loader.pager] (c.03) jdb:
http://www.nabble.com/file/p22525172/Double_PF.jpg
Here is some of my setup info:
VMware version: 6.5 Host OS: Fedora 10 (Linux Kernel Version: 2.6.27) Gcc Version: 4.3.2 Grub Version: 0.97
L4Env config: default build command: make oldconfig O=/path-to-buildu-dir && make O=/path-to-buildu-dir
Fiasco config: default + 'Handle and preserve segments' option was enabled CPU type: Intel Pentium / AMD k5 build command: cd kernel/fiasco && make BUILDDIR=/path-to-buildk-dir cd /path-to-buildk-dir && make menuconfig make
L4Linux config: x86-native_defconfig + L4 build directory was set to '/path-to-buildu-dir' build command: cd l4linux-2.6 && make x86-native_defconfig && make menuconfig make
Grub Config: title L4Linux (Fiasco/L4Env/L4Linux) kernel (hd0,0)/boot/l4linux/bootstrap -modaddr=0x02000000 module (hd0,0)/boot/l4linux/main -nokdb -serial_esc module (hd0,0)/boot/l4linux/sigma0 module (hd0,0)/boot/l4linux/roottask task modname "bmodfs" attached 5 modules module (hd0,0)/boot/l4linux/names module (hd0,0)/boot/l4linux/log module (hd0,0)/boot/l4linux/dm_phys --isa=0x00800000 module (hd0,0)/boot/l4linux/simple_ts -t 300 module (hd0,0)/boot/l4linux/rtc module (hd0,0)/boot/l4linux/l4io module (hd0,0)/boot/l4linux/bmodfs module (hd0,0)/boot/l4linux/cfg/l4linux26.cfg module (hd0,0)/boot/l4linux/libloader.s.so module (hd0,0)/boot/l4linux/libld-l4.s.so module (hd0,0)/boot/l4linux/vmlinux module (hd0,0)/boot/l4linux/drops-rd.rd (I download this file from L4linux website) module (hd0,0)/boot/l4linux/loader --fprov=BMODFS l4linux26.cfg
l4linux26.cfg: sleep 1 task "vmlinux" "mem=64M load_ramdisk=1 ramdisk_size=16384 root=/dev/ram l4env_rd=drops-rd.rd" all_sects_writable allow_vga
BTW: When I tried to compile L4Env, the linker complains it couldn't find libz.a(by -lz option), so I build libz.a under l4/pkg/zlib separately and copied it to the build/lib directory manually, and the whole thing works! I'm not sure whether it's a problem of the Makefile or a problem of my configuration environment.
On Sun Mar 15, 2009 at 19:58:21 -0700, Sid Yu wrote:
Right now I'm working on a project which utilizes Fiasco/L4Env/L4Linux environment, so I'm just trying to set it up on my workstation. Unfortunately, I have encountered some problems which bothered me for days. Could anybody help me out? Any help or suggestions would be appreciated, Thank you.
Here is the boot information when I try to boot L4linux: (I have also attached a screen shot)
..................................................
loader : vmlinux: starting sigma0-style application
loader : vmlinux: loading binary loader : vmlinux,#d: Entry at 00009f3c => 00400000 loader : vmlinux,#d: Started loader : vmlinux,#d: Double PF (r) at 00000000 eip 00000000 (D.00) -- Double PF,"g" for kill------------------------------IP: 013043a5 [loader.pager] (c.03) jdb:
http://www.nabble.com/file/p22525172/Double_PF.jpg
Here is some of my setup info:
VMware version: 6.5 Host OS: Fedora 10 (Linux Kernel Version: 2.6.27)
Is this a 64bit Fedora?
BTW: When I tried to compile L4Env, the linker complains it couldn't find libz.a(by -lz option), so I build libz.a under l4/pkg/zlib separately and copied it to the build/lib directory manually, and the whole thing works! I'm not sure whether it's a problem of the Makefile or a problem of my configuration environment.
At which point? It might be enough to install zlib-devel or whatever the package is called on Fedora.
Adam
Thanks for your quick reply, Adam.
Is this a 64bit Fedora?
Actually, I'm using a 32-bits version.
At which point? It might be enough to install zlib-devel or whatever the package is called on Fedora.
When linking l4/pkg/loader/examples/fprov-l4, this error occurs. Actually, I have zlib-devel 1.2.3 installed in Fedora.
Any suggestions?
On Mon Mar 16, 2009 at 09:17:05 -0700, Sid Yu wrote:
Thanks for your quick reply, Adam.
Is this a 64bit Fedora?
Actually, I'm using a 32-bits version.
Ok. With the fault at 0 it's a bit tricky. At the jdb-prompt could you issue a bttd.2 and see if it yields something useful. It should give a backtrace which you can lookup in objdump then.
At which point? It might be enough to install zlib-devel or whatever the package is called on Fedora.
When linking l4/pkg/loader/examples/fprov-l4, this error occurs. Actually, I have zlib-devel 1.2.3 installed in Fedora.
fprov-l4 is a normal Linux program, it's linked against the host libraries (and a few l4 libs), it's also shared. So the libz.so must be available somewhere for the linking to succeed.
Adam
Ok. With the fault at 0 it's a bit tricky. At the jdb-prompt could you issue a bttd.2 and see if it yields something useful. It should give a backtrace which you can lookup in objdump then.
By bttd.2, do you mean jdb: bt thread = 2 as shown below:
http://www.nabble.com/file/p22583390/QQ%25E6%2588%25AA%25E5%259B%25BE%25E6%2...
fprov-l4 is a normal Linux program, it's linked against the host libraries (and a few l4 libs), it's also shared. So the libz.so must be available somewhere for the linking to succeed.
I have already got libz.so in my host library path, I don't know why every time when I compile L4Env, the same error occurred repeatedly. By the way, how could I use the example programs such as fprov-l4 in Fiasco? Could you pls kindly provide some materials or information about it? Thank you very much. Of course, I'd like to have L4Linux run on my machine first.
On Wed Mar 18, 2009 at 09:49:32 -0700, Sid Yu wrote:
Ok. With the fault at 0 it's a bit tricky. At the jdb-prompt could you issue a bttd.2 and see if it yields something useful. It should give a backtrace which you can lookup in objdump then.
By bttd.2, do you mean jdb: bt thread = 2 as shown below:
I really meant d.2 and not 2.0.
Looking closer, please start vmlinuz instead of vmlinux.
fprov-l4 is a normal Linux program, it's linked against the host libraries (and a few l4 libs), it's also shared. So the libz.so must be available somewhere for the linking to succeed.
I have already got libz.so in my host library path, I don't know why every time when I compile L4Env, the same error occurred repeatedly.
fprov-l4 is being built statically, so libz.a is needed.
By the way, how could I use the example programs such as fprov-l4 in Fiasco? Could you pls kindly provide some materials or information about it? Thank you very much. Of course, I'd like to have L4Linux run on my machine first.
fprov-l4 is special in the sense that it's a Linux program to be run on L4Linux. fprov-l4 itself is offering the fprov service using the Linux filesystem to get the files. It basically can replace bmodfs after L4Linux is up.
Adam
Looking closer, please start vmlinuz instead of vmlinux.
Thank you very much, Adam. I have overcome the previous double page fault problems after replacing "vmliux" with "vmlinuz". However, I got new ones.
........... l4lx | Starting L4FB via DOpE l4lx | DOpE is not registerd at names! l4lx | DOpE no available! l4lx | Starting L4FB via CON l4lx | CON not availble! l4lx | l4lx_irq_dev_startup_hw: Starting IRQ thread for IRQ 15 l4lx | l4lx_thread_create: Created thread 0d.07(IRQ15) l4lx | l4lx_irq_dev_startup_hw: Starting IRQ thread for IRQ 5 l4lx | l4lx_thread_create: Created thread 0d.08(IRQ16)
the console just pends here, making no progress. It complains L4FB couldn't find DOpe or CON. Are these graphic system required? I have seen some materials saying it's also ok using a (virtual) serial console.
So I have changed my configuration files to add CON support for it. The bold highlights changes with respect to previous one.
Grub Config: -------------------- title L4Linux (Fiasco/L4Env/L4Linux) kernel (hd0,0)/boot/l4linux/bootstrap -modaddr=0x02000000 module (hd0,0)/boot/l4linux/main -nokdb -serial_esc module (hd0,0)/boot/l4linux/sigma0 module (hd0,0)/boot/l4linux/roottask task modname "loader" boot_priority 0xA0 allow_cli task modname "bmodfs" attached 6 modules module (hd0,0)/boot/l4linux/names module (hd0,0)/boot/l4linux/log module (hd0,0)/boot/l4linux/dm_phys --isa=0x00800000 module (hd0,0)/boot/l4linux/simple_ts -t 300 module (hd0,0)/boot/l4linux/rtc module (hd0,0)/boot/l4linux/l4io module (hd0,0)/boot/l4linux/con module (hd0,0)/boot/l4linux/bmodfs module (hd0,0)/boot/l4linux/cfg/l4linux26.cfg module (hd0,0)/boot/l4linux/libloader.s.so module (hd0,0)/boot/l4linux/libld-l4.s.so module (hd0,0)/boot/l4linux/vmlinuz module (hd0,0)/boot/l4linux/drops-rd.rd module (hd0,0)/boot/l4linux/run module (hd0,0)/boot/l4linux/loader --fprov=BMODFS run l4linux26.cfg vbeset 0x117 -------------------------
l4linux26.cfg: ------------------------- sleep 1 task "vmlinuz" "mem=64M load_ramdisk=1 ramdisk_size=16384 root=/dev/ram l4env_rd=drops-rd.rd" allow_cli priority 0xA0 all_sects_writable allow_vga -------------------------
However, the result is as following:
con | Character size is 8x14, font has 256 characters con | [B.2] l4con/server/src/ARCH-x86/gmode-arch.c:141:init_gmode(): con | Did not find VBE info block in multiboot con | GRUB has to set the video mode with the vbeset command. con | con | Alternatively, try passing the --vbemode=<mode> switch. con |
--PANIC,'g' for exit-------------------------------------------IP:00b08627 [con.main](b.02) jdb:
While I have specified the vbeset command in Grub, the error still occurs. The only explanation is that my Grub doesn't recognize this command. I'm just using my original Fedora 10 Grub(version 0.97) and didn't do any of your grub patches. That's reason that I'm using "kernel (hd0,0)/boot/l4linux/bootstrap -modaddr=0x02000000", instead of a separate "modaddr 0x02000000" line. So this time again I just tried to using module (hd0,0)/boot/l4linux/con --vbemode=0x117" as the console prompted, but it doesn't work and things seem to become worse. The console loops to print:"ROOT: Sending ports 10f1-10f4 to task #0b", never stops.
So do I need to patch your grub patches(Download Grub 0.97 source, patches your diff provided in http://os.inf.tu-dresden.de/~adam/grub/, compile and reinstall my Grub?) or is there another way to do it using my original grub just like "modaddr" did?
Thank you very much.
On Fri Mar 20, 2009 at 02:04:29 -0700, Sid Yu wrote:
Looking closer, please start vmlinuz instead of vmlinux.
Thank you very much, Adam. I have overcome the previous double page fault problems after replacing "vmliux" with "vmlinuz". However, I got new ones.
........... l4lx | Starting L4FB via DOpE l4lx | DOpE is not registerd at names! l4lx | DOpE no available! l4lx | Starting L4FB via CON l4lx | CON not availble! l4lx | l4lx_irq_dev_startup_hw: Starting IRQ thread for IRQ 15 l4lx | l4lx_thread_create: Created thread 0d.07(IRQ15) l4lx | l4lx_irq_dev_startup_hw: Starting IRQ thread for IRQ 5 l4lx | l4lx_thread_create: Created thread 0d.08(IRQ16)
the console just pends here, making no progress. It complains L4FB couldn't find DOpe or CON. Are these graphic system required? I have seen some
No, L4Linux can also run using VGA + PS/2, given it has access.
materials saying it's also ok using a (virtual) serial console.
And the serial console too.
So I have changed my configuration files to add CON support for it. The bold highlights changes with respect to previous one.
No bold in text :)
Grub Config:
title L4Linux (Fiasco/L4Env/L4Linux) kernel (hd0,0)/boot/l4linux/bootstrap -modaddr=0x02000000 module (hd0,0)/boot/l4linux/main -nokdb -serial_esc module (hd0,0)/boot/l4linux/sigma0 module (hd0,0)/boot/l4linux/roottask task modname "loader" boot_priority 0xA0 allow_cli task modname "bmodfs" attached 6 modules module (hd0,0)/boot/l4linux/names module (hd0,0)/boot/l4linux/log module (hd0,0)/boot/l4linux/dm_phys --isa=0x00800000 module (hd0,0)/boot/l4linux/simple_ts -t 300 module (hd0,0)/boot/l4linux/rtc module (hd0,0)/boot/l4linux/l4io module (hd0,0)/boot/l4linux/con module (hd0,0)/boot/l4linux/bmodfs module (hd0,0)/boot/l4linux/cfg/l4linux26.cfg module (hd0,0)/boot/l4linux/libloader.s.so module (hd0,0)/boot/l4linux/libld-l4.s.so module (hd0,0)/boot/l4linux/vmlinuz module (hd0,0)/boot/l4linux/drops-rd.rd module (hd0,0)/boot/l4linux/run module (hd0,0)/boot/l4linux/loader --fprov=BMODFS run l4linux26.cfg vbeset 0x117
l4linux26.cfg:
sleep 1 task "vmlinuz" "mem=64M load_ramdisk=1 ramdisk_size=16384 root=/dev/ram l4env_rd=drops-rd.rd" allow_cli priority 0xA0 all_sects_writable allow_vga
However, the result is as following:
con | Character size is 8x14, font has 256 characters con | [B.2] l4con/server/src/ARCH-x86/gmode-arch.c:141:init_gmode(): con | Did not find VBE info block in multiboot con | GRUB has to set the video mode with the vbeset command. con | con | Alternatively, try passing the --vbemode=<mode> switch. con |
--PANIC,'g' for exit-------------------------------------------IP:00b08627 [con.main](b.02) jdb:
While I have specified the vbeset command in Grub, the error still occurs. The only explanation is that my Grub doesn't recognize this command. I'm just using my original Fedora 10 Grub(version 0.97) and didn't do any of your grub patches. That's reason that I'm using "kernel (hd0,0)/boot/l4linux/bootstrap -modaddr=0x02000000", instead of a separate "modaddr 0x02000000" line. So this time again I just tried to using module (hd0,0)/boot/l4linux/con --vbemode=0x117" as the console prompted, but it doesn't work and things seem to become worse. The console loops to print:"ROOT: Sending ports 10f1-10f4 to task #0b", never stops.
Adding 'task modname "con" allow_cli' to the roottask command line might help. The reason is that the con does not have access to those ports.
So do I need to patch your grub patches(Download Grub 0.97 source, patches your diff provided in http://os.inf.tu-dresden.de/~adam/grub/, compile and reinstall my Grub?) or is there another way to do it using my original grub just like "modaddr" did?
Try the above.
Adam
No, L4Linux can also run using VGA + PS/2, given it has access.
So how could I do this when L4FB complains it couldn't find DOpe or CON and the console pends there? Is there any problems with my configurations?
Adding 'task modname "con" allow_cli' to the roottask command line might help. The reason is that the con does not have access to those ports.
I have tried to add 'task modname "con" allow_cli' to the roottask command line with the option " module (hd0,0)/boot/l4linux/con --vbemode=0x117", it still does not make sense. The console continues to loops and print out "ROOT: Sending ports 10f1-10f4 to task #0b". Any suggestions? Should I patch my grub and reinstall it?
.................... "ROOT: Sending ports 10f1-10f4 to task #0b" "ROOT: Sending ports 10f1-10f4 to task #0b" "ROOT: Sending ports 10f1-10f4 to task #0b" "ROOT: Sending ports 10f1-10f4 to task #0b" "ROOT: Sending ports 10f1-10f4 to task #0b" ....................
On Tue Mar 24, 2009 at 00:09:11 -0700, Sid Yu wrote:
No, L4Linux can also run using VGA + PS/2, given it has access.
So how could I do this when L4FB complains it couldn't find DOpe or CON and the console pends there? Is there any problems with my configurations?
When you want to use VGA + PS/2 you need to configure L4Linux to use VGA-console and PS2 (keyboard mouse). The l4fb driver can be disabled either by not compiling it in or be specifying l4fb.disable=0 on the L4Linux kernel command line. Additionally con nor dope must be started as L4Linux will drive the keyboard/mouse and screen now.
Adding 'task modname "con" allow_cli' to the roottask command line might help. The reason is that the con does not have access to those ports.
I have tried to add 'task modname "con" allow_cli' to the roottask command line with the option " module (hd0,0)/boot/l4linux/con --vbemode=0x117", it still does not make sense. The console continues to loops and print out "ROOT: Sending ports 10f1-10f4 to task #0b". Any suggestions? Should I patch my grub and reinstall it?
Sorry, after looking a bit closer it's not so easy to use unfortunately. So using the Grub is the best option.
Adam
l4-hackers@os.inf.tu-dresden.de