Amiga 1200: Installing OS 3.9 from USB
Not having had an Amiga when younger, I'm completely foreign to the basics. Due to this, I've managed to make a dog's breakfast of the main hard disk on my Amiga 1200. I had installed software from left, right and center and have started to have random issues. It got to the point where AmiDock couldn't find a correctly versioned library and AWeb just wouldn't load.
Due to all of the above, and my new understanding of the directory structure and basic OS layout, my weekend task was to completely rebuild the Amiga 1200's CF HD from scratch. I didn't want to cheat either... so I attempted to do it without using WinUAE to build the base image.
TL;DR: For those of you who just want to get something done... scroll down to the Amiga 911 Maker section. The first two sections are just me ranting and learning and breaking things. In the end, if I'd just used the Maker and built the disk I would've had the system up an running in an hour!
Bootdisk required - Amiga911
I needed USB to be available when my Amiga booted, the CD-ROM drive that I had was an external IDE boxed unit and I'd previously installed Poseidon with my Rapid Road USB card. After a little searching, I came across the Amiga911 Emergency Boot Disks. Unfortunately, the chicken-vs-egg scenario occurs straight away as I needed a bootable Amiga to be able to write a bootable floppy image! Fortunately, I did still have a bootable Amiga and managed to get to a shell to burn ADF images.
Glancing over the Amiga911 site, I chose the first basic disk image which included the Poseidon USB stack. Writing it to a spare DD floppy using adf2disk was easy enough. Unfortunately, upon boot I was presented with Software Failure; ramlib - Program failed (error #80000004). Wait for disk activity to finish.
I've dealt with this before: the reason for this error is that I have Kickstart 3.X ROMs from Cloanto and these need a specific library to be installed on the boot partition library folder. Instead of obtaining the library, I switched to a spare set of Kickstart 3.1 ROMs and managed to get further. Before I continue the saga, a quick note on ROMs: stock 3.1 ROMs are 1 pin shorter than the Cloanto versions. These need to be aligned to the RIGHT of the socket. ROM 2 is at the top, ROM 1 underneath. It is a fatal mistake to left-align them! i.e. make sure there is a spare pin on the left-hand side of the socket, as per below.
Where was I?... Oh yeah, I could now boot into the Amiga911 Emergency Disk! Progress was halted as I was quickly warned that I needed a real Workbench disk to proceed. I didn't have one in the flesh, so I had to revert back to my main partition to create one. Of course, the main partition would no longer boot as it seemed to expect the 3.X Kickstart ROM. I swapped them back in ... bending pins and putting them in the wrong order. Finally... after 3 failed boots (black screens) I was back at my crappy workbench. I wrote the Workbench disk to a spare DD floppy.
At this point I decided to actually copy the 3.X ROM libraries required to the Amiga911 Emergency Boot Disk so it would boot... that way I wouldn't have to swap the ROMs again. The library in question was workbench.library as mentioned on Cloanto's Site. Whilst trying to copy this over to the Amiga911 disk, I initially thought I was in trouble... the only file showing on the burnt floppy was an Activate Amiga911 executable. My brain then thought magic happened on boot and that everything was in compressed archives that got decompressed during startup. This actually is the case, but there are still base system files that need to be executed first. Of course, I wasn't showing all files and initially couldn't see them. After this I managed to find the Libs folder and copied the relevant workbench.library to it.
It then booted! A few presses of enter got me to a prompt asking for the workbench disk. I swapped to the disk I'd burnt earlier (note that this is the wbench image, not the install image) and ... upon 'press any key' it told me it wasn't a proper workbench disk. On second try, it worked. Seems I hadn't waited long enough the the disk poller to unmount the boot disk and mount the workbench disk.
Amiga911 then copied a whole bunch of files off the workbench disk and asked me to put the Amiga911 disk back in... making sure it was write enabled. I did as asked, this time with an obligatory 5 second pause between removal/insertion/keypress. The installation process then stripped hunks... I giggled. It seemed to be building a compressed system image on the floppy. The compression process then failed with a crappy write error (you could hear it coming by the repetitive noises the floppy drive was making)... I wonder if this was because I put a library on the disk that took up too much space? Funny thing was that the Amiga911 script considered the process a success... I don't think it correctly read the return code from the LZX utliity!
Either way, I let it finish and the rebooted the machine... it seemed to get quite a way but then bombed out with just a Workbench Screen title bar and no disk activity. So. Back to the start. I went through the process again with a newer DD floppy (yes, I managed to acquire a fresh box of floppies!) and it all worked. The disk was written. I then copied the workbench.library from my OS 3.9 partition to the floppy and restarted.
I was presented with an invalid library message and a hung screen.... no workbench! Yey. I attempted to use AmiKick to get the workbench.library from my 3.1 KickStart ROM, but this didn't help either. So... back to kickstart 3.1. The boot disk is built from Workbench 3.1, so using the 3.9 library was (in hindsight) an obvious mistake. It turns out that you can get the relevant 3.1 disks from Cloanto if you have a valid serial number and you register... I've since done this and might try this method again later just for shits and giggles!
Back to the main task, I chose to downgrade back to 3.1 to be able to continue. After another dangerous ROM swap, I had the Amiga911 disk booting. Turns out the base Amiga911 disk doesn't contain the drivers for my USB card though! I searched my OS3.9 disk and copied the rapidroadrcusb driver to the floppy. I also then removed the drivers that I didn't need. At this point, I was really starting to wonder if all of this effort was going to pay off! Upon reboot, I manually started the USB Stack (check the Tools menu in Workbench) and my USB Key appeared on the desktop. Ok... nearly there... I would also have to install AmiCDFS at this point.
And so I did that... I dropped the files from AmiCDFS (there's no installer) into the relevant locations on the floppy disk... watching it fill up... I think I had around 40kb free in the end. After another reboot, and a manual USB stack start, I had a frozen workbench. Oh joy.
This has to be the equivalent of DLL-hell in windows. I am sure all of these 40-something versions on libraries mean something... I mean... they could be decades apart and completely incompatible. At this point I'd realised I made a stupid executive decision when installing AmiCDFS: there was already a CD0 on the Amiga911 disk in Devs/DOSDrivers and I left it there... for some reason I thought it would be ok. I checked the files again and realised that the CD0 icon on the floppy was the old driver from the floppy, not the driver from the AmiCDFS archive. I re-copied this into Devs/DOSDrivers from the AmiCDFS archive and rebooted. After a reboot, I heard the CD spin up... but no icon on the workbench. I unplugged and re-plugged the CD Drive and ... SUCCESS!
So, at that point I had a USB stack running from this disk... from there I needed to actually install Amiga OS 3.9. Before doing so, I used SFSFormat and wiped the main OS partition that had supported me up to this point... no turning back now!
I had booted off the floppy, so the OS disk wasn't needed and the format went fine. Trying to then run the OS 3.9 Installer off the CD presented me with "Could not load required libraries." What the hell? All this way just to realise that the boot disk doesn't have the right files to allow the OS 3.9 Installer to function? I suppose that's why there is another disk available called the OS 3.9 Emergency Disk II? I seem to have gotten this far, on my own, but for no apparent point as there's another ready-to-roll disk that'll work better.
(Hindsight: That "Could not load required libraries." error was actually because of the Kickstart 3.X ROM!)
Using the Emergency Boot Disk II
Back to square one, I wrote the ADF for this disk to a new floppy. After a reboot it told me that the disk needed to be activated and that this had to be done from a standard boot and not whilst booting this emergency disk. So, back to the Amiga911 with USB floppy that I'd built above.
I swapped the new disk back in and then ran the activation program. It brought up the familiar console screen and told me to make sure that I had an Amiga OS 3.9 CD mounted. This was the case, so I whacked enter. I was then presented with errors...
Turns out that the keyfile for LZX is not on the Amiga911 boot disk. Fortunately, LZX has been freeware for a long time and you can get the licence file from here. Once back in Workbench, I copied it to the Ramdisk:System/System/L directory. Trying again... the disk built! Of course... it had the wrong USB drivers. I did the same steps as above and put the correct drivers in and AmiCDFS. On a reboot, the machine actually booted! Now, this was built off an OS3.9 boot image, so I swapped my Kickstart 3.X ROMs back in. Why not? OS3.9 is correctly supported!
After a reboot, I actually successfully installed Amiga OS 3.9 on my main CF card. It rebooted and all was OK! I then tried to install Boing Bag 1 and got all sorts of errors. Initially it was due to "failed execution 3" and then "Could not load workbench details". Both of these errors indicated a broken "installer". I replaced it with Installer-43_3 and then InstallerNG, but nothing worked... I couldn't complete the installation of Boing Bag 1.
After a little more searching, I realised that I'd put in all this effort for nothing. Amiga 911 actually comes with an Amiga911 Maker which will allow you to configure your boot disk parameters and then write a totally targeted boot disk for your machine!
Amiga 911 Maker
This application is very easy to use and provides a step-by-step GUI for building your boot disk. I had troubles using it with the Kickstart 3.X ROMs, but that could have been due to a broken base OS install. I do admit though, with the same install but with Kickstart 3.1 ROMs, the application worked flawlessly. I'm still trying to work out why that occurs!
Anyway, step through the application and configure your disk. The questions are all self-explanatory and the processes are numbered. You will need the Amiga OS 3.9 CD mounted to build a boot disk. At the end, slap in a blank or erasable DD floppy and write your disk.
After configuring, I rebooted my machine with the new disk and everything loaded flawlessly! A little painful after the effort spent above, but hey, we're getting somewhere. OS 3.9 installed perfectly and then all Boing Bag's (nearly) worked a treat! I haven't tried to switch back to the 3.X ROMs yet.
A quick note on Boing Bag 3&4
After finally getting 1 and 2 installed, I ran into an error with the combined 3&4 package. If I selected the A1200 as the model, I was presented with an error indicating that No help text specified in line 835. I extracted and re-extracted using both LHA and UNARC, but to no avail... the error kept appearing.
I dug into the files and realised that the Install file was nothing more than a script. The language was actually quite clean and tidy, based on indentation and parenthesis. I scrolled down to 835 and saw an askchoice which was meant to present a prompt on whether or not I wanted to update scsi.device. The askchoice above had an extra line in the definition providing the 'help' text whereas this one didn't. I therefore tried to add it via the ed command. Scrolling down to the line took a while, adding the line was easy, so was saving... but then I got weirder errors from the installer. It seems that ED truncates lines that are too long and does damage to the file! Instead I cheated and edited the file on Notepad++ on windows.
Fixing this line allowed me to install the Boing Bag!
Further software to install
I want to try ClassicWB. There's a specific distro for the A1200 running OS3.9. I assume this installs updated icons... if not, then maybe NewIcons or something similar.