Working in the Mac world, I sometimes forget how little non-Mac people know about Macs. Even people in IT are surprised to know that Mac OS X Server even exists.
So, there are a few interesting factoids I'd like to share.
Mac OS X is Unix.
To qualify that a little, Mac OS X 10.5 and 10.6 running on Intel Macs is qualified as Unix by the Open Group, the only BSD variant qualified as UNIX03.
This means that Mac OS X is probably the most widely used UNIX in the world. The current Mac userbase is between 30 and 94 million (and the vast majority of these are running 10.5 or higher on Intel Macs). This leads to some interesting conclusions. AFP is probably the most widely used UNIX network file system. HFS+ is probably the most widely used UNIX filesystem.
Mac vs Linux as desktop *Nix.
Estimates of the Linux user-base put it at about 30 million. Mac OS X undoubtedly outnumbers Linux on the desktop, but Linux is still ahead in the server market and probably ahead in the embedded-device/appliance market (despite the success of IOS on iPods, iPads and iPhones).
Macs have Unix tools
There are about 12000 Linux/Unix ports available via Fink. Mac Ports has about 5400. There is some overlap between the two. This compares with about 24000 in Debian.
Mac OS X comes with a large array of standard UNIX tools and FOSS. Mac OS X (the standard version, not the server), comes with bash, tcsh, ksh, ssh, telnet, vnc, ftp, Apache, PHP, Python, BIND, Perl, Ruby, Rails, Kerberos, Postfix, Dovecot, AMaViS, RADIUS, Samba, NFS, X11, gcc, curl, rsync, dtrace, OpenLDAP….
…and CUPS, which is now owned and maintained by Apple, and more.
Macs run Linux.
Linux was first ported to the Mac back in 1997. Debian for PPC Macs was released in 2000. Ports also exist for 68k Macs, and Nubus PPC macs (the first Power Macintosh x100 series). Linux for the PowerPC was first released at the 2.2.x version of the kernel. Current Macs will happily dual (or multi) boot Linux, or run Linux virtualised. It's also possible to run Linux on a Mac, run Mac OS X virtualised under Linux.
Macs have malware.
Malware exists on the Mac. The largest class by numbers is still Office macro viruses. There is a growing number of Trojans (distributed mainly in warez), and web browser (java/flash etc) based malware. The Mac is probably also vulnerable to other application based exploits, like the famous PDF exploit.
Macs also have security software.
Mac OS X has a firewall. Free anti virus is available in the form of clamav, and the frontend ClamXAV. And has been available for many years. Mac OS X Server ships with clamav antivirus since at least 10.3 (don't ask me about 10.2 server, it's too old!).
Macs have multi-button mice
It is a surprisingly common view, that Macs only have single button mice. Multi-button mice have been available for Mac users for 20 odd years. Native support for 2+ buttons and scroll wheels has always been a feature of Mac OS X. I've always used 2 button + scroll wheel mice with my Macs, except for my PowerBook G3 (since it had a built in trackpad). All currently shipping Macs feature multi-'button' and scrolling support, and have done for more than 5 years.
Mac OS X is open
This is an interesting situation. Mac hardware is closed to an extent, and the OS is only designed and licensed to run on Apple hardware. But Mac OS X is Unix, and Unix is a fairly open platform in any flavour. You can install whatever you like, compile what you like, modify and customise a hell of a lot. Nearly all preference/configuration files are in text, or easily convertible to text, and XML formatted. Some of the OS is opensource, although covered by licenses of varying restriction.
The basic BSD framework underlying the OS is called Darwin. The sourcecode is open to read and compile, and to some extent to modify/distribute. Different parts are covered by different licences. Most of the Apple developed components are covered by Apple Public Source License. Apple were releasing ready to install binaries up until Darwin 8 (10.4), but stopped due to limited interest. You can get ready run installs of the Darwin based GNU-Darwin.
Apple developed launchd to replace init/xinit. Basically, launchd is a daemon which starts other daemonised services and agents, both system and user. Originally, it was released under Apple Public Source License, and there was some interest from people such as Ubuntu, however the licence was determined to be too restrictive. Apple has since changed the licence to the Apache License v2 to encourage broader adoption. And, as mentioned, there is CUPS.
Mac OS X and SOE
An interesting feature of Mac OS X, and this comes out of having well defined hardware it runs on, is that you can take a hard drive out of one Mac, and put it in another and it will work (if the computer you are swapping it to meets the minimum system requirements for the OS). There can be some licensing issues with third party software, but by and large it's plug and play. What this means is that half of your SOE is done for you. The OS and drivers is consistent across platforms (different drivers will be used depending on the hardware, but all the drivers are installed and available).
It makes migration a breeze. On top of this, Users accounts are clearly defined. All the users individual settings are in their home folder, a single directory tree, which can be copied between computers and then associated with a log on account. This means you can do cool stuff like keep user accounts on external media, or on a server, and move them between computers.
So you can adopt a fairly radically different approach to SOE builds. All you need to manage is the third party software, which you can do in a variety of ways. You can develop work flows which build an image for deployment, or update a live machine with the software and configuration it needs. You don't need adopt the more conventional approach of identical hardware, single images with OS and sofware which need to be imaged to the hard drive prior to deployment, and centralised, network based, accounts (and all the required hardware to back it up).
I lost the install disks to my 2nd Gen MacBook Pro. I have Mac Mini 10.4.10 install disks, though. So, I decided to use those.
There are several ways to do this. You can install it onto the Mac Mini (or external drive attached to Mac Mini) and then clone it to the MacBook Pro. You can put the MacBook Pro into target disk mode and plug it into the Mac Mini and run the install on the Mac Mini. Or you can modify the grey install disks to work with the MacBook Pro (or any other supported Intel).
After a bit of searching, I found this.
The file you need to edit on the grey install disks is this:
The array is defined towards the end of the file and uses the Model Identifier. In the case of my install disks, the array held one value: 'MacMini2,1'
You need to add to this array (or you can replace the single existing value), the Model Identifier of the Mac you wish to use the grey install disks with.
The way I edited the file, since it is on a DVD-ROM, was to use Disk Utility to restore 'Mac OS X Install Disk 1' to a partition on an external USB drive. This has the advantage of allowing me to use the USB drive to install the OS to the MacBook Pro (and quickly). But you could also make a read/write disk image file from the DVD and edit the file on that, then burn the image to a dual layer DVD (or even use Netboot).
I opened the file using Text Editor, but you could use any text editor you like, or an XML editor, or vi or pico or something.
The text we are looking for is something like:
var hwbeSupportedMachines = ['MacMini1,2'];
What we need to do is edit that line so that it reads like:
var hwbeSupportedMachines = ['MacBookPro2,1','Macmini2,1'];
The easy way to get the Model Identifier (the MacBookPro2,1) bit is to open up terminal and issue:
$ sysctl hw.model
The elements of the array need to be comma separated, and you can add as many as you like. The complete list of Intel Macs supporting 10.4 is:
var hwbeSupportedMachines = ['iMac4,1','iMac4,2','iMac5,1','iMac5,2','iMac6,1','iMac7,1','iMac8,1','MacBook2,1','MacBook1,1','MacBook3,1','MacBookPro1,1','MacBookPro1,2','MacBookPro2,2','MacBookPro2,1','MacBookPro3,1','Macmini1,1','Macmini2,1','MacPro1,1','MacPro2,1'];
If you change the array so it reads as above, you can install on any Intel Mac supporting 10.4. Since I used a 10.4.10 disk as my base, there shouldn't be any issues with installing on a Mac that shipped with 10.4.10 or earlier. If you used an earlier version of 10.4, like 10.4.6 you may run into issues trying it with a Mac which shipped with a later version of 10.4 (eg 10.4.8 or 10.4.10). As far as I know, no Macs require 10.4.11 as a minimum.
I got this list of Model Identifiers, and the minimum OS X version support from everymac.com.
Of course, it is handy to keep something in the script which will explicitly stop you from installing on unsupported models.
So, in the last post I mentioned dealings with the Power Mac and WiFi.
Once I got back, and got a Power Mac, I needed to network it with the Pismo. Since I had AirPort Extreme compatible WiFi cards in both machines (Broadcomm chipset), I decided this would be the way to go. Both machines were running 10.4.5 and AirPort was working as expected. I set up the network (computer to computer) from the Power Mac, and set up internet sharing. I initially ran in to problems because the PMac was still on 10.4.2. There are known issues with this version and 'third party' airport cards. The issues were fixes in 10.4.3.
This allowed me to use the Internet wirelessly from the Pismo by routing through the Power Mac. Very handy. I could also share the better iTunes collection on the Pismo and play it through iTunes on the Power Mac with its better Pro Speakers.
The only down side was that the range was about 3 metres. This meant that it was very slow or even not present, when I had the Pismo in front of the TV. If you recall, this was one of the aims of setting up a WiFi network.
At the moment, the Pismo isn't getting much use, so neither is the WiFi. This is because I have moved all the data over to the Power Mac and use it. The desktop is nicer, because it is faster (slightly), has a better screen (larger and clearer), and much better sound through the Apple Pro Speakers (Harmon Kardon globe type).
What this shows, though, is that it is easy to set up a WiFi network between machines, and get good data rates, even when not using official cards. It was easier with the Power Mac G4 and 10.4 than on the Beige G3 with 10.2.8. I still have to try it with the 7300 and XPostFacto.
Another note, there aren't drivers for Broadcomm under PPC linux. Terron has beta driver for Yellow Dog 4.1. I don't know how it works generally, though.
This is all about my on going fumblings with hardware. Regular entries should provide an indication of the depths of my obsession.
|<< <||> >>|