English Amiga Board


Go Back   English Amiga Board > Coders > Coders. System

 
 
Thread Tools
Old 18 February 2013, 19:05   #1
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
FFS, RDB and autobooting questions

Related to my project to create bootable CDs for SCSI-based Amigas, I want to experiment with building CD images which have a patched read-only version of FastFileSystem in the RDB.

The patched FFS always treats the partition as write-protected. That helps because some/most CD drive and SCSI device driver combinations don't report that the partition is write-protected in response to TD_PROTSTATUS commands. The result of that being, with the original FFS if a program tries to write to the disk you get a write error instead of a disk write-protected error.

Actually patching FFS to force write-protection is no problem and I can post details of which bytes to patch if anyone's interested. But I have some questions about how well that's likely to work:
  • I will initially be installing a patched FFS version 40.1 to the RDB, since that is compatible with Kickstart 1.3. For machines with Kickstart 3.1 which have FFS 40.1 in ROM, will the RDB FFS always be loaded? Or does whether the same-as-the-ROM-version RDB FFS is loaded depend on the SCSI boot ROM?
  • If there is a later FFS version in ROM (e.g. if someone has built their own custom Kickstart or maybe with AmigaOS 3.9), will the earlier RDB FFS be used for the partition?
  • If the RDB FFS is loaded, does it replace the ROM version in the filesystem.resource? If it does, then any other drives which are mounted may end up using the read-only FFS by mistake.
A possible work-around for those issues might be to apply another patch to the RDB FFS, to change the DosType it uses. But that could make building the CD image in the first place tricky, unless it's simply a matter of changing the DOS\0 signature at the start of the partition to something else.
mark_k is offline  
Old 19 February 2013, 13:49   #2
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 6,999
The key to file systems is the dostype. When loading a file system from RDB the driver checks if the dostype is already present in filesystem.resource. If not, it adds it. If it is already present, the version is checked and if the RDB version is higher than the resoruce version, it is replaced. It shouldn't be replaced if the version is equal, but this depends on the driver, I suppose.

When the partitions are mounted, the file system with the corresponding dostype in filesystem.resource is used.

So if your patched FFS is the highest version, it is used for all partitions with this dostype.
thomas is online now  
Old 19 February 2013, 13:59   #3
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Thanks. The exact behaviour might depend on the SCSI controller's boot ROM and Kickstart version too.

I think changing the DosType is the only solution which wouldn't cause problems for other really-writeable partitions, which could end up using the patched FFS by mistake. Faking a later FFS version would have the same issues. While it's slightly less elegant, I may just settle for adding a Lock SYS: ON command in the startup-sequence.
mark_k is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Rdb & Mbr Arnie support.WinUAE 3 16 March 2011 20:25
v2.1.0 VHD RDB non-writable Maccara support.WinUAE 3 15 May 2010 08:07
RDB-Salv vandam request.Apps 9 19 July 2006 15:06
create autobooting hdf images from games lostfriend New to Emulation or Amiga scene 4 28 February 2006 12:50
HDToolBox and RDB hardfiles evilrich support.WinUAE 2 06 December 2003 15:31

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:32.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.06552 seconds with 15 queries