Hi,

Just another small question: The binaries for drivers like ahci or pci are ending with _drv. The binary of acpi not. Is there a rule of thumb for the naming?

Best regards
Wolfgang

Von: Sebastian Sumpf
Gesendet: ‎14.‎05.‎2014 22:06
An: Genode OS Framework Mailing List
Betreff: Re: Using a real harddisk

Hi again,

On 05/14/2014 09:27 PM, w_schmidt@...181... wrote:
> Hi,
>
> Thanks for the answer.
>
>>> I want to access files from a harddisk using a block cache. The partition
>>> would be /sda7/test in ext2 format. (and for example file1.txt) I tried
>>> to
>>> start nova directly form disc - works with mouse & keyboard now.
>
>> Assuming your machine is an x86 derivative and supports AHCI, you could
>> use Genode's AHCI driver, which will expose a block sesssion (see:
>> os/src/drivers/ahci/README). In order to access the partitions on your
>> disk, a server called 'part_blk' is required (see:
>> os/src/server/part_blk/README for its configuration). So, you would have
>> to remove 'ram_blk' and add 'ahci_drv', 'part_blk' (routed to
>> 'ahci_drv'), adjust 'rump_fs' to be routed to 'part_blk' partition 7.
>
> I have 2 possible machines with AHCI and AMD64/Intel64.
>
> Maybe I understand it completly wrong, but in the AHCI description there is
> a part with
> "On real hardware and on kernels taking advantage of I/O APICs (namely NOVA
> and
> Fiasco.OC) we still lack support for ACPI parsing and thus for interrupts,
> leading to a non-working driver." (
> https://github.com/genodelabs/genode/blob/master/repos/os/src/drivers/ahci/README
>  )
>
> Doesn't that mean that the AHCI driver won't work with nova or real hard
> drive? That sentence is one of the reasons why I ask.
> If nova /real hardware does not work like mentioned in the readme, is there
> another way to load from disc? Or should another kernel (?L4k?) do the
> trick?

Ops, I should take this part out of the README. We do have ACPI parsing
and interrupt re-write support by now. You will need to build
'drivers/acpi', 'drivers/pci', and if you use NOVA and if your machine
has an IOMMU 'drivers/pci/device_pd'. In the Genode configuration you
only need to start the 'acpi_drv', which will start the other one or two
as children. A sample run script can be found under 'os/run/ahci.run'

Another way to access hard disks (again on x86) is to use the IDE
interface, which is supported by the ATAPI driver ('drivers/atapi'),
again have a look at the README in 'os/drivers/atapi'.

>> The cache is greedy and tries to get as much memory from its parent as
>> possible. By the way, rump has a build in block cache also.
>
> Yes I have seen that in the rump description there stood something that the
> server will use most of the RAM for cache.
>
> I thought I coudl do the following:
> Give the block cache e.g. 16MB RAM.
> Give the Rump Server 6 MB, and load different 4 MB files. I thought that by
> loading the second file the first one will get out of the Rump cache but
> loaded by the block cache.

Okay that should work, I would give rump a little more memory.

> I have seen that the framebuffer seems to have a sort of multiplexer. Is
> something similiar available for filesystems?

The rump server supports connections from multiple clients, so one could
see it as sort of a multiplexer.

>>> RAM...
>> I think the author just did not want to calculate the amount of RAM
>> required for the test program.
>
> O.K.
>
>>> Afterwards i included in the set build_components section
>>> server/blk_cache
>>> (after drivers/timer) and entered as boot module blk_cache.  Is this the
>>> correct way of including the cache?
>
>> Yes it is!
>
> Good. :-)
>
>>> The result of this was that I got an output with: [init -> blk_cache]
>>> updating quota for SIGNAL session, an init rump_fs upgrade quota output
>>> and
>>> afterwards and a long stop after init->rump_fs Backend::Backend() Backend
>>> blk_size 512 Afterwards the script stopped with   Test execution timeout.
>>> with error 254) What could I have done wrong with the configuration of
>>> this
>>> scenario?
>
>> Ok, I will try to reproduce the behavior.
>
> Thanks, that would be interesting. If it helps I can upload my configuration
> file somewhere?

I will try it out first as described above, if I cannot reproduce it you
could fork Genode on GitHub and push it into a branch there, or if it is
just a run script just send it via email.

> I think I can try file access and AHCI first on friday (ATM a lot of work,
> I'm interested at genode because of part time study)

Good luck!

Sebastian


--
Sebastian Sumpf
Genode Labs

http://www.genode-labs.com · http://genode.org

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth




------------------------------------------------------------------------------
"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@...98....net
https://lists.sourceforge.net/lists/listinfo/genode-main