How to set up autoboot: Set up the FFS partition which you want to autoboot into. Don't use cylinder zero, as it will be used for the autoboot stuff. Here is an example mountlist entry: DH0: Device = scsi-disk.device FileSystem = l:FastFileSystem Unit = 1 Flags = 1 Surfaces = 8 BlocksPerTrack = 27 Reserved = 2 Interleave = 0 LowCyl = 1 ; HighCyl = 380 Buffers = 30 GlobVec = -1 BufMemType = 1 Mount = 1 DosType = 0x444F5301 StackSize = 4000 # The "Unit" number currently refers to the SCSI target number of the disk device. This must be 1 for the device to be autobootable later. The "Flags" are set to 1 as this turns on the fast "blind" SCSI reads. Note how cylinder 0 is not used. Now you can mount the disk. Assuming scsi-disk.device and the mountlist are both in the current directory, assign devs: there. > assign devs: "" > mount dh0: If the device driver hangs at this point, you have the SCSI device number wrong. Selection timeout is not (currently) implemented, so the computer will wait forever for the drive to respond. If you do an "info" now, the hard disk will probably show as "No disk present" (at least, the ARP info will). Create the file system on the disk like so: > format drive dh0: name "whatever" noicons quick Use the "quick" option... otherwise you will be waiting for the format command to write perfectly useless data all over the disk. If you do an "info" again, the disk should now show as having the appropriate number of megabytes free, and a few blocks used. Next, I suggest copying a bootable floppy onto the hard disk. An unmodified Workbench 1.3 disk will do fine. > copy df0: to dh0: all This should work OK. Now we have to set up the autoboot information on the disk. This necessitates dumping the FFS and the device driver on the disk. All the blocks in the first cylinder, except the first one, are available for this purpose. I suggest dumping the FFS first, starting at block 1. > dumpfile File name? l:fastfilesystem Starting sector number? 1 File length 12248, blocks 1 to 24. Write down the length (12248 bytes) and starting block (1) of the dump. Next, dump the device driver on the disk. I suggest putting it right after the FFS, as its length won't change (but you will want to install changed device drivers now and then). > dumpfile File name? scsi-disk.device Starting sector number? 25 File length 2004, blocks 25 to 29. Again, write down the starting block (25) and length (2004). Now we can create block 0, the data structure from which the bootstrap gets all its information from. Use "edboot" to do this. When first run, "edboot" will notice that no valid block 0 exists yet, and initialize it to defaults. Below is an "edboot" session, consistent with the mountlist entry earlier and the two dumps just done. > edboot Block zero not valid. Initializing defaults. Name of disk [DH0] Name of device driver [scsi-disk.device] Sector number of device driver dump [0] 25 Exact length of device driver [0] 2004 Sector number of FFS code dump [0] 1 Exact length of FFS code [0] 12248 Unit number for OpenDevice [1] Flags for OpenDevice [1] Number of heads [0] 8 Number of sectors per track [0] 27 Reserved blocks at start [2] Lowest cylinder number [0] 1 Highest cylinder number [0] 380 Number of buffers [30] Memory type for buffers [1] MaxTransfer (in bytes) [$7fffffff] $ Boot priority [-1] Note that where "edboot" provided the right defaults, we just pressed RETURN to keep them. Further note that the hard disk name ("DH0") should be entered in all uppercase. Now the disk is set up. We have created all the following: (1) A formatted partition with all the files in it required to boot the system. (2) Valid dumps of the FFS and the device driver which the bootstrap can load. (3) The block zero data structure, telling the bootstrap where to find all this stuff. Note: The bootstrap will just crash if block zero contains invalid data (such as no FFS, no device driver, etc). The objective was saving space, not making it foolproof. The bootstrap will just exit and not mount the hard disk if block zero has not been initialized at all (does not contain the block zero signature in the first 8 bytes). Now you must get the bootstrap to run somehow when the system is booted. If you have an A1000, you can add the file "bootstrap" to your kickstart. No instructions on how to do that just now. If the OS is in ROM in your machine, you can make a minimal hard disk boot disk, containing just the following three files: s/startup-sequence c/automount devs/system-configuration Execute "automount" as the first thing in the startup sequence, and device "DH0" will appear and you can pull the other stuff off there. If DH0: contains ARP commands, you may have to do the following: dh0:c/loadlib dh0:libs/arp.library This is faster than having a floppy based libs: directory with the library in it. You can reboot without the floppy using either of the following methods: (1) Make a recoverable RAM disk (RAD:) with the three boot files in it. (2) Get "ramkick" from the 1.4 Alpha 16 (or higher) release, and use it to install the module "bootstrap". This is untested, as I don't have 1.4 Alpha 16, and therefore don't have "ramkick". BIG, IMPORTANT NOTE: If you get the hard disk to autoboot (by using "bootstrap", either in a kickstart disk or ramkicked) and something else overrides the hard disk boot (like a bootable floppy) it will still automount. Don't run "automount" after the hard disk is already mounted, or things get ugly. In other words, don't boot the "automount" floppy unless it is needed.