http://www.evillabs.net/index.php?title=AROS_Arix/Filesystem&feed=atom&action=historyAROS Arix/Filesystem - Revision history2024-03-28T16:35:24ZRevision history for this page on the wikiMediaWiki 1.41.0http://www.evillabs.net/index.php?title=AROS_Arix/Filesystem&diff=574&oldid=prevEzrec: /* S1: ata.device-like shim over Linux kernel and AROS file systems */2012-09-25T15:58:42Z<p><span dir="auto"><span class="autocomment">S1: ata.device-like shim over Linux kernel and AROS file systems</span></span></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 11:58, 25 September 2012</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l29">Line 29:</td>
<td colspan="2" class="diff-lineno">Line 29:</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* What will Linux kernel do in such setup when someone inserts a pen driver? Will this count as disk as will be handled by ata.device-like shim or will such action be invisible to AROS?</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>* What will Linux kernel do in such setup when someone inserts a pen driver? Will this count as disk as will be handled by ata.device-like shim or will such action be invisible to AROS?</div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">==== S1.a: linuxfs-handler ====</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;"></ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* C:Mount supplies the Linux FS type to use (ext3, jffs, etc) via the CONTROL parameter.</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* Handler translates the DOS device (ie DH1:) to a mount of the desired filesystem using the '-o loop,offset=XXXX /dev/sda' method (Linux doesn't need to know about partitions)</ins></div></td></tr>
<tr><td colspan="2" class="diff-side-deleted"></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">* Handler translates DOS packets into Linux read/write/etc syscalls to the Linux filesystem</ins></div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== S2: "insert" partitions into AROS when Linux kernel detects them ===</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>=== S2: "insert" partitions into AROS when Linux kernel detects them ===</div></td></tr>
</table>Ezrechttp://www.evillabs.net/index.php?title=AROS_Arix/Filesystem&diff=573&oldid=prevEzrec: /* S2: "insert" partitions into AROS when Linux kernel detects them */2012-09-25T15:50:49Z<p><span dir="auto"><span class="autocomment">S2: "insert" partitions into AROS when Linux kernel detects them</span></span></p>
<p><b>New page</b></p><div>== Requirements ==<br />
<br />
* (A) It should be possible to install AROS on hdd/usb using InstallAROS in exactly the same manner as on pc-i386<br />
* (B) It should be possible to use all software that manipulates disk structure (i.e. HDToolBox)<br />
* (C) It should be possible to reuse as much as possible the existing AROS code base<br />
* (D) It should be possible to utilize Linux ATA/SATA support to support all Motherboards that Linux supports<br />
* (E) It should be possible to utilize Linux file system support to support partitions with file systems that Linux supports<br />
* (F) It should be possible for newly inserted medium (CDROM, USB, etc) to be automatically visible in AROS without user interaction<br />
<br />
Are A,B,C in oposition to D,E?<br />
<br />
== Solutions ==<br />
<br />
=== S1: ata.device-like shim over Linux kernel and AROS file systems ===<br />
<br />
Description:<br />
<br />
ata.device-like shim communicated with /dev/ node that exposes functions needed by ata.device interface. Most probably it requires writing some linux-side code for exposing ata functions. Linux kernel needs also to be modified to disable "partition detection" after the initial mounting of AROS partition, because we don't want Linux kernel to handle partition at the same time as AROS would be doing it.<br />
<br />
Advantages:<br />
* It it known what needs to be implemented<br />
* Integration at low level allows for A, B, C and D<br />
<br />
Disadvantages<br />
* Not possible to implement E<br />
* Modifications needs to Linux kernel<br />
<br />
Questions:<br />
<br />
* What will Linux kernel do in such setup when someone inserts a pen driver? Will this count as disk as will be handled by ata.device-like shim or will such action be invisible to AROS?<br />
<br />
=== S2: "insert" partitions into AROS when Linux kernel detects them ===<br />
<br />
Description:<br />
<br />
We let Linux detect new partition and send UDEV event about it. AROS captures that event and access the partition using emul-handler file system.<br />
<br />
Advantages:<br />
* Integration at medium level allows D and E<br />
* AROS sees all partitions (HDD, CDROM, USB, Network?) with single approach<br />
<br />
Disadvantages:<br />
* Solution does not allow A<br />
* Not yet known how to implement<br />
<br />
Questions:<br />
* We don't want those partition to be mounted in the initrd file system. In that case is it possible for emul-handler to work at all?<br />
<br />
=== S3: ata.device-like shim over Linux kernel and AROS file systems, but AROS "returning" control to Linux if no native systems found ===<br />
<br />
Description:<br />
<br />
Solution S1 with fallback. If AROS does not know how to handle a certain file system, a signal is sent to Linux kernel to handle it. Then UDEV event is captured by AROS and the partition is mounted using emul-handler.<br />
<br />
Advantages:<br />
* Allows requirement E for reading/writting<br />
<br />
Disadvantages:<br />
* Not known how to implement<br />
* Modifications needed to Linux kernel</div>Ezrec