CentOS 5 on Intel-based Apple iMac

The iMac

Hardware

lspci:

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 9583
03:00.0 FireWire (IEEE 1394): Agere Systems Unknown device 5901 (rev 06)
04:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 05)
05:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13)

Kernel parameter to use during setup/after install !

For an unknow reason, it seems the irqpoll kernel parameter has be used with the CentOS 5.2 kernel. So add irqpoll during the install (linux irqpoll) and add it to the grub.conf file. Symptoms when not using irqpoll : keyboard/mouse really slow and system load reports always 2.0 load average when doing nothing

Wireless network

The iMac has a bcm4328 chipset which is not supported by the b43 kernel module (see http://www.linuxwireless.org/en/users/Drivers/b43 for further informations). That means that the only way to get the wireless card to work on CentOS (at the time of writing) is to use ndiswrapper. You'll need to use the ELRepo repository (http://elrepo.org) to fetch the ndiswrapper. The Broadcom XP drivers are located on the Mac OSX install disc 1 : we need to extract it so insert the CD and mount it (if not automatically mounted )

cd /tmp
cp /media/WindowsSupport/boot\ camp/drivers/broadcom/broadcomxpinstaller.exe ./
unrar e broadcomxpinstaller.exe 
yum --enablerepo=elrepo install kmod-ndiswrapper
ndiswrapper -i bcmwl5.inf 
modprobe ndiswrapper 
ndiswrapper -m

You can now use NetworkManager but it seems WPA authentication is problematic with the ndiswrapper solution ... while it seems ok with wpa_supplicant / wicd (to be confirmed)

Video

The iMac has either a nvidia or an ATI card so as usual, use the proper driver or stick with the vesafb Compiz/desktop-effects works ok with fglrx on the iMac

iSight Webcam

You need to install the uvc kernel module plus the firmware. Actually you can install the uvc kernel module from the ATRpms repo :

yum --enablerepo=atrpms install uvc uvc-kmdl-`uname -r`

Unfortunately you need to load the iSight firmware and the usual tool to do that (isight-firmware-tools) doesn't build on el5 (see my bug report at https://bugs.launchpad.net/isight-firmware-tools/+bug/263737). When that will be fixed, a RPM will be provided to load the firmware (that you still have to copy from your Mac OSX partition) and explanation given here.

Comments welcome

HowTos/Mactel (last edited 2010-01-06 14:40:12 by AlanBartlett)