Amiga.org
Amiga computer related discussion => Amiga Hardware Issues and discussion => Topic started by: mackbw on March 10, 2016, 12:16:02 AM
-
I have a technical question that I am hoping someone can help with. I posted it over a week ago in the Amiga Unix forum (original post: Amiga Unix Booting with GVP SCSI II (http://www.amiga.org/forums/showthread.php?t=70588)) Unfortunately, no one has viewed it - which makes it makes it rather difficult to get an answer. However, one of my main questions is not necessarily Unix specific, so I'm hoping someone here may be able to answer that question.
As part of the process to patch the OS to boot, a "Dummy-Handler" is supposed to be added to the Rigid Disk Block with HDToolBox. I have gone through this process once without success. So I'm thinking I'm doing something wrong adding the dummy handler. The only way I'm aware of to add a file to the RDB is by adding it as a "file system" to a particular partition in the HDToolbox. I don't see another way to add a file to the RDB. But something about this doesn't make sense, as isn't all the partition information (including the file system) kept with the partition, the RDB only being a pointer to the partition? Anyway, does anyone know how to add a file / patch to the RDB or have any suggestions?
For those with a more technical knowledge of the RDB, this information may or may not be of help. The Dummy-Handler file is 1,152 bytes in length. It's a binary file (obviously) - the only discernible string in the file is "dos.library." I would be curious to compare this file with the current RDB and exactly what the changes do.
Thanks for looking.
Regards,
Mack
-
Your method for adding the handler to the RDB sounds correct. But the missing piece might be to match the dostype of the partition to the dummy-handler. What that value is, I'm not sure, but I think HDToolbox displays it when you add a filesystem to the RDB. When you set the partition type to custom, it should allow you to enter the dostype as a hex value.
Another possible option: the version of HDToolbox included with OS3.x (it works under OS2.x) actually allows you to directly set a partition type to dostype UNI\01 and make it bootable. Then you can select that partition in the early startup menu (or give it a high boot priority) to boot from it. I ended up partitioning my drive for Amix entirely from AmigaOS. Whether this will still work from the GVP controller is anyone's guess, but I suspect it will be enough to get the kernel booted, and if the kernel has the GVP driver it should be able to take things from there.
-
The only way I'm aware of to add a file to the RDB is by adding it as a "file system" to a particular partition in the HDToolbox. I don't see another way to add a file to the RDB. But something about this doesn't make sense, as isn't all the partition information (including the file system) kept with the partition, the RDB only being a pointer to the partition? Anyway, does anyone know how to add a file / patch to the RDB or have any suggestions?
I'm not sure why HDToolbox calls it a filesystem, because in AmigaOS the file is usually named "Handler". But that is the right place.
While the RDB technically is just the first block, the term is often used for the entire structure. The RDB block points to PART blocks, which are what you refer to as a "pointer to the partition" http://lclevy.free.fr/adflib/adf_info.html#p6 The partition itself is just an area of the hard drive that the file system handler can party on, once it has been loaded and told what area of the disk to use. The partition itself is the same whether you use RDB or mount lists (or crossdos, which I think can mount FAT partitions without either by scanning the PC partition table).
-
So I've figured it out, while at the same time hitting another problem, but I've managed to get things to boot, - so here's the procedure I used / solution for posterity (or for the next time I forget).
I booted off a Workbench 2.1 Disk and had another floppy with HDToolBox and the "Dummy-Handler."
Using HDToolBox (which seemed to automatically recognize my GVP controller. I've heard of some having to go through the shell and call "HDToolbox gvpscsi.device" or some such - since I didn't have to do that, not exactly sure)
In HDToolBox with the appropriate drive selected - click Partition Drive
Select the boot partition, in this case "UNIX_Boot" and then click on the advanced options check box.
Then click on "Change…" (just need this to get this information). (This may be greyed out, but still readable. I originally applied things incorrectly, so this was modifiable as Custom file System was selected. After I applied the "Dummy Handler" correctly, the file system shows "UNI\00" and the identifier is now greyed out, but readable.) For a Unix Boot partition the identifier should be 0x554e4900. Just need this info for adding the handler. Click Cancel to go to the next step.
Click on the "Add/Update" button. In Add/Update click "Add New File System…" It asks for the location/filename of the new file system - for me it was "UTIL: Dummy-Handler", will be different depending on where you have it. Then click on ok.
Next will be a prompt for the DosType and version for the File system. Here I put that identifier that I got earlier, 0x554e4900. (I left the Version and Revision values at 0 as I didn't know what they should be.)
Click OK to add the file system. Then click OK to leave the "Add New File System…" window, and OK again to leave the Partitioning window.
At the Hard drive preparation window - "Save Changes to Drive" should be clickable. Click on this to write the new information to the drive. Then Exit. That should be it.
It never looked like my floppy disk was accessed to read the dummy-handler. However, it did work. I also used a RDB archiver to read the drive before and after I applied the dummy handler, and the RDB was larger after the application.
The mistake I made previously was that I selected "Update File System…" This had me applying the handler to the only file system listed which was the "International (FFS)" file system. I presume this meant that when going to boot the Unix Boot partition - while the information was there, it was under the wrong File System ID. I may have also tried "Add New File System…" but again, not sure what the ID should be - left it the default which would have been the same as the FFS already installed.
So that allowed my Amix Boot partition to boot. Of course now it boots directly into a Kernel Panic, but that's another issue for the thread I originally posted - Booting Amiga Unix on a GVP controller.
Thanks for your helps guys.
Mack
-
The identifier is a 32 bit (4 byte) unsigned integer, usually specified as a 8-digit hexadecimal number with a 0x prefix.
In most cases, the first three bytes are the ASCII representation of some letters while the fourth byte is a low number.
For FFS the letters are DOS (D = 44, O = 4f, S = 53) while the last byte represents the flavour (00 = OFS, 01 = FFS, 03 = FFS INTL, 05 = FFS INTL with DirCache).
In your case it is U= 55, N = 4e, I = 49.
In an AmigaDOS shell window you can use ARexx to convert from hex to ASCII and vice versa:
1> rx "say c2x(UNI)"
554e49
1> rx "say x2c(554e49)"
UNI