<div dir="ltr">Thomas, Michael,<div><br></div><div>I did in fact write a fuse filesystem for the oberon fs into my go emulator so that I could copy files into and out of a disk image from linux... it worked, mostly. I learned a lot from that. I wouldn't try to use it as is, it's too much of a mess but it could be instructive for someone who wants to do it more cleanly.</div><div><br></div><div>My current effort is to take the basic logic from that and make a Linux file system kernel module in C. Combining that with a QEMU emulator of the RISC5 machine would be sweet, I think.</div><div><br></div><div>Chuck</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, May 16, 2020 at 7:54 AM Michael Schierl <<a href="mailto:schierlm@gmx.de">schierlm@gmx.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Am 16.05.2020 um 15:33 schrieb Tomas Kral:<br>
> On Sat, 16 May 2020 15:07:58 +0200<br>
> Michael Schierl <<a href="mailto:schierlm@gmx.de" target="_blank">schierlm@gmx.de</a>> wrote:<br>
><br>
>> Nope. It should provide space for a FAT filesyste<br>
><br>
> Possibly does not have to, looking at my humble backup/restore tool. I<br>
> just skip or seek past the FAT (256*1024K+1), and use 64MB only.<br>
<br>
256*1024K = 256M and not 256K :-)<br>
<br>
> pi@raspberrypi:/usr/src/oberon/img $ ls -sh<br>
><br>
> 424K RISC.FS   <=== original<br>
>  66M RISC1.FS  <=== my backups<br>
>  66M RISC2.FS<br>
>  66M RISC3.FS<br>
>  65M RISC4.FS<br>
<br>
Unlike the emulator, the real thing does not keep track which sectors<br>
have ever been written to, so if you want to make it simple, you have to<br>
copy the maximum size, which is 64 MB.<br>
<br>
If you would like to shrink your images, you can also add a command to<br>
Kernel.Mod which iterates over the sector map and overwrites every<br>
unused sector with 0 bytes. I believe this is a simple task that you are<br>
capable of doing, certainly easier than doing a full defragmentation.<br>
<br>
Once you ran that command, you can then cut off the image after the last<br>
non-empty sector. And you will notice if you compress the image that it<br>
compresses a lot better (as all those zeroes compress really well).<br>
<br>
> But you are right, it can only be used as OBERON.FS, cannot mount on as<br>
> FAT or EXT4, through USB port. Perhaps if Linux mount people added<br>
> Oberon FS then yes.<br>
<br>
There are efforts by Charles Perkins to add such a driver, you can see<br>
the progress at <<a href="https://github.com/io-core/obfs" rel="noreferrer" target="_blank">https://github.com/io-core/obfs</a>>. I never used it so I<br>
am unsure about the status (whether it even works). When I want to get<br>
all the files in an image to the host (and do not want to use HostFS for<br>
that), I usually copy a file list out of the emulator and feed that to<br>
PCLink to retrieve all the files.<br>
<br>
> I would like to be close to original size, as I never fill the whole<br>
> 64MB FS, but I store it with dd.<br>
<br>
Then probably you should use a different tool :-)<br>
<br>
<a href="https://unix.stackexchange.com/q/416767/330045" rel="noreferrer" target="_blank">https://unix.stackexchange.com/q/416767/330045</a><br>
<br>
<br>
Regards,<br>
<br>
<br>
Michael<br>
--<br>
<a href="mailto:Oberon@lists.inf.ethz.ch" target="_blank">Oberon@lists.inf.ethz.ch</a> mailing list for ETH Oberon and related systems<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/oberon" rel="noreferrer" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/oberon</a><br>
</blockquote></div>