Friday, December 19, 2008
The SheepShaver Chronicles, Part 4
Blog Entry #131
In the previous entry, we used a volume created by OS X's Disk Utility application to import a System Folder into a SheepShaver emulated environment; we subsequently copied the System Folder to a SheepShaverGUI-created volume to give a disk that (initial crashes notwithstanding) SheepShaver will boot from. We can use the same copy-from-a-Disk-Utility-volume approach to place additional files/folders and applications on the new startup disk.
My old System Folder contains about 65 MB of stuff that was not originally present on my G3 iMac's hard disk - extensions, preference files/folders, etc. - and that consequently may or may not interfere with the (re)installation of other applications on the Classic HD disk. It would clearly be better if I could somehow equip Classic HD with my G3 iMac's original Macintosh HD root volume; we saw two entries ago that I can't do this with my G3 iMac's Software Install CD, but I'm gratified to report that I can do so via my G3 iMac's Software Restore CD.
In this post, we'll go through a modified version of a procedure submitted by "Alex" on this feedback/forum page at the Accelerate Your Mac Web site for putting a virgin Macintosh HD volume on a SheepShaverGUI disk. Here's what Alex has to say:
SheepShaver will boot using the G4 Software Restore CD. The only problem is that the Software Restore installer will not run because it does not recognize the Intel Mac as G4 hardware. So this is what I did as a workaround:We'll see below that Alex's procedure is more complicated than it needs to be.
Once SheepShaver has booted from the G4 Software Restore CD, double-click on the CD and open the "Configurations" folder. Copy the "Power Mac G4 HD.img" file to the OS 9 desktop.
Now launch the "Disk Copy" utility found within the "Utilities" folder on the G4 Software Restore CD. Drag and drop the disk image onto the Disk Copy window to mount the contents. Once the "Macintosh HD" contents have been mounted, select all the contents of the mounted volume and copy them to the 500-MB volume that was created through the SheepShaverGUI program. This will give you a clean and "blessed" System Folder and system applications.
Now quit Disk Copy and go to the Apple menu. Launch the "Startup Disk" control panel and select the 500-MB volume to be the startup disk. Close the control panel and click on the "Special" file menu and restart OS 9.
Using the SheepShaverGUI application, I overwrite the Classic HD volume with a new 2-GB Classic HD volume, which I again store in the Unix /Volumes directory; I leave the Mac OS ROM file in the Unix /System directory; lastly, I stick with 256 MB of RAM and a 1024 × 768 window for SheepShaver.
I insert my G3 iMac's Software Restore CD into my Intel Mac's optical drive; when the "iMac Restore CD" icon appears on the desktop, I launch SheepShaver from within the SheepShaverGUI program. As for the Software Install CD, SheepShaver uneventfully boots from the Software Restore CD; I am again prompted to name and initialize my new SheepShaverGUI disk, and I do so. The Software Restore desktop shows disk icons for the iMac Restore CD, Classic HD, and the Unix interface (a Trash icon is also present, of course). A 370 × 260 iMac Restore CD window is also open on the desktop; I scroll down to the bottom of the window and open the Configurations folder in the lower-left-hand corner.
The Configurations folder contains two files: (1) an iMac HD.img read-only disk image
(analogous to Alex's Power Mac G4 HD.img file) and (2) an iMac HD readme SimpleText document. An entire hard disk's worth of stuff is packed into the iMac HD.img file; to mount its contents on the Software Restore desktop via the CD's Disk Copy utility, it is only necessary to double-click the iMac HD.img icon.
(FYI: An attempt to copy iMac HD.img to the Software Restore desktop threw the following error:
I was able to copy iMac HD.img to the Classic HD disk and then mount its contents on the Software Restore desktop via a Disk Copy window per Alex's description, but again, it's not necessary to do this.)
Double-clicking the iMac HD.img icon places (after a few minutes for checksum verification)
(a) a Macintosh HD disk and
(b) an accompanying 366 × 324 opened Macintosh HD window, plus
(c-e) Browse the Internet, Mail, and QuickTime Player aliases (the contents of Macintosh HD's invisible Desktop Folder)
on the Software Restore desktop. Here's the Macintosh HD Get Info ⇒ General Information window:
The Macintosh HD disk holds
(1-8) 8 folders: Apple Extras, Applications, Assistants, Internet, Mac OS Read Me Files, System Folder, Utilities, and Web Pages; and
(9) an iMac Read Me SimpleText read-only document.
I next copy the Macintosh HD contents (including the desktop aliases) to the Classic HD disk - this takes 20-25 minutes.
Alex states that he is able to switch the booting volume from the Software Restore CD to the SheepShaverGUI disk via the Startup Disk control panel in the CD's System Folder; in contrast, Ronald P. Regensburg in the Netherlands reports,
The Startup Disk control panel is non-functional in SheepShaver, trying to use it may cause SheepShaver to crash,and this is what I observe on my computer (actually, I find that "trying to use [the Startup Disk control panel] will absolutely, positively cause SheepShaver to crash" is more like it, even if the SheepShaver RAM is pushed up to 512 MB). Instead, I go to the SheepShaver Special menu and simply Restart the emulated environment; the following alert( ) pops up
(I click the OK button - this message is not generated by subsequent boots) but otherwise SheepShaver smoothly boots from the Classic HD disk. Here's what we've got for the SheepShaver Mac OS 8.6 desktop:
In summary, to make your original Macintosh HD volume the SheepShaver booting volume:
(1) Unpack the iMac HD.img or corresponding file on the Software Restore desktop*.
(2) Copy the Macintosh HD contents to your SheepShaverGUI volume.
(3) Restart SheepShaver.
*Alternatively, the disk image file can be unpacked on the OS X desktop with OS X's DiskImageMounter application; its contents can then be brought into the emulated environment via a Disk Utility volume.
Besides the Mac OS 8.6 system software, the Classic HD disk now holds, inter alia, Adobe Acrobat Reader 3.01, AppleWorks 5, Internet Explorer 4.5, Outlook Express 4.5, Quicken Deluxe 98, QuickTime Player 4.0.1, and Stuffit Expander 5.1.4.
In Part 1 of this series, I gave you my goals vis-à-vis getting involved with SheepShaver in the first place; now that we have SheepShaver up and running, I'll tell you how well I met those goals in the next entry.
Thursday, December 11, 2008
The SheepShaver Chronicles, Part 3
Blog Entry #130
Getting system software onto the virtual hard disk (cont.)
As noted by Rich Trouton in his "Classic on Intel Macs, courtesy of SheepShaver" article at TheAppleBlog, SheepShaver specifically emulates a 100-MHz PowerPC G4 processor in a Power Macintosh 9500 (an odd combination of features given that the Power Macintosh 9500 had a PowerPC 604 processor, which predates even the G3 processor as well as its G4 successor):
So if once upon a time you had bought a Power Macintosh 9500 or a G4 iMac, would the Software Install discs for these computers install system software on a SheepShaverGUI volume? Maybe - I don't know.
In any case, we saw in the previous post that the Mac OS Install program on the Software Install CD for my G3 iMac definitely will not install Mac OS 8.6 on a SheepShaverGUI volume, for whatever reason. In a related effort, an attempt to copy the Software Install System Folder to the Classic HD disk led to a fiasco of sorts; actually, the copying part went OK, but...
(a) To switch the booting volume from the Software Install CD to the System Folder-containing Classic HD disk, I go to the Control Panels folder under the SheepShaver Apple menu and attempt to open the Startup Disk control panel: this induces a SheepShaver crash.
(b) I relaunch SheepShaver from within the SheepShaverGUI application (with the Volumes tab's Boot From control again set to Any); the following error message pops up:
Clicking the Restart button restarts SheepShaver and pops up the same error message, clicking the Restart button on the second error box restarts SheepShaver and pops up the same error message, etc.; to get out of this cyclical situation, it is necessary to force a quit (select Force Quit... under the OS X Apple menu or type Command-Option-Esc) of both the SheepShaverGUI and SheepShaver programs.
So we're going to have to get system software for the Classic HD disk from another source. Shortly before my G3 iMac crashed and burned in late 2001, I was able to back up (burn to a couple of CDs) the entire contents of its hard disk; these contents include an intact System Folder. Let's put this System Folder on the Classic HD disk and then see if SheepShaver will boot from it, shall we?
In theory, the simplest way to bring my old System Folder into the SheepShaver environment would be to
(a) copy the System Folder to my Intel Mac's root volume, Macintosh HD, and then
(b) use the SheepShaver desktop's Unix disk - the SheepShaver/OS X interface point, which we set (with the SheepShaverGUI Volumes tab's Unix Root field) to the root directory in the previous post - to access it via the /System Folder directory pathway*.
In practice, however, SheepShaver does not recognize the System Folder when I do this; specifically, the System Folder does not show up in the / directory. Regarding my Mac archival materials having a Classic origin, I find that, in general, the SheepShaver Unix disk interface will recognize data files but not executable files (applications) nor folders.
*The / and Macintosh HD directories are in fact identical, as can be shown by executing ls / and ls /Volumes/"Macintosh HD" Unix commands with OS X's Terminal utility.
Disk Utility to the rescue
In his "Running Classic Software on an Intel Mac" article, Charles Ross reports that OS X's Disk Utility application can be used to create startup disks for SheepShaver. In my experience, however, SheepShaver will not boot from a System Folder-containing Disk Utility volume; when I try this, SheepShaver stalls and displays a little floppy disk icon with a blinking question mark in the middle of its window. On the other hand, Disk Utility disk images are indeed useful tools for importing files and folders into the SheepShaver environment - they're much more reliable in this regard than is the Unix disk interface.
Creating an empty disk image/volume with Disk Utility is quite simple:
(1) Launch Disk Utility and click the New Image icon in the Disk Utility window toolbar:
(2) This drops down a pane in which various parameters for the disk image and the volume it maps onto are set:
Per the image above:
• Clicking the Create button will place an import.dmg disk image file in Macintosh HD and a corresponding ImportVolume volume on the OS X desktop.
• We'll charge the disk image/volume with a System Folder having a size of about 260 MB, so I've changed the Volume Size: control from its default option, 100 MB, to 500 MB; this causes the Partitions: control to change from its default option, Single partition - Apple Partition Map, to Hard disk.
• I've left the Volume Format: control at its default option, Mac OS Extended (journaled); the Mac OS Extended and Mac OS Standard options are also OK for this control.
Adding the G3 iMac System Folder, or any other file/folder, to the disk image/volume is now a simple matter of dragging it into the ImportVolume volume.
We can straightforwardly bring the System Folder-containing disk image/volume into the SheepShaver environment as follows:
(1) Launch SheepShaverGUI and then click the Volumes tab's Add button.
(2) An Add Volume window opens via which both import.dmg and ImportVolume can be accessed; somewhat strangely, only import.dmg can be 'read' by SheepShaver (**vide infra).
(a) In the root directory Files list, select import.dmg.
(b) Click the Add Volume OK button to finish up and return to the SheepShaverGUI Volumes tab, whose volume menu now lists /Volumes/Classic HD (the volume we created in the previous post) and /import.dmg.
(3) Booting from the Software Install CD, click the SheepShaverGUI Start button. The Software Install desktop will show disk icons for the iMac Install CD, ImportVolume, Classic HD, and the Unix interface (import.dmg does not appear on the desktop).
(4) Double-click/open ImportVolume: you'll see the System Folder and may also see a .fseventsd folder, a .Trashes folder, and a .com.apple.timemachine.suppo#18 file (I have no idea what this other stuff is).
As noted above, SheepShaver will not boot from the ImportVolume disk, so:
• Copy the System Folder to the Classic HD disk (which is currently empty; recall that we initialized/erased it previously).
• An attempt to switch the booting volume from the Software Install CD to the System Folder-containing Classic HD disk via the Startup Disk control panel again triggers a SheepShaver crash. Alternatively, go to the Special menu and try to Restart the emulated environment; this also causes SheepShaver to crash on my computer - arrgghhh - but generates the dialog box below:
When I click the Relaunch button, SheepShaver smoothly (and from this point on, reproducibly) boots from the Classic HD disk - success!
**FYI: Here's what happens when I try to bring /Volumes/ImportVolume/ into the SheepShaver environment:
0K?? I type ImportVolume into the Name: field and click the Initialize button, popping up the "Initializing will erase all information on this disk" box; clicking the latter box's Continue button generates the following alert( ):
I click the OK button; ImportVolume is not mounted on the Software Install desktop.
But perhaps you don't have an appropriate System Folder lying about. In the next entry, I'll show you a better and more interesting way to put system software on a SheepShaverGUI volume.
Tuesday, December 02, 2008
The SheepShaver Chronicles, Part 2
Blog Entry #129
Let's make a hard disk
With a "new world" ROM file now in hand, it's time to get the SheepShaver show on the road. Our next task is to create a virtual hard disk: in theory, we could do this via either the SheepShaverGUI application or OS X's Disk Utility application; in practice, we'll exercise the former option as my attempts to get SheepShaver to boot from a Disk Utility-created volume have been uniformly unsuccessful.
So, launch the SheepShaverGUI application by double-clicking its icon, and then click the Volumes tab (if it's not already open).
Click the Create... button; this opens a Create Hardfile window in which we'll (a) choose a location for our virtual hard disk, (b) set its size, and (c) give it a name.
(a) Does it matter where you locate the virtual hard disk? Not really. But the logical place to put it would be in the Unix Volumes directory, so in the Create Hardfile Directories list on the left-hand side, scroll down to the Volumes/ option and double-click it.
(b) You've got plenty of hard disk space on your Intel Mac, right? I encourage you to give as much as 2 GB of space to the virtual hard disk - I find that SheepShaver can crash chronically upon attempting to boot from an almost-full volume. (Regarding byte prefixes, I trust you know that kilo-, mega-, giga-, and tera- do not have standard metric definitions - e.g., 1 GB is not 109 bytes - but have slightly different definitions reflecting the base-2 nature of digital data: 1 MB is 1024 (210) KB, 1 GB is 1024 MB, etc.)
(c) We'll name the virtual hard disk Classic HD.
Click the Create Hardfile OK button to finish up; this returns us to the SheepShaverGUI Volumes tab:
(SheepShaverGUI volumes may not seem to be genuine volumes in the sense that they do not show up in Disk Utility's "disk, volume, or image" list and would appear as "plain text" files if saved in a more accessible location, e.g., in the Documents folder, but they are indeed volumes, as we shall see.)
Before moving on: the Volumes tab's Unix Root field sets the interface point between the emulated environment and the 'real' (Intel/OS X) environment; contra what a number of SheepShaver tutorials will tell you, this field can be left alone, i.e., at the / (root) directory. We'll discuss moving files/folders back and forth between the emulated and real environments later.
The logical place to put the ROM file is in the Unix System directory. You'll need to have "administrator privileges" on your computer to move the ROM file into your hard disk's System folder; the confirm( )-like box below pops up:
Click the Authenticate button. Another box will pop up asking you for your administrator password: type it in and click the OK button, and you're good to go.
To point SheepShaver to the ROM file:
(1) Open the SheepShaverGUI Memory/Misc tab.
(2) Click the Browse... button to the right of the ROM File field - this opens a Browse file window.
(3) In the Browse file Directories list, double-click the System/ option.
(4) Select the ROM file in the Files list on the right-hand side and then click the OK button.
This brings us back to the Memory/Misc tab
in which we also allot the amount of RAM that SheepShaver will use in running the emulated environment; as shown above, I recommend a RAM size of 256 MB.
Other SheepShaverGUI parameters
• À la a normal application, SheepShaver displays its Classic Mac environment in a window, whose dimensions can be set via the SheepShaverGUI Graphics/Sound tab:
The Width and Height fields respectively set the width and height in pixels of the SheepShaver window; you can set these fields independently and (within reason) even input custom numbers into them - I myself prefer a 'traditional' 1024 × 768 window. (The Video Type control can be toggled to a Fullscreen option for creating a 'maximized' SheepShaver window that covers the entire screen, but I discommend doing this.)
• Contra the "Running Classic Software on an Intel Mac" article cited in the previous post, I find that it is not necessary to track down a keycodes file and point SheepShaver thereto via the SheepShaverGUI Keyboard/Mouse tab, which can be left alone.
• I'll briefly discuss my attempts to connect SheepShaver to the Internet via the SheepShaverGUI Serial/Network tab in a subsequent post.
Getting system software onto the virtual hard disk
We are now ready to install Mac OS 8.6 onto the Classic HD volume. I insert the Software Install disc into my Intel Mac's optical drive; when the "iMac Install CD" icon appears on the desktop, I click the Start button in the bottom-left-hand corner of the SheepShaverGUI window. SheepShaver uneventfully boots from the Software Install disc (FYI: the SheepShaverGUI Volumes tab's Boot From control (below the Unix Root field) can be left at Any for this operation - it's not necessary to toggle it to the CD-ROM option). SheepShaver does not initially recognize the Classic HD volume:
Type Classic HD into the Name: field and click the Initialize button. The box below then pops up - click its Continue button to finish the booting process.
Here's what we've got for the SheepShaver Software Install desktop:
So far, so good. But attempting to launch the Mac OS Install application pops up the following alert( ):
I see that this also happened to a David Nethery in the comment thread of the "Running Classic Software on an Intel Mac" article; a subsequent commenter, Michael Ojaste, identifies the problem:
Most likely the OS 8.5 disk you have was provided to you with the purchase of a new Mac. Mac OS install discs are sometimes encoded to work on ONLY the series of Macs they ship with. The installer will not let you install the OS on an iMac lets say if the OS disc shipped with a Blue and White G3. You need a clean store-bought full install of the OS or a disk installer that does not have that limitation.So it seems that getting Mac OS 8.6 onto the Classic HD disk will require the use of an OS 8.6 'retail package' installation disc. Oh dear, what are we going to do? Tune in to our next episode to find out.