THE IBOOK G3
In 2002 I bought an Apple iBook G3 with a 12-inch display. I still like it even though I had to replace the internal hard drive, the power supply, the display and the keyboard till this date. :-)
From Wikipedia, the free encyclopedia:
Apple debuted the next-generation iBook G3 at a press conference in Cupertino, California on May 1, 2001. The previous bold colors and bulky form-factor were abandoned, as was the handle, the latchless design and the additional power connectors on the bottom surface.
The resulting iBook was available in white only, and incorporated transparent polycarbonate in its casing. It was 30% lighter, and occupied less than 50% of the volume of the model it replaced, being smaller in all 3 dimensions. Despite that, it added an extra USB port and a higher resolution screen. Apple claimed the compact design did not sacrifice durability, saying it was 'twice as durable' as the previous model.
With this revision, Apple began transitioning to translucent and white polycarbonate casings in most of its consumer line, such as the iMac and the eMac. In contrast, most of its professional products used an anodized aluminum finish.
When MacOS X 10.2 became obsolete I decided to install Gentoo Linux on the iBook.
A good point to start from is the Gentoo Linux PPC Handbook which describes the installation process and gives an introduction to Gentoo Linux itself. In the following sections I'll provide additional information about iBook specific topics that are not covered in the handbook.
Current versions of essential core packages
- Linux kernel v2.6.29-gentoo-r5
- gcc 4.3.2-r3
- glibc 2.9_p20081201-r2
- xorg-server 1.5.3-r6
Hardware information provided by lshw:
H/W path Device Class Description ============================================================================= system iBook 2 rev. 2 (Nov 2002) /0 bus Motherboard /0/0 /proc/device-tree memory /0/1 memory 384MiB System memory /0/1/0 memory 128MiB SDRAM /0/1/1 memory 256MiB SDRAM /0/2 processor 750FX (700 MHz) /0/2/0 memory 32KiB L1 Cache /0/2/1 memory 512KiB L2 Cache (unified) /0/100 bridge UniNorth/Pangea AGP /0/100/10 display Radeon Mobility M6 LY /0/101 bridge UniNorth/Pangea PCI /0/101/17 generic KeyLargo/Pangea Mac I/O /0/101/17/0 ide0 bus IDE Channel 0 /0/101/17/0/0 /dev/hda disk 80GB TOSHIBA MK8025GAS /0/101/17/0/0/1 /dev/hda1 volume 31KiB Apple partition map /0/101/17/0/0/2 /dev/hda2 volume 800KiB Apple Bootstrap /0/101/17/0/0/3 /dev/hda3 volume 74GiB EXT3 volume /0/101/17/0/0/4 /dev/hda4 volume 500MiB Linux swap volume /0/101/17/0/0/5 /dev/hda5 volume 512iB Apple Free /0/101/17/0/1 /dev/hdb disk TOSHIBA DVD-ROM SD-R2102 /0/101/18 bus KeyLargo/Pangea USB /0/101/19 bus KeyLargo/Pangea USB /0/102 bridge UniNorth/Pangea Internal PCI /0/102/e bus UniNorth/Pangea FireWire /0/102/f eth0 network UniNorth/Pangea GMAC (Sun GEM) /1 eth2 network Wireless interface
Device Drivers ---> Graphics support ---> <*> /dev/agpgart (AGP Support) ---> <*> Apple UniNorth & U3 AGP support <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> <*> ATI Radeon <*> Support for frame buffer devices ---> <*> ATI Radeon display support Console display driver support ---> <*> Framebuffer Console support
If you'd like to control the backlight of your display:
Device Drivers ---> Graphics support ---> <*> Support for frame buffer devices ---> <*> ATI Radeon display support [*] Support for backlight control -*- Backlight & LCD device support ---> -*- Lowlevel Backlight controls -*- I2C support ---> <*> I2C device interface I2C Algorithms ---> -*- I2C bit-banging interfaces
In order to use the brightness keys on your keyboard you need a userspace daemon like pbbuttonsd:
emerge pbbuttonsd rc-update add pbbuttonsd default
KEYBOARD & TRACKPAD
Device Drivers ---> [*] Macintosh device drivers ---> [*] Apple Desktop Bus (ADB) support [*] Support for PMU based PowerMacs [*] Support for ADB input devices (keyboard, mice, ...) Input device support ---> <*> Event interface
General kernel settings:
Device Drivers ---> [*] USB support --> <*> Support for Host-side USB <*> OHCI HCD support [*] OHCI support for PPC USB controller on OF platform bus [*] Support big endian HC
USB mice and keyboards:
Device Drivers ---> [*] HID Devices ---> -*- Generic HID support <*> USB Human Interface Device (full HID) support
USB mass storage devices:
Device Drivers ---> SCSI device support ---> <*> SCSI device support <*> SCSI disk support <*> SCSI CDROM support <*> SCSI generic support [*] USB support --> <*> USB Mass Storage support
Device Drivers ---> SCSI device support ---> <*> SCSI device support <*> SCSI disk support <*> SCSI CDROM support <*> SCSI generic support IEEE 1394 (FireWire) support ---> <*> Stable FireWire stack <*> OHCI-1394 controllers <*> Storage devices (SBP-2 protocol) <*> raw1394 userspace interface
Device Drivers ---> <*> ATA/ATAPI/MFM/RLL support ---> <*> generic ATA/ATAPI disk support [*] ATA disk support <*> Include IDE/ATAPI CDROM support [*] legacy /proc/ide/ support [*] Probe IDE PCI devices in the PCI bus order (DEPRECATED) <*> PowerMac on-board IDE support
If you'd like to use the front LED as IDE LED:
Device Drivers ---> [*] Macintosh device drivers ---> [*] Apple Desktop Bus (ADB) support [*] Support for PMU based PowerMacs [*] Support for the Power/iBook front LED [*] Use front LED as IDE LED by default
Device Drivers ---> [*] Network device support ---> [*] Ethernet (10 or 100Mbit) ---> <*> Sun GEM support
In order to use WPA-PSK with the Airport card you need an up-to-date firmware. Download it here, name it agere_sta_fw.bin and put it in the firmware folder of your kernel sources.
[*] Networking support ---> [*] Wireless ---> -*- Wireless extensions Device Drivers ---> Generic Driver Options ---> [*] Include in-kernel firmware blobs in kernel binary (agere_sta_fw.bin) External firmware blobs to build into the kernel binary (firmware) Firmware blobs root directory [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) <*> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) [*] Cache Hermes firmware on driver initialisation <*> Apple Airport support (built-in)
WPA-PSK requires wpa_supplicant to be installed:
Device Drivers ---> <*> Sound card support ---> <*> Advanced Linux Sound Architecture ---> <*> Sequencer support <*> Sequencer dummy client <*> OSS Mixer API <*> OSS PCM (digital audio) API [*] OSS PCM (digital audio) API - Include plugin system (NEW) [*] OSS Sequencer API [*] Support old ALSA API [*] PowerPC sound devices ---> <*> PowerMac (AWACS, DACA, Burgundy, Tumbler, Keywest) [*] Toggle DRC automatically at headphone/line plug-in
Also, you need to configure your sound card. The package alsa-utils provides the necessary tools and an init script:
emerge alsa-utils rc-update add alsasound default
In order to use the loudness keys on your keyboard you need a userspace daemon like pbbuttonsd:
emerge pbbuttonsd rc-update add pbbuttonsd default
The correct kernel settings for the udev device manager (introduced with Linux kernel 2.6) are a bit tricky, so I mention them here:
File systems ---> [*] Inotify file change notification support [*] Inotify support for userspace Pseudo filesystems ---> [*] Virtual memory file system support (former shm fs)