Hi,
I would like to know from where I can get the DDEKit (Device Driver Environment) for Linux2.6 from svn? http://wiki.tudos.org/DDE/DDEKit
From the svn documentation:
http://www.inf.tu-dresden.de/index.php?node_id=1735&ln=en
./repomgr modules lists the following: dice, fiasco, hello, l4env, l4linux-2.6-env.
Thanks!
SK
Hi,
I would like to know from where I can get the DDEKit (Device Driver Environment) for Linux2.6 from svn? http://wiki.tudos.org/DDE/DDEKit
From the svn documentation:
http://www.inf.tu-dresden.de/index.php?node_id=1735&ln=en
./repomgr modules lists the following: dice, fiasco, hello, l4env, l4linux-2.6-env.
Thanks!
SK
-- Shakthi Kannan http://www.shakthimaan.com
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I would like to know from where I can get the DDEKit (Device Driver Environment) for Linux2.6 from svn? http://wiki.tudos.org/DDE/DDEKit
From the svn documentation:
http://www.inf.tu-dresden.de/index.php?node_id=1735&ln=en
./repomgr modules lists the following: dice, fiasco, hello, l4env, l4linux-2.6-env.
DDE is not part of any of these modules. Doing "svn up dde" in l4/pkg will do the trick.
Regards, Bjoern
Hi,
--- On Tue, Oct 14, 2008 at 12:48 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | DDE is not part of any of these modules. Doing "svn up dde" in l4/pkg | will do the trick. --
Thanks! I got the latest dde from svn. I moved to l4/ parent directory and did:
make O=/path/to/build config make O=/path/to/build
and it starts building dde components, and fails at:
=== ERROR OUTPUT ===
/home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c:4:55: error: l4/ore/ore-types.h: No such file or directory /home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c: In function 'net_rx_handle': /home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c:56: warning: implicit declaration of function 'LOG_MAC' make[6]: *** [main.o] Error 1 make[5]: *** [/home/foo/tudos/l4/build/pkg/dde/linux26/examples/ne2k/OBJ-x86_586-l4v2] Error 2 make[4]: *** [ne2k] Error 2 make[3]: *** [examples] Error 2 make[2]: *** [linux26] Error 2 make[1]: *** [dde.bin] Error 2 make: *** [pkg] Error 2
=== END ===
There is no l4/ore/ directory. How to check it out?
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Shakthi Kannan schrieb:
Hi,
--- On Tue, Oct 14, 2008 at 12:48 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | DDE is not part of any of these modules. Doing "svn up dde" in l4/pkg | will do the trick. --
Thanks! I got the latest dde from svn. I moved to l4/ parent directory and did:
make O=/path/to/build config make O=/path/to/build
and it starts building dde components, and fails at:
=== ERROR OUTPUT ===
/home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c:4:55: error: l4/ore/ore-types.h: No such file or directory /home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c: In function 'net_rx_handle': /home/foo/tudos/l4/pkg/dde/linux26/examples/ne2k/main.c:56: warning: implicit declaration of function 'LOG_MAC' make[6]: *** [main.o] Error 1 make[5]: *** [/home/foo/tudos/l4/build/pkg/dde/linux26/examples/ne2k/OBJ-x86_586-l4v2] Error 2 make[4]: *** [ne2k] Error 2 make[3]: *** [examples] Error 2 make[2]: *** [linux26] Error 2 make[1]: *** [dde.bin] Error 2 make: *** [pkg] Error 2
=== END ===
There is no l4/ore/ directory. How to check it out?
Just the same way. ORe is a software network switch and resides in its own package in the l4/pkg directory - for the DDELinux NIC example I was just to lazy to copy the data types. So go to l4/pkg and do "svn up ore".
Bjoern
Hi,
--- On Wed, Oct 15, 2008 at 12:55 AM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | So go to l4/pkg and do "svn up ore". --
Thanks! It built dde26_test and ddekit_test and ore* binaries. How can I test dde* with fiasco-ux or with grub? Appreciate any sample entries. Or, if you can document the menu.lst here: http://wiki.tudos.org/DDE/DDEKit
it would be helpful.
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Shakthi,
--- On Wed, Oct 15, 2008 at 12:55 AM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | So go to l4/pkg and do "svn up ore". --
Thanks! It built dde26_test and ddekit_test and ore* binaries. How can I test dde* with fiasco-ux or with grub? Appreciate any sample entries. Or, if you can document the menu.lst here: http://wiki.tudos.org/DDE/DDEKit
I added documentation on running ORe (a DDE-based network switch) and the arping client example in Qemu to http://wiki.tudos.org/ORe .
Hope this helps and please feel free to ask further questions.
Bjoern
Hi Björn,
--- On Fri, Oct 17, 2008 at 6:59 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | I added documentation on running ORe (a DDE-based network switch) and | the arping client example in Qemu to http://wiki.tudos.org/ORe . --
I was able to create an .iso using the instructions: http://wiki.tudos.org/QEmu#CD_image http://wiki.tudos.org/CD_image
Can you refer the documentation for qemu tun/tap setup on Debian (/Ubuntu) that you have used? Maybe it can be added to the wiki?
Thanks,
SK
Hi,
--- On Sun, Oct 19, 2008 at 12:37 PM, Shakthi Kannan shakthimaan@gmail.com wrote: | Can you refer the documentation for qemu tun/tap setup on Debian | (/Ubuntu) that you have used? Maybe it can be added to the wiki? --
Never mind, I used the following to setup tun/tap and bridging: http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/QemuAndTuntap http://en.wikibooks.org/wiki/QEMU/Networking#TAP_interfaces
When I boot the created iso image with qemu:
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan0=0 -net tap,vlan0=0 -m 200
it stops at the following: http://shakthimaan.com/downloads/trash/tun-tap-l4-no-output.png
The boot/grub/menu.lst is as mentioned here: http://wiki.tudos.org/ORe
My directory contents are as follows: tudos-test/boot/grub/menu.lst tudos-test/bootstrap tudos-test/dm_phys tudos-test/fiasco ... tudos-test/cd-image.iso
1. vlan0 is on the guest machine? 2. How can I proceed to boot to L4 and ore_test_arping?
Thanks!
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
--- On Sun, Oct 19, 2008 at 12:37 PM, Shakthi Kannan shakthimaan@gmail.com wrote: | Can you refer the documentation for qemu tun/tap setup on Debian | (/Ubuntu) that you have used? Maybe it can be added to the wiki? --
Never mind, I used the following to setup tun/tap and bridging: http://calamari.reverse-dns.net:980/cgi-bin/moin.cgi/QemuAndTuntap http://en.wikibooks.org/wiki/QEMU/Networking#TAP_interfaces
When I boot the created iso image with qemu:
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan0=0 -net tap,vlan0=0 -m 200
it stops at the following: http://shakthimaan.com/downloads/trash/tun-tap-l4-no-output.png
I get a 404 on this - is the problem solved?
Bjoern
Hi,
--- On Tue, Oct 21, 2008 at 4:25 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | it stops at the following: | http://shakthimaan.com/downloads/trash/tun-tap-l4-no-output.png | | I get a 404 on this - is the problem solved? --
Sorry, I had deleted the file by mistake. I have uploaded the file again: http://shakthimaan.com/downloads/trash/tun-tap-l4-no-output.png
Regards,
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
When I boot the created iso image with qemu:
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan0=0 -net tap,vlan0=0 -m 200
it stops at the following: http://shakthimaan.com/downloads/trash/tun-tap-l4-no-output.png
No idea what this is. Does not even get to the Grub boot prompt. Can you provide me with your boot image?
Bjoern
Hi Björn,
--- On Wed, Oct 22, 2008 at 2:40 AM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | No idea what this is. Does not even get to the Grub boot prompt. Can you | provide me with your boot image? --
The menu.lst and cd-image.iso is available here: http://www.shakthimaan.com/downloads/trash/menu.lst http://www.shakthimaan.com/downloads/trash/cd-image.iso
Thanks for your help!
SK
Hi,
On Wed, Oct 22, 2008 at 10:24:37AM +0530, Shakthi Kannan wrote:
The menu.lst and cd-image.iso is available here: http://www.shakthimaan.com/downloads/trash/menu.lst http://www.shakthimaan.com/downloads/trash/cd-image.iso
The image boots in qemu version 0.9.1 (Ubuntu 8.04) until bootstrap complains about region overlaps:
L4 Bootstrapper Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH loaded module section: [ 10000, e19f7] /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH overlaps with: [ 9fc00, 9ffff] Arch BIOS [ 9fc00, 9ffff] Arch BIOS [ e8000, fffff] Arch BIOS [ 2d0000, 2dae9f] Boot bootstrap [ 2de000, 14aca1d] Root Modules Memory [ 7ff0000, 7ffffff] Arch BIOS [ fffc0000, ffffffff] Arch BIOS region overlap
I do not understand why your Fiasco binary looks like that. Did you modify the build?
readelf -l cd-image/fiasco
Elf file type is EXEC (Executable file) Entry point 0x100f0 There are 4 program headers, starting at offset 52
Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x00010000 0x00010000 0xd19f8 0xd19f8 R E 0x1000 LOAD 0x0d2000 0x000e2000 0x000e2000 0x0e000 0x16e34 RWE 0x1000 TLS 0x0d42c4 0x000e42c4 0x000e42c4 0x00014 0x0002c R 0x4 GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Greets
Hi,
--- On Wed, Oct 22, 2008 at 1:08 PM, Christian Helmuth christian.helmuth@genode-labs.com wrote: | I do not understand why your Fiasco binary looks like that. Did you | modify the build? --
I had mistakenly built fiasco-ux. I upgraded to qemu 0.9.1 and it stops at the overlapping region error. Now, I have changed the configuration in fiasco to build for Platform (PC platform). It builds a kernel.image (which should be renamed to fiasco?), and irq0. There is also a fiasco symbolic link file that points to main.
Where is the kernel config file stored? I am using Fiasco 1.2, if that matters?
Thanks!
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
--- On Wed, Oct 22, 2008 at 1:08 PM, Christian Helmuth christian.helmuth@genode-labs.com wrote: | I do not understand why your Fiasco binary looks like that. Did you | modify the build? --
I had mistakenly built fiasco-ux. I upgraded to qemu 0.9.1 and it stops at the overlapping region error. Now, I have changed the configuration in fiasco to build for Platform (PC platform). It builds a kernel.image (which should be renamed to fiasco?), and irq0. There is also a fiasco symbolic link file that points to main.
Just use the fiasco symlink for your boot image.
Where is the kernel config file stored? I am using Fiasco 1.2, if that matters?
It's in the globalconfig.out file in your Fiasco build directory.
Cheers, Bjoern
Hi,
On Wed, Oct 22, 2008 at 06:54:06PM +0530, Shakthi Kannan wrote:
I had mistakenly built fiasco-ux. I upgraded to qemu 0.9.1 and it stops at the overlapping region error. Now, I have changed the configuration in fiasco to build for Platform (PC platform). It builds a kernel.image (which should be renamed to fiasco?), and irq0. There is also a fiasco symbolic link file that points to main.
You should boot the binary "main", hence the loink named fiasco.
Where is the kernel config file stored? I am using Fiasco 1.2, if that matters?
The configuration is stored in the build directory in a file named globalconfig.out.
Regards
Hi,
--- On Wed, Oct 22, 2008 at 7:07 PM, Christian Helmuth christian.helmuth@genode-labs.com wrote: | You should boot the binary "main", hence the loink named fiasco. --
Thanks.
--- | The configuration is stored in the build directory in a file named | globalconfig.out. --
This is the one that is used: http://shakthimaan.com/downloads/trash/globalconfig.out
Also, when invoking:
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -hide-rr-moved -J -joliet-long -o "cd-image.iso" .
I get the following output:
=== OUTPUT ===
I: -input-charset not specified, using utf-8 (detected in locale settings) Size of boot image is 4 sectors -> No emulation Total translation table size: 2048 Total rockridge attributes bytes: 1889 Total directory bytes: 4096 Path table size(bytes): 34 Max brk space used 0 4280 extents written (8 MB)
=== END ===
Do you folks hang around any IRC channel? Thanks again!
SK
On Wed Oct 22, 2008 at 19:16:14 +0530, Shakthi Kannan wrote:
This is the one that is used: http://shakthimaan.com/downloads/trash/globalconfig.out
Looks ok.
Also, when invoking:
$ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -hide-rr-moved -J -joliet-long -o "cd-image.iso" .
I get the following output:
=== OUTPUT ===
I: -input-charset not specified, using utf-8 (detected in locale settings) Size of boot image is 4 sectors -> No emulation Total translation table size: 2048 Total rockridge attributes bytes: 1889 Total directory bytes: 4096 Path table size(bytes): 34 Max brk space used 0 4280 extents written (8 MB)
=== END ===
Now, what happens when taking the main (or fiasco) image? kernel.image is too big, that's why the overlapping.
Adam
Hi,
--- On Wed, Oct 22, 2008 at 10:45 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote: | Now, what happens when taking the main (or fiasco) image? --
Same overlapping message:
=== OUTPUT ===
L4 Bootstrapper Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH loaded module section: [ 300000, 3018ab] /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH overlaps with: [ 2de000, ab6a1d] Root Modules Memory [ 9fc00, 9ffff] Arch BIOS [ e8000, fffff] Arch BIOS [ 2d0000, 2dae9f] Root bootstrap [ 2de000, ab6a1d] Root Modules Memory [ c7f0000, c7fffff] Arch BIOS [ fffc0000, ffffffff] Arch BIOS region overlap
=== END ===
Is it possible for you to make a cd-image.iso available, that I can test with just to make sure qemu and my bridge tun/tap setup is fine with ORe?
My svn revision number on tudos/ directory is 404.
Thanks!
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hey,
Is it possible for you to make a cd-image.iso available, that I can test with just to make sure qemu and my bridge tun/tap setup is fine with ORe?
My svn revision number on tudos/ directory is 404.
I compiled an image with this kernel versoin and your globalconfig.out that works for me: http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso
Bjoern
Hi,
--- On Thu, Oct 23, 2008 at 2:10 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | I compiled an image with this kernel versoin and your globalconfig.out | that works for me: | http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso --
Thanks! This one boots nicely with qemu 0.9.1 at: http://shakthimaan.com/downloads/trash/bjorn-cd-image-boots.txt
I open another terminal and do:
arping -I tap0 04:EA:43:01:96:09 -w 100 -c 10000
I get a message:
arping: unknown host 04:EA:43:01:96:09
I have the following in /etc/network/interfaces:
auto tap0 iface tap0 inet static pre-up tunctl -u foo -t tap0 address 172.20.0.1 netmask 255.255.255.0
I manually add tap0 to the bridge using:
sudo brctl addif br0 tap0
But, when running:
$ qemu -cdrom image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200
It adds another tap1 interface to the bridge br0, when it executes /etc/qemu-ifup. What should be the correct setup?
SK
Hi,
--- On Thu, Oct 23, 2008 at 3:23 PM, Shakthi Kannan shakthimaan@gmail.com wrote: | arping: unknown host 04:EA:43:01:96:09 --
Old arping package. I have upgraded arping now, and it runs properly.
--- | I have the following in /etc/network/interfaces: | | auto tap0 | iface tap0 inet static | pre-up tunctl -u foo -t tap0 | address 172.20.0.1 | netmask 255.255.255.0 | | I manually add tap0 to the bridge using: | | sudo brctl addif br0 tap0 --
I have now commented everything in /etc/qemu-ifup. ifconfig -a output, after starting qemu with cd-image.iso:
=== ifconfig -a ===
br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5984 errors:0 dropped:0 overruns:0 frame:0 TX packets:876 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1519243 (1.4 MiB) TX bytes:80704 (78.8 KiB)
eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:14646 errors:0 dropped:0 overruns:0 frame:0 TX packets:921 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2990480 (2.8 MiB) TX bytes:87734 (85.6 KiB)
lo Link encap:Local Loopback LOOPBACK MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
sit0 Link encap:IPv6-in-IPv4 NOARP MTU:1480 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tap0 Link encap:Ethernet HWaddr 4a:da:d7:6f:4a:44 inet addr:172.20.0.1 Bcast:172.20.0.255 Mask:255.255.255.0 inet6 addr: fe80::48da:d7ff:fe6f:4a44/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:7314 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tap1 Link encap:Ethernet HWaddr 2e:63:3c:7b:a1:51 BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:500 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
=== END ===
Still tap1 gets created. From another shell on the host system, I add tap0 to bridge:
brctl addif br0 tap0
Output of brctl show:
=== brctl show ===
bridge name bridge id STP enabled interfaces br0 8000.0019d12e0633 no eth1 tap0
=== END ===
=== arping -i tap0 04:EA:43:01:96:09 -w 100 -c 3 ===
ARPING 04:EA:43:01:96:09
--- 04:EA:43:01:96:09 statistics --- 3 packets transmitted, 0 packets received, 100% unanswered
=== END ===
AFAIK, br0 is the bridge between eth1 (Internet) and tap0. So, tap0 should communicate to ORe. What is the need for tap1?
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
Old arping package. I have upgraded arping now, and it runs properly.
cool.
[..]
AFAIK, br0 is the bridge between eth1 (Internet) and tap0. So, tap0 should communicate to ORe. What is the need for tap1?
No idea. I did not come across this issue yet.
Bjoern
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
pre-up tunctl -u foo -t tap0 address 172.20.0.1 netmask 255.255.255.0
I manually add tap0 to the bridge using:
sudo brctl addif br0 tap0
But, when running:
$ qemu -cdrom image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200
It adds another tap1 interface to the bridge br0, when it executes /etc/qemu-ifup. What should be the correct setup?
I don't use any bridging at all. Just use the above command line, then qemu sets up everything needed using qemu-ifup. Afterwards you should see the new tap device in ifconfig's output - this is the interface you'll probably want to pass over to arping.
Bjoern
Hi,
--- On Thu, Oct 23, 2008 at 6:10 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | I don't use any bridging at all. --
What is in your /etc/qemu-ifup?
--- | Just use the above command line, then | qemu sets up everything needed using qemu-ifup. Afterwards you should | see the new tap device in ifconfig's output - this is the interface | you'll probably want to pass over to arping. --
I just have the following in /etc/network/interfaces:
iface eth1 inet dhcp auto eth1
I have enabled everything in:
=== /etc/qemu-ifup ===
#!/bin/sh sudo -p "Password for $0:" /sbin/ifconfig $1 172.20.0.1 echo "Executing /etc/qemu-ifup" echo "Bringing up $1 for bridged mode..." sudo /sbin/ifconfig $1 0.0.0.0 promisc up echo "Adding $1 to br0..." sudo /usr/sbin/brctl addif br0 $1 sleep 2
=== END ===
It needs to bridging. After running qemu with cd-image.iso, I get:
=== OUTPUT ===
[snip] Bringing up tap0 for bridged mode... Adding tap0 to br0... bridge br0 does not exist! [snip]
=== END ===
hence "arping -i tap0 04:EA:43:01:96:09 -w 100 -c 10000" gives:
arping: libnet_get_ipaddr4(libnet): libnet_get_ipaddr4(): ioctl(): Cannot assign requested address
SK
Hi,
On Thu Oct 23, 2008 at 09:58:29 +0530, Shakthi Kannan wrote:
--- On Wed, Oct 22, 2008 at 10:45 PM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote: | Now, what happens when taking the main (or fiasco) image? --
Same overlapping message:
=== OUTPUT ===
L4 Bootstrapper Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH loaded module section: [ 300000, 3018ab] /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH overlaps with: [ 2de000, ab6a1d] Root Modules Memory [ 9fc00, 9ffff] Arch BIOS [ e8000, fffff] Arch BIOS [ 2d0000, 2dae9f] Root bootstrap [ 2de000, ab6a1d] Root Modules Memory [ c7f0000, c7fffff] Arch BIOS [ fffc0000, ffffffff] Arch BIOS region overlap
=== END ===
Please show a objdump -h fiasco (or make the image/iso available).
Adam
Hi Adam,
--- On Fri, Oct 24, 2008 at 3:35 AM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote: | Please show a objdump -h fiasco (or make the image/iso available). --
The image (8M) is available here: http://shakthimaan.com/downloads/trash/cd-image.iso
I am using gcc-4.1.2 on Debian.
SK
On Fri Oct 24, 2008 at 15:51:17 +0530, Shakthi Kannan wrote:
Hi Adam,
--- On Fri, Oct 24, 2008 at 3:35 AM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote: | Please show a objdump -h fiasco (or make the image/iso available). --
The image (8M) is available here: http://shakthimaan.com/downloads/trash/cd-image.iso
The GRUB you use does not support the modaddr statement, it's just ignored. That's why the overlapping problem. Add -modaddr 0x2000000 to the bootstrap command line and it will work.
Adam
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The GRUB you use does not support the modaddr statement, it's just ignored. That's why the overlapping problem. Add -modaddr 0x2000000 to the bootstrap command line and it will work.
Documentation bug - fixed it in the wiki.
Bjoern
Hi,
--- On Mon, Oct 27, 2008 at 4:35 AM, Adam Lackorzynski adam@os.inf.tu-dresden.de wrote: | The GRUB you use does not support the modaddr statement, it's just | ignored. That's why the overlapping problem. Add -modaddr 0x2000000 to | the bootstrap command line and it will work. --
Sorry for not being able to get back earlier. I have used the above with svn version 423, and I am making the binaries available under ore-test.tar.bz2: http://shakthimaan.com/downloads/trash/ore-test.tar.bz2
When running the following:
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200
the following is the output on Debian Lenny:
=== OUTPUT ===
$ sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200 Could not open '/dev/kqemu' - QEMU acceleration layer not activated
L4 Bootstrapper move modules to 2000000 with offset 1d22000 move module 9 start a0f000 -> 2731000 move module 8 start 79b000 -> 24bd000 move module 7 start 528000 -> 224a000 move module 6 start 4e7000 -> 2209000 move module 5 start 449000 -> 216b000 move module 4 start 406000 -> 2128000 move module 3 start 367000 -> 2089000 move module 2 start 336000 -> 2058000 move module 1 start 2de000 -> 2000000 Scanning /fiasco -serial_esc -comspeed 115200 -comport 1 -nokdb -jdb_cmd=JH Scanning /sigma0 Scanning /roottask Bootloader MMAP: [ 0, 9fc00) RAM (1) [ 9fc00, a0000) reserved (2) [ e8000, 100000) reserved (2) [ 100000, c7f0000) RAM (1) [ c7f0000, c800000) ACPI (3) [ fffc0000, 100000000) reserved (2) Relocated mbi to [0x5f000-0x5f16e] Loading /fiasco Loading /sigma0 Loading /roottask find kernel info page... found kernel info page at 0x1000 [ 1000, 5efff] Kern /fiasco [ 5f000, 5f26b] Root Multiboot info [ 9fc00, 9ffff] Arch BIOS [ e8000, fffff] Arch BIOS [ 100000, 10837f] Sigma0 /sigma0 [ 110000, 2acfff] Root /roottask [ 2d0000, 2dae5f] Boot bootstrap [ 300000, 38fd2f] Kern /fiasco [ 2128000, 27cea1d] Root Modules Memory [ c7f0000, c7fffff] Arch BIOS [ fffc0000, ffffffff] Arch BIOS API Version: (87) experimental Sigma0 config ip:00103fb8 sp:002daa20 Roottask config ip:00110000 sp:00000000 Starting kernel /fiasco at 003008a0
Welcome to Fiasco(ia32)! DD-L4(v2)/ia32 microkernel (C) 1998-2008 TU Dresden Rev: r422 compiled with gcc 4.3.2 for Intel Pentium 4 [] Performance-critical config option(s) detected: CONFIG_NDEBUG is off
Enabling special fully nested mode for PIC Using the PIT (i8254) on IRQ 0 for scheduling SERIAL ESC: allocated IRQ 4 for serial uart SERIAL ESC: allocated IRQ 4 for serial uart Not using serial hack in slow timer handler. Absolute KIP Syscalls using: Sysenter CPU: GenuineIntel (6:3:3:0) Model: Unknown CPU at 1829 MHz
8 KB L1 I Cache (4-way associative, 32 bytes per line)
Freeing init code/data: 20480 bytes (5 pages)
Calibrating timer loop... done. SIGMA0: Hello! KIP @ 1000 Found Fiasco: KIP syscalls: yes allocated 4KB for maintenance structures
Roottask. Command line found: "/roottask"
204351kB ( 199MB) total RAM (reported by bootloader) 179104kB ( 175MB) received RAM from Sigma0 8460kB ( 9MB) reserved RAM for RMGR Received I/O ports 0000-ffff Attached irqs = [ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 A B C D E F 10 11 ]
Roottask: Loading 6 modules. #05: loading "/names" from [02128000-0216aecf] to [002d0000-002d68b7][002d7000-002e2000] entry at 0005a060 via trampoline page code symbols at [0b7ef000-0b7f1000] (8kB), lines at [0b7e8000-0b7ef000] (28kB) #06: loading "/dm_phys" from [0216b000-0220814c] to [01500000-01513d17][01514000-0151e000] entry at 0005b064 via trampoline page code symbols at [0b7e3000-0b7e8000] (20kB), lines at [0b7d4000-0b7e3000] (60kB) #07: loading "/log" from [02209000-02249e62] to [00400000-0040702a][00408000-0043a848] entry at 0005c060 via trampoline page code symbols at [0b7d2000-0b7d4000] (8kB), lines at [0b7cb000-0b7d2000] (28kB) #08: loading "/l4io" from [0224a000-024bc2bb] to [00c20000-00c44ba1][00c45000-00cb3000] entry at 0005d060 via trampoline page code symbols at [0b775000-0b7cb000] (344kB), lines at [0b759000-0b775000] (112kB) #09: loading "/ore" from [024bd000-02730a50] to [01800000-0184c082][0184d000-01879000] entry at 0005e060 via trampoline page code symbols at [0b74b000-0b759000] (56kB), lines at [0b70f000-0b74b000] (240kB) #0a: loading "/ore_test_arping" from [02731000-027cea1e] to [00980000-00998881][00999000-009b0000] entry at 0006006c via trampoline page code symbols at [0b70a000-0b70f000] (20kB), lines at [0b6f6000-0b70a000] (80kB)
arping | main(): Hello from the ORe arping shared memory client arping | main(): verbosity: 0 arping | main(): connecting to 'ORe' arping | main(): interface: 'eth0' arping | main(): verbosity: 0 arping | main(): string ipc receive arping | main(): sending with string ipc arping | l4ore_open(): called arping | l4ore_open(): descriptor: 0 io | Using platform configuration 'x86' io | PCI: Using configuration type 1 io | PCI: Probing PCI hardware io | PCI: Probing PCI hardware (bus 00) io | PCI: PIIX3: Enabling Passive Release on 00:01.0 io | Limiting direct PCI/PCI transfers. io | Activating ISA DMA hang workarounds. io | 00000000-ffffffff : PCI mem io | f0000000-f1ffffff : Cirrus Logic GD 5446 io | f2000000-f2000fff : Cirrus Logic GD 5446 io | f2001000-f20010ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/ io : 8139C+ io | 0000-ffff : PCI IO io | 0cf8-0cff : PCI conf1 io | b000-b03f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | b100-b11f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | c000-c00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] io | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ io | Available IRQs=[ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f 10 11 ] ore | Softirq daemon starting ore | Initializing DDE page cache ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7000 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7010 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7113 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 1013:b8 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 10ec:8139 ore | <6>Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 ore | <6>Copyright (c) 1999-2006 Intel Corporation. ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | l4dde26_register_rx_callback: New rx callback @ 0x018012f0. ore | main(): initialized DDELinux2.6 ore | main(): loopback: 0 ore | <6>device lo entered promiscuous mode ore | main(): Initialized 1 network devices. ore | Device = lo, IRQ = 0, MAC = 00:00:00:00:00:00 ore | main(): Registering 'ORe' at names... ore | main(): Ready for service. arping | ore_lookup_server(): ORe server ORe = 9.02 arping | ore_do_open(): called ore | [9.2] ore/server/src/clients.c:215:setup_connection(): ore | Error: no device found. arping | ore_do_open(): opened. worker = 7FF.7F arping | [A.2] ore/lib/client/lib.c:181:l4ore_open(): arping | Error: ore_open() returned INVALID_ID arping | main(): opened eth0: -1 for 00:00:64:64:65:6B arping | [A.2] ore/examples/arping/main.c:303:main(): arping | Error: could not open eth0! arping | arping | Exiting with 1
=== END ===
Execution of ore with qemu with your provided image works fine though: http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso
Appreciate any inputs,
Thanks!
SK
Hi,
Replying to my own message:
--- On Thu, Jan 1, 2009 at 10:33 PM, Shakthi Kannan shakthimaan@gmail.com wrote: | L4 Bootstrapper | move modules to 2000000 with offset 1d22000 | move module 9 start a0f000 -> 2731000 | move module 8 start 79b000 -> 24bd000 | ... | move module 2 start 336000 -> 2058000 | move module 1 start 2de000 -> 2000000 --
The stage2_eltorito from Debian Lenny from /usr/lib/grub/i386-pc/ is only 106k, and using "-modaddr 0x2000000" along with the kernel line does the above. Otherwise, it complains about region overlap. OTOH, the stage2_eltorito provided from your image: http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso
is 178k. From where did you get this stage2_eltorito?
So, using your stage2_eltorito file, and using a separate line for modaddr in menu.lst boots, but, halts at:
=== ERROR ===
ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 10ec:8139 ore | <6>Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 ore | <6>Copyright (c) 1999-2006 Intel Corporation. ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | l4dde26_register_rx_callback: New rx callback @ 0x018012f0. ore | main(): initialized DDELinux2.6 ore | main(): loopback: 0 ore | <6>device lo entered promiscuous mode ore | main(): Initialized 1 network devices. ore | Device = lo, IRQ = 0, MAC = 00:00:00:00:00:00 ore | main(): Registering 'ORe' at names... ore | main(): Ready for service. arping | ore_lookup_server(): ORe server ORe = 9.02 arping | ore_do_open(): called ore | [9.2] ore/server/src/clients.c:215:setup_connection(): ore | Error: no device found. arping | ore_do_open(): opened. worker = 7FF.7F arping | [A.2] ore/lib/client/lib.c:181:l4ore_open(): arping | Error: ore_open() returned INVALID_ID arping | main(): opened eth0: -1 for 00:00:64:64:65:6B arping | [A.2] ore/examples/arping/main.c:303:main(): arping | Error: could not open eth0! arping | arping | Exiting with 1
=== END ===
--- | ore | <6>Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 | ore | <6>Copyright (c) 1999-2006 Intel Corporation. --
In tudos/l4/pkg/ore/server/defconfig,
CONFIG_ORE_E1000=y
is set. But, in the working ore_image.iso that you had provided, it uses the 8139cp driver, for which CONFIG_ORE_RTL8139CP should be set? How to reconfigure this settings?
Thanks!
SK
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
sudo qemu -cdrom cd-image.iso -serial stdio -net nic,model=rtl8139,vlan=0 -net tap,vlan=0 -m 200
Ok, you are running qemu emulating a Realtek NIC.
[..]
arping | main(): Hello from the ORe arping shared memory client arping | main(): verbosity: 0 arping | main(): connecting to 'ORe' arping | main(): interface: 'eth0' arping | main(): verbosity: 0 arping | main(): string ipc receive arping | main(): sending with string ipc arping | l4ore_open(): called arping | l4ore_open(): descriptor: 0 io | Using platform configuration 'x86' io | PCI: Using configuration type 1 io | PCI: Probing PCI hardware io | PCI: Probing PCI hardware (bus 00) io | PCI: PIIX3: Enabling Passive Release on 00:01.0 io | Limiting direct PCI/PCI transfers. io | Activating ISA DMA hang workarounds. io | 00000000-ffffffff : PCI mem io | f0000000-f1ffffff : Cirrus Logic GD 5446 io | f2000000-f2000fff : Cirrus Logic GD 5446 io | f2001000-f20010ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/ io : 8139C+
This is where the RTL chip is found by L4IO.
io | 0000-ffff : PCI IO io | 0cf8-0cff : PCI conf1 io | b000-b03f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | b100-b11f : Intel Corporation 82371AB/EB/MB PIIX4 ACPI io | c000-c00f : Intel Corporation 82371SB PIIX3 IDE [Natoma/Triton II] io | c100-c1ff : Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ io | Available IRQs=[ <!0> 1 <!2> 3 <!4> 5 6 7 8 9 a b c d e f 10 11 ] ore | Softirq daemon starting ore | Initializing DDE page cache ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7000 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7010 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 8086:7113 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 1013:b8 ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | _add_ddekit_device: Detected device: 10ec:8139 ore | <6>Intel(R) PRO/1000 Network Driver - version 7.3.15-k2 ore | <6>Copyright (c) 1999-2006 Intel Corporation.
This is where ORe tries to initialize the Intel e1000 driver (for a NIC which is not there).
ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | unimplemented: pci_fixup_device ore | l4dde26_register_rx_callback: New rx callback @ 0x018012f0. ore | main(): initialized DDELinux2.6 ore | main(): loopback: 0 ore | <6>device lo entered promiscuous mode ore | main(): Initialized 1 network devices. ore | Device = lo, IRQ = 0, MAC = 00:00:00:00:00:00
This results in loopback being the only device found and driven by ORe...
ore | main(): Registering 'ORe' at names... ore | main(): Ready for service. arping | ore_lookup_server(): ORe server ORe = 9.02 arping | ore_do_open(): called ore | [9.2] ore/server/src/clients.c:215:setup_connection(): ore | Error: no device found. arping | ore_do_open(): opened. worker = 7FF.7F arping | [A.2] ore/lib/client/lib.c:181:l4ore_open(): arping | Error: ore_open() returned INVALID_ID
... and your application not being able to connect to ORe.
arping | main(): opened eth0: -1 for 00:00:64:64:65:6B arping | [A.2] ore/examples/arping/main.c:303:main(): arping | Error: could not open eth0! arping | arping | Exiting with 1
=== END ===
Execution of ore with qemu with your provided image works fine though: http://os.inf.tu-dresden.de/~doebel/downloads/ore_image.iso
Appreciate any inputs,
The ORe version in the disk image is configured to include a RTL8139+ driver. It may be that this is not the default when compiling ORe. Go to l4/pkg/ore/server and run "make config" - there you can select which drivers to include. This should get you up and running.
Cheers, Bjoern
Hi,
--- On Sat, Jan 3, 2009 at 6:20 PM, Björn Döbel doebel@os.inf.tu-dresden.de wrote: | Go to | l4/pkg/ore/server and run "make config" - there you can select which | drivers to include. This should get you up and running. --
Had to use:
make O=/path/to/build config
re-built under l4, and it worked. Thanks!
SK
l4-hackers@os.inf.tu-dresden.de