In order to autoboot any Amiga hard disk, 3 things are needed.
- A version of Kickstart that supports boot from HD. This means >= Kickstart 1.3.
- A device driver that knows how to speak to the HD controller, such as
scsi.device
.
- A filesystem handler that understands the format of the HD.
I think #1 is simple to understand. This is a function of the Strap
(as in "bootstrap") code in the Kickstart ROM. Earlier versions did not check for the existence of an HD device driver, so it could only boot the machine using the built-in trackdisk.device
- meaning boot from floppy.
For #2, since any device driver on the Amiga is a dynamic library, it can be stored in a ROM or loaded from a boot disk. A non-autoboot HD controller would get the HD device driver off the boot floppy, load it into RAM, and use it to access the HD. Similarly, a HD controller that includes an onboard autoboot ROM does not need a boot floppy. The system recognizes the device driver in the ROM and uses it to boot directly off the HD for Kickstart 1.3 or higher.
In case that is not clear enough pertaining to the A590, it means the A590 can use any option; either load a device driver from a boot floppy for Kickstart 1.2, or load it from onboard autoboot ROM for Kickstart 1.3, or use the device driver already part of the Kickstart 2.0 ROM. The boot code is smart enough to compare version numbers and choose the latest one.
For #3, the setup is similar for the filesystem handler as for the device driver. On the Amiga, filesystems are also dynamic libraries that can reside in ROM or RAM, and can be loaded from any boot drive. So, if your HD needs a filesystem that is disk loaded, it can provide that on the bootable partition. The Amiga recognizes the presence of the filesystem handler on the HD, loads this code first using the device driver, then uses the loaded filesystem to access the files and directories on the HD. This is also how advanced Amiga filesystems, such as PFS3, are loaded during system boot. In cases where the filesystem handler is already in ROM, this step is bypassed.
Again, applying the functionality above to the A590, means that the filesystem can be in ROM or loaded from disk. For Kickstart 1.3, the newer FFS is the one that will be found on the boot partition, so it will be used. For Kickstart 2.0, the ROM FFS is newer, so will supercede the one on the boot partition. If you want to use PFS3 on your A590 so you can stick a bigger HD inside it, then you just install PFS3 onto your new drive's boot partition.
Finally, filesystem handlers tend to be large code that are frequently enhanced. Conversely, a device driver for an HD controller is usually small and prone to minor revisions. Since HD autoboot ROM's also tend to be small, usually around 32KiB, they don't try to include filesystem handlers within them. Better to leave that for the main ROM or disk-loaded so they can afford more space for the code and more flexibility for how the filesystem is loaded.
Amiga's disk subsystem was quite "pluggable" and robust. That's part of the reason it ends up being possible to put modern flash storage devices into old Amigas, and even exchange them among different Amigas without trouble.