10/1/09

MacnuX

I own a Macbook Air, unfortunately, the hard drive failed taking a lot of development stuff with it.

I am gonna replace the HD with some form of solid state disk. At the moment, I am tempted of buying a Compact Flash to PATA replacement, should be 1.8 inch, 5mm high, have a ZIF connector and just place Linux on there. (PATA/ZIF1 seems the 8mm high model, PATA/ZIF2 the 5mm high model, not sure this also makes the connector compatible.)

I guess I have a revision A model, should confirm that. So, 40 or 44 lines ZIF connector? MTRON (MSD-PATA3018-032-ZIF2) seems to work for some, and not for others. Why not try a RunCore Pro Mini ZIF SSD?



Problems, not all confirmed:

  1. Macs boot from NTFS, so I'll guess I'll need an NTFS partion on it with Refit.

  2. SSD doesn't go well with swap disks, since they might trash them by writing too much to it. So there are two options here: A. Do without, which I thought is not very well accepted by the Linux kernel. B. Place the swap partition in ram, which means some serious juggling with the init scripts.

  3. Transfer rates. No idea how fast CF is compared to modern SSDs. I am willing to take a performance hit, since i usually edit code with vi, and compile occassionally, but 10 minutes compile times would be too much for me too.



Anyway, gathering information, so that goes on this blog. At least it won't suffer from HD corruption here.

Bootup keys


  1. Press C during startup: Start up from a bootable CD or DVD, such as the Mac OS X Install disc that came with the computer.
  2. Press D during startup: Start up in Apple Hardware Test (AHT), if the Install DVD 1 is in the computer.
  3. Press Option-Command-P-R until you hear two beeps: Reset NVRAM
  4. Press Option during startup: Starts into Startup Manager, where you can select a Mac OS X volume to start from. Note: Press N to make the the first bootable Network volume appear as well.
  5. Press Eject, F12, or hold the mouse (/trackpad) button: Ejects any removable media, such as an optical disc.
  6. Press N during startup: Attempt to start up from a compatible network server (NetBoot).
  7. Press T during startup: Start up in FireWire Target Disk mode.
  8. Press Shift during startup: Start up in Safe Boot mode and temporarily disable login items.
  9. Press Command-V during startup: Start up in Verbose mode.
  10. Press Command-S during startup: Start up in Single-User mode.
  11. Press Option-N during startup: Start from a NetBoot server using the default boot image


Bootup sequence


  1. Power is turned on.
  2. OF or EFI code is executed.
  3. Hardware information is collected and hardware is initialized.
    Something (usually the OS, but also things like the Apple Hardware Test, etc.) is selected to boot. The user may be prompted to select what to boot.
  4. Control passes to /System/Library/CoreServices/BootX, the boot loader. BootX loads the kernel and also draws the OS badges, if any. This is where I want to have another boot loader.
  5. BootX tries to load a previously cached list of device drivers (created/updated by /usr/sbin/kextcache). Such a cache is of the type mkext and contains the info dictionaries and binary files for multiple kernel extensions. Note that if the mkext cache is corrupt or missing, BootX would look in /System/Library/Extensions for extensions that are needed in the current scenario (as determined by the value of the OSBundleRequired property in the Info.plist file of the extension’s bundle.
  6. The init routine of the kernel is executed. The root device of the booting system is determined. At this point, Firmware is not accessible any more.
    Various Mach/BSD data structures are initialized by the kernel.
  7. The I/O Kit is initialized.
  8. The kernel starts /sbin/mach_init, the Mach service naming (bootstrap) daemon. mach_init maintains mappings between service names and the Mach ports that provide access to those services.


Weirdity, it'll boot FC11 Life just fine from CD, not HD. Normally, a MBA will have a 200MB unused EFI partition. Maybe it just needs an EFI boot loader?

Now getting revision number and hardware checked, also inquiring after hd and ssd replacement by Apple. Guess it'll be too costly.