!IscaFS 0.18 is available - now with ext4 support
Marco Baye (13880) 4 posts |
Hi everyone! IscaFS is a RISC OS application to grant read-only access to ext2/ext3 filesystems, for example hard disc partitions or floppy discs created by ARMLinux. It was originally written by Phil Norman and in 2004 I fixed some bugs in it. A few days ago, in a fit of insanity, I added support for the ext4 file system to it and released version 0.18 – the source code is available at - it runs on my old RiscPC, but AFAIK the code is 32-bit-safe Please test it and tell me if you find any problems with it. Have fun, |
Paolo Fabio Zaino (28) 1895 posts |
Nice work Marco! Thanks a lot :) |
Matthew Phillips (473) 722 posts |
A few times over the last few years I have wished IscaFS could be brought up to date. In theory I have the skills necessary to do the job, but I was never going to find the time. I used to use it regularly on my Risc PC 20 years ago with an early ArmLinux. It’s great to see this new update – thanks Marco! |
André Timmermans (100) 656 posts |
I was a little curious since the 4té2 comes with a partitionned SSD composed of a small boot fat32 partion, an ext4 partition and a fat32 partition, so I tried: PartTool display SCSI 4 and it reported: Error: Second partition is not a linux partition table |
Raik (463) 2067 posts |
I have try to read my Ti Linux partition(ext4 on adfs 4) but I can not create DummyImage with GetPartns (Aemulor)… same error. |
Marco Baye (13880) 4 posts |
“Error: Second partition is not a linux partition table” Yes, at the moment PartTool only supports the FileCore/ARMLinux “partition scheme” where a FileCore file system is at the start of the disc and the actual partition table is located after it, pointed to by the “Non-ADFS-partition descriptor” in the boot block of the FileCore partition. I’ll check if I can add support for the PC/BIOS partition scheme to PartTool. In the meantime, if you want to test IscaFS, you’ll have to build your pseudo image files in a hex editor (the format is explained in the docs). The application !PartMan can read PC/BIOS partition tables and display the sector numbers. |
Marco Baye (13880) 4 posts |
I made a new version of PartTool, see here:
This might do the trick for SCSIFS, IDEFS and whatnot (please test), but with ADFS on my RO 3.7 RiscPC there is still a problem left: If the hard disc does not start with a FileCore partition, ADFS does not know the correct numbers for sectors-per-track and heads (it returns a disc descriptor with both fields set to 1), and unfortunately it also does not use LBA addressing, because that flag is only stored in the boot block at &c00.
With these two changes, I succeeded in accessing various ext3 file systems on a ~100G hard disc that did not have a FileCore partition at the beginning. But I’m somewhat reluctant to put the two workarounds mentioned above in the IscaFS module, because the “correct” way to solve this should be one of:
|
Jon Abbott (1421) 2654 posts |
If you take a look at Partition Manager you’ll see how to query the drive directly. The functions you’ll want are: IDEFS and SCSIFS are similarly low-level if you look at their FS file, you’ll want to look at FNadd_drives_IDEFS/SCSIFS. IDEFS uses DiscOp 3 to perform the IDENTIFY and SCSIFS uses the SCSI command REPORT_LUNS before calling FNadd_lun_SCSIFS to query the device via SCSI_Initialise, issuing START_UNIT etc if the drive isn’t ready. |
Marco Baye (13880) 4 posts |
Thanks, I’ll have a look. |