Restoring an 2006 iMac 4,1 in 2025
Contents
I recently inherited a 2006 (early model) iMac 4,1 from a family member and, having a few days off, decided to try to get it running with a modern OS. This model has a 32-bit Intel Core Duo, not the 64-bit Intel Core 2 Duo from the late 2006 models, and 32-bit EFI. It had 512 MB of RAM before the upgrades. All of these became challenges getting it to run a modern OS, but we'll come back to that soon.
Hardware
Before trying to get Linux running on it, I decided to first tear it down, which is a daunting task on this model. Apple clearly never intended this Mac to be user-repairable (and they say so in the user manual). I followed the iFixit guide to get down to the CPU, refreshed the thermal paste, replaced the hard drive with an SSD, replaced the CMOS battery, and cleaned the interior. There was a shocking lack of dust inside.
The worst part of the teardown was the damn brackets on the upper case. I decided to remove them when I reassembled the case. This Mac is a good reminder of why I like a machine that's built with replacement parts in mind. The amount of effort just to get at the hard drive (an easy repair/upgrade task for most users) makes it hardly worth the effort. I also removed the iSight drive -- but that was just a personal preference. It took a long time to tear it all apart and reassemble it, and I had trouble peeling back the EMI shielding. I ended up carefully slicing through the shielding instead, and then sealing it up with some faraday tape when I was done.
If you're going to undertake this repair, a good set of Torx screwdrivers is a must.
I ordered a RAM upgrade from macsales.com (OWC), but RAM is the only part of the 2006 iMac that is technically "user upgradeable", so doesn't really count in the teardown. I swapped out the 512 MB stick for 2 x 1GB PC5300 DDR2 333MHz 667MT/s 220 Pin SO-DIMM RAM. Only ten bucks!
Booting
After the teardown, I was pleased when the iMac happily booted to the flashing grey folder with a question mark, but now it was time for the next challenge. This model of iMac is the first with an Intel chip, and it's a Core Duo (32-bit) not a Core 2 Duo (64-bit). In addition, all of the 2006 iMacs shipped with a quirky 32-bit EFI. It also is reluctant to boot from a USB -- there are workarounds, although I didn't invest the time to get one working.
Both of these create a challenge in 2025. A lot of Linux distributions have stopped supporting 32-bit ISOs years ago. Additionally, the firmware doesn't handle multi-catalog ISOs, which is the default these days. This blog post by Matt Gadient is for the late 2006 model, but it pointed me in the right direction.
I found that Debian still supports a 32-bit netinstall ISO labeled "mac" -- which only has a single entry in the El Torito catalog, and appeases the firmware. The blog post above has a program that allows you to modify an existing 32-bit ISO to be compatible. I tried this with a 32-bit Void Linux ISO and it worked flawlessly when burned to DVD.
I installed Debian 12.10 from the "mac" ISO. I used an Ethernet connection for the initial install. Then I followed the instructions in this post for the rest of the setup. Mostly this consisted of:
Radeon and Broadcom drivers:
apt-get install firmware-amd-graphics firmware-b43-installer
Grub configuration (sudo update-grub
after editing the file):
#/etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.dpm=1 radeon.modeset=1 radeon.pcie_gen2=0 loglevel=3 rd.systemd.show_status=auto rd.udev.log-priority=3 vt.global_cursor_default=0"
GRUB_CMDLINE_LINUX=""
After this, I had a stable desktop with XFCE4. I encountered some issues with the USB ports failing and needing to be reset. The script in this post worked for me. I suspect the issue is something to do with the Apple magic mouse and Apple keyboard that came with the machine, but I haven't done the due diligence to chase down the problem.
Performance
I wrote this post from the 2006 iMac. For simple workloads, it's totally usable. Firefox is really slow and chews up the machine's minimal RAM. I've switched to using Falkon for basic browsing. The difference in performance is shocking. Youtube will barely play on this machine, even at low settings, and gets a choppy framerate.
My blog uses Zola, which is written in Rust, so I decided to build a 32-bit version on this machine. It took a long time to build, maybe 45 minutes or more, and I had to bump up the RAM available for rustc
. It did build, however, and works fine on this machine.
I allocated an extra 4GB of swap, which is twice the native memory, and the Rust build did chew into the swap pretty aggressively. The machine doesn't swap under regular usage unless I fire up Firefox. Generally, XFCE feels snappy enough.
I set up Rclone and happily started syncing files with OneDrive.
Could I daily drive this machine? For some basic browsing and text-based workflows, absolutely. The CPU really shows its age when decoding streaming video and heavy compilation workflows, but I could get scripting or C programming work done on this machine without a problem.
Suspend works most of the time, but periodically it suspends and then immediately reboots. I haven't tried to track down the cause of that yet. The rest of the time it suspends and I get the gentle pulsing light typical of this era of iMac.
Pictures
-
- Installing Debian 12.10 on this machine.
-
- It's reasonably snappy on XFCE4!
-
- Swapped out the spinning disk for an SSD.
-
- It was a lot of work to tear it down to this point.
Resources
I do have backups of some of these resources. If the links rot in the future I will post the information.
- https://www.ifixit.com/Device/iMac_Intel_20%22_EMC_2105_and_2118
- https://billauer.co.il/blog/2013/02/usb-reset-ehci-uhci-linux/
- https://github.com/afyijcd/linux_2006_imac_4.1
- https://mattgadient.com/linux-dvd-images-and-how-to-for-32-bit-efi-macs-late-2006-models/
- https://eshop.macsales.com/item/OWC/5300DDR2S2GP/