Friday, December 31, 2010

Mac Open Firmware Fun

Mac OS X Open Firmware

Open Firmware (IEEE-1275 Standard for Boot Firmware: Core Requirements and Practices) is a non-proprietary, platform (CPU and system) independent boot firmware. Similar to a PC's BIOS, Open Firmware is stored in ROM and is the first stored program to be executed upon power-up.

An Open Firmware implementation is based on the Forth programming language, in particular, the FCode dialect (FCode is an ANS Forth compliant dialect that supports compilation of FCode source to bytecode). Apple and Sun are two prominent computer system makers that use implementations of Open Firmware in their systems (Sun's trademark is called OpenBoot). The Open Firmware Working Group's home page is hosted at various places, including Apple and Sun.

Thus, the firmware is implemented in Forth, and stored in the ROM as FCode bytecode. Device drivers that are required during system startup are also implemented similarly. Such drivers usually exist in the expansion ROM of expansion cards that are needed before the operating system has loaded.

Mac Boot Options

Mac Boot Options 
  1. Key Combination -- Effect
  2. mouse down -- Eject removable media ( I think Boot ROMs prior to 2.4f1 excluded the CD drive )
  3. opt -- Bring up OF system picker on New World machines
  4. cmd-opt -- Hold down until 2nd chime, will boot into Mac OS 9 ?
  5. cmd-x (or just x?) -- Will boot into Mac OS X if 9 and X are on the same partition and that's the partition you're booting from.
  6. cmd-opt-shift-delete -- Bypass startup drive and boot from external (or CD). This actually forces the system to NOT load the driver for the default volume, which has the side effect mentioned above. For SCSI devices it searches from highest ID to lowest for a partition with a bootable system. Not sure about IDE drives.
  7. cmd-opt-shift-delete-# -- Boot from a specific SCSI ID # (# = SCSI ID number)
  8. cmd-opt-p-r -- Zap PRAM. Hold down until second chime.
  9. cmd-opt-n-v -- Clear NV RAM. Similar to reset-all in Open Firmware.
  10. cmd-opt-o-f -- Boot into open firmware
  11. cmd-opt-t-v -- Force Quadra AV machines to use TV as a monitor
  12. cmd-opt-x-o -- Boot from ROM (Mac Classic only)
  13. cmd-opt-a-v -- Force an AV monitor to be recognized as one
  14. c -- Boot from CD. If set to boot to X and no CD is present, may boot to 9.
  15. d -- Force the internal hard disk to be the startup device
  16. n -- Hold down until Mac logo, will attempt to boot from network server (using BOOTP or TFTP)
  17. r -- Force PowerBooks to reset the screen
  18. t -- Put FireWire machine into FireWire Target Disk mode
  19. z -- Attempt to boot using the devalias zip from first bootable partition found
  20. shift -- (Classic only) Disable Extensions
  21. shift -- (OS X, 10.1.3 and later) Disables login items. Also disables non-essential kernel extensions (safe boot mode)
  22. cmd -- (Classic only) Boot with Virtual Memory off
  23. space -- (Classic only) Trigger extension manager at boot-up
  24. cmd-v -- (OS X only) show console messages during boot
  25. cmd-s -- (OS X only) boot into single user mode

Thursday, December 23, 2010

How to compile Dazuko for Ubuntu 10.10

Ubuntu 10.10

Condensed steps of this hack for Ubuntu 10.10 ....
a) Get dazukofs-3.1.3.tar.gz and dazukofs-3.1.4-rc2.tar.gz from
b) Extract both archive.(tar -xzvf dazukofs-3.1.3.tar.gz and tar -xzvf dazukofs-3.1.4-rc2.tar.gz
c) Copy file.c and ctl_dev.c form 3.1.4-rc2 to 3.1.3
d) Enter 3.1.3 directory and make it. >make
e) install dazukofs with use rights as root account. >sudo make dazukofs_install