Hi Stefan, Can You give a gibt for compatible x86 hw? I tried The democd on an FSC Athlon64 which did mit start at all. Does for example a comp list for nova exist?
What so You mean with: it serves only one client- one client application?
Best regards Wolfgang
----- Ursprüngliche Nachricht ----- Von: "Stefan Kalkowski" <stefan.kalkowski@...1...> Gesendet: 28.04.2014 21:13 An: "genode-main@lists.sourceforge.net" genode-main@lists.sourceforge.net Betreff: Re: Block Cache
Hi Wolfgang,
On 04/28/2014 08:27 PM, w_schmidt@...181... wrote:
Hello,
I have a few question regarding genodes block cache in 14.02.
If understand it correctly on x86-based computers genode starts on top of linux.
well, that's not true. Yes, Genode is able to run on top of Linux, mostly for development purposes. But Genode runs also directly on x86 hardware using the NOVA kernel, or Fiasco.OC kernel, or the OKL4 kernel, or Pistachio kernel.
Therefore multiple caches will be used before something goes to genode a) the cache on a hdd b) cache on a drive controller c) the linux block cache
If running on Linux yes, but normally it wouldn't make much sense to use an additional block cache here.
d) qemu
As already said: you don't need to use Qemu. Most run scripts are starting Qemu by default, for convenience reasons only.
The first one is about the scenario in which the block cache is used. Is the block cache only thought for embedded devices where genode runs nativly? Are all embeded devices usable with the cache?
The block cache uses the block session of Genode. It uses exactly one block device, and serves exectly one client. As all block device drivers of Genode are implementing the block session interface, the block cache can be used on top of all block drivers, whether its a x86 AHCI driver, or MMC card driver of an ARM SoC, or whatever.
Is there a way to mount a partition in genode with qemu without using caches from c) and d) ? Or is there a x86 hardware where genode can directly operate on?
Qemu allows to define the caching policy of a hard drive (cache=none). I don't know whether it's possible to circumvent Linux block cache. I assume that's hard. But as mentioned above, you can use conventional x86 PC hardware.
Regards Stefan
As far as I have seen so far the disc cache of Linux does not seem to be disablable. I have only foudn ways to flush linux cache (like sync && echo 3
/proc/sys/vm/drop_caches).
Best regards, Wolfgang
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
Hi Wolfgang
On 04/28/2014 10:25 PM, Wolfgang Schmidt wrote:
Hi Stefan, Can You give a gibt for compatible x86 hw? I tried The democd on an FSC Athlon64 which did mit start at all. Does for example a comp list for nova exist?
No, I've no compatibility list available. I know of quite different Intel PCs people are using doing experiments with Genode/NOVA.
What do you mean with it didn't start at all on your specific hardware? The last time I've read an email from you regarding problems with NOVA on real hardware, it failed to compile the framebuffer driver, because your third-party-code "libports" repository probably wasn't prepare accordingly. Maybe it's better to smooth build problems out, instead of searching for new hardware?
What so You mean with: it serves only one client- one client application?
I meant, the block cache acts like a block driver. In general a block driver in Genode serves only one client, e.g.: a filesystem server. If you want to share the same device with multiple clients, you might use the "part_blk" server, which provides different partitions, found on the device, as separate block sessions to different clients.
Does that clarifies your question?
Regards Stefan
Best regards Wolfgang
Von: Stefan Kalkowski mailto:stefan.kalkowski@...1... Gesendet: 28.04.2014 21:13 An: genode-main@lists.sourceforge.net mailto:genode-main@lists.sourceforge.net Betreff: Re: Block Cache
Hi Wolfgang,
On 04/28/2014 08:27 PM, w_schmidt@...181... wrote:
Hello,,
I have a few question regarding genodes block cache in 14.02.
If understand it correctly on x86-based computers genode starts on top of linux.
well, that's not true. Yes, Genode is able to run on top of Linux, mostly for development purposes. But Genode runs also directly on x86 hardware using the NOVA kernel, or Fiasco.OC kernel, or the OKL4 kernel, or Pistachio kernel.
Therefore multiple caches will be used before something goes to genode a) the cache on a hdd b) cache on a drive controller c) the linux block cache
If running on Linux yes, but normally it wouldn't make much sense to use an additional block cache here.
d) qemu
As already said: you don't need to use Qemu. Most run scripts are starting Qemu by default, for convenience reasons only.
The first one is about the scenario in which the block cache is used. Is the block cache only thought for embedded devices where genode runs nativly? Are all embeded devices usable with the cache?
The block cache uses the block session of Genode. It uses exactly one block device, and serves exectly one client. As all block device drivers of Genode are implementing the block session interface, the block cache can be used on top of all block drivers, whether its a x86 AHCI driver, or MMC card driver of an ARM SoC, or whatever.
Is there a way to mount a partition in genode with qemu without using
caches
from c) and d) ? Or is there a x86 hardware where genode can directly operate on?
Qemu allows to define the caching policy of a hard drive (cache=none). I don't know whether it's possible to circumvent Linux block cache. I assume that's hard. But as mentioned above, you can use conventional x86 PC hardware.
Regards Stefan
As far as I have seen so far the disc cache of Linux does not seem to be disablable. I have only foudn ways to flush linux cache (like sync &&
echo 3
/proc/sys/vm/drop_caches).
Best regards, Wolfgang
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform
available.
Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
-- Stefan Kalkowski Genode Labs
http://www.genode-labs.com/ · http://genode.org/
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available. Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs
Genode-main mailing list Genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main
On Mon, 28 Apr 2014 22:25:42 +0200 Wolfgang Schmidt (WS) wrote:
WS> Can You give a gibt for compatible x86 hw? I tried The democd on an FSC Athlon64 which did mit start at all. Does for example a comp list for nova exist?
Hi Wolfgang,
There is no compatibility list for NOVA, because the microhypervisor is supposed to work with all recent Intel and AMD x86 machines. If it does not work on your machine, please try to run the microhypervisor binary only, without any additional modules.
If you specify "serial" (without quotes) on the hypervisor command line, you can capture the output on the serial line.
You should see output similar to the following. The last line is nothing to worry about, it just says there was no ELF image for the root task found.
- Udo
NOVA Microhypervisor v6-6ffe5a0 (x86_32): Apr 28 2014 14:47:01 [gcc 4.10.0]
[-1] HPET:0xfed00000 ID:0x0 [-1] APIC:0xfec00000 ID:0x0 VER:0x11 IRT:0x17 PRQ:0 GSI:0 [-1] KEYB: GSI:0x1 [ 0] TSC:2706799 kHz BUS:1005800 kHz [ 0] APIC:0xfee00000 ID:0x0 VER:0x11 LVT:0x5 [ 0] VMCB:0x017e3000 REV:0x1 NPT:0 [ 0] CORE:0:0:0 6:6:3:0 [0] QEMU Virtual CPU version 2.0.0 [ 1] APIC:0xfee00000 ID:0x1 VER:0x11 LVT:0x5 [ 1] VMCB:0x017eb000 REV:0x1 NPT:0 [ 1] CORE:1:0:0 6:6:3:0 [0] QEMU Virtual CPU version 2.0.0 [ 2] APIC:0xfee00000 ID:0x2 VER:0x11 LVT:0x5 [ 2] VMCB:0x017c1000 REV:0x1 NPT:0 [ 2] CORE:2:0:0 6:6:3:0 [0] QEMU Virtual CPU version 2.0.0 [ 3] APIC:0xfee00000 ID:0x3 VER:0x11 LVT:0x5 [ 3] VMCB:0x017c7000 REV:0x1 NPT:0 [ 3] CORE:3:0:0 6:6:3:0 [0] QEMU Virtual CPU version 2.0.0 [ 0] Killed EC:0xc13e4500 SC:0xc13e5280 V:0x1e CS:0x1b EIP:0x0 CR2:0x0 ERR:0x0 (No ELF)
Hi Wolfgang,
Can You give a gibt for compatible x86 hw? I tried The democd on an FSC Athlon64 which did mit start at all. Does for example a comp list for nova exist?
there exists no such list, unfortunately. The degree of compatibility largely depends on the device drivers to be used. The combination of Genode with NOVA is known to work quite well with the devices found in various Lenovo Thinkpads. We use those for regular testing, e.g., T430 or X201. If you consider to get a machine specifically for experimenting with Genode and NOVA, I'd recommend a used X201.
Best regards Norman
Hi,
I think I'm a step further.
I have done the following so far.
I have created a nova environment where run/demo works and opens a qemu environment (now without stalling).
To make it boot directly i used the following.
The OS (Ubuntu12.04 with latest patches) has no grub like in http://genode.org/documentation/platforms/nova , but grub2
I created in /boot a directory genode and copied /var/run/demo/ hypervisor -> /boot/genode /var/run/demo/* -> /boot/genode
In /etc/grub.d I created a boot entry file 42_genode: #!/bin/sh cat << EOF menuentry "Genode" { insmod ext3 multiboot /genode/hypervisor iommu serial module /genode/core module /genode/config config module /genode/init init module /genode/timer timer module /genode/nitpicker nitpicker module /genode/liquid_fb liquid_fb module /genode/launchpad launchpad module /genode/scout scout module /genode/testnit testnit module /genode/nitlog nitlog module /genode/pci_drv pci_drv module /genode/ps2_drv ps2_drv module /genode/fb_drv fb_drv }
afterwards I run 'sudo update-grub' and restarted the system.
I found the new entry Genode in the boot menu and selected it.
First it showed :
file not found
afterwards shortly the nova bootline (i5) and then the genode demo screen.
The following problems occured: - On top of the window a blank black line appeared. - A Launchpad is shown - but with only Quota shown ( I attached a screenshot - that displays it more easy. ) - No cursor appears.
I checked the /boot/genode subdirectory.
There all files which are set in the 42_genode boot entry are available.
Is there a hint or a debug output to see what happens during boot?
If the grub2 menuentry is correct, maybe you could add it to http://genode.org/documentation/platforms/nova as the suggested ubuntu on the page supports grub2 out of the box?
Is there something missing?
Best regards, Wolfgang
Hi Wolfgang,
I'm glad to see your progress!
There are no launchpad entries shown because launchpad could not obtain its configuration. Please try adding '/genode/launchpad.config' as boot module to your GRUB config. (in the snippet you posted, this file is missing) Btw, you can find a GRUB-legacy configuration file for the demo scenario at 'var/run/demo/boot/grub/menu.lst'. This file gets automatically generated by the run tool. How about using a verbatim copy of this file? As far as I know, GRUB-2 supports the loading of GRUB-legacy configuration files.
The dark line at the top of the screen is preserved for status information of the nitpicker GUI server. This is normal.
Is your mouse connected via PS/2? If not, the missing mouse cursor may be caused by the input driver, i.e., the USB driver. You could try replacing the PS/2 driver with the USB driver. Have a look at 'dde_linux/run/usb_hid.run' for an example of using the USB driver. I recommend to first test the changed 'demo.run' script on Qemu using the arguments found in the 'usb_hid.run' script. Once, you got it working in Qemu, you could give it a try on real hardware.
For testing, it is very helpful to have Genode's LOG output available, which is directed to the comport. Unfortunately, modern PCs don't have a comport anymore. However, on most Intel-based PCs, there exists a feature called AMT that allows for sending comport output over the network. If you are interested in exploring this, it is worthwhile to search for 'amtterm'.
Best regards Norman
PS: Your question about the Raspberry Pi is not forgotten. I just haven't found the time to try the current master branch on the Rpi yet. Please stay tuned! ;-)
Hi Norman,
-----Ursprüngliche Nachricht----- From: Norman Feske Sent: Friday, May 2, 2014 11:33 AM To: genode-main@lists.sourceforge.net Subject: Re: Booting genode/nova
For testing, it is very helpful to have Genode's LOG output available, which is directed to the comport. Unfortunately, modern PCs don't have a comport anymore. However, on most Intel-based PCs, there exists a feature called AMT that allows for sending comport output over the network. If you are interested in exploring this, it is worthwhile to search for 'amtterm'.
Finally got the x201 you supposed and tried to configure amt.
I tried the following: on the x201 enable AMT, setup a new user wolfgang with password and enable SOL. I set a IP4 adress of 10.1.1.2. With the username and password i can log into the AMT web site of the computer.
On a hp i tried the commands from http://genode.org/documentation/release-notes/13.05 (On the client i installed amtterm 1.3 from repository.) export AMT_TEST_MACHINE_IP=10.1.1.2 export AMT_TEST_MACHINE_PWD=Test$$44$$ (yep i know, but the machine cannot connect to the outside world)
and tried RUN_OPT="--target amt" make run/printf
The x201 does not seem to get touched - even with disconnected network cable the test is succesful.
I honestly does not understand amt. I tried to use amtterm instead to try out the connection. With amtterm i get a "amtterm: AUTH - ERROR (failure) amtterm: ERROR: session authentification failed". I know that amtterm has nothing to do with genode directly, but if you are using it could you give a hint for the right direction?
Best regards, Wolfgang