As of this afternoon, Project Byzantium has achieved its second milestone of the ISC grant – porting Byzantium Linux to Intel Macs.
We ran into three significant problems in this effort, the X desktop and wireless drivers for certain Broadcom wireless chipsets. When trying the last major release (v0.3a) on the Macbooks we purchased, we discovered that the X desktops were squished to the top of the screen, making it very difficult to get anything done. We discovered that this was due to a bug in X.org – in our earlier release, the X server correctly detected the graphics chipset (Intel i915), loaded the proper driver into the X server, and then swapped the driver out for the VESA graphics driver. We tried the latest version of our build platform (Porteus v2.0) and the bug was fixed. We confirmed that everything still worked after further testing on different hardware.
The Broadcom wireless drivers posed a more difficult challenge. I had no trouble with the wireless chipset in my Macbook, but the Broadcom BCM43224 (PCI ID is 14e4:4353) in Haxwithaxe’s Macbook Air refused to work with any drivers that we tried (and in fact, refused to respond to quite a few of them). We checked out the latest version of the Linux kernel’s firmware repository and added it to the 000-byzantium.xzm module alongside the Broadcom firmware images, and that didn’t help, either. What we wound up doing was recompiling the Broadcom kernel drivers with the CONFIG_B43_BCMA_EXTRA option turned on, and that extra option got wireless working on the Macbook Air. We then did regression testing on our other test equipment, ensured that the new build was still interoperable with ByzPi, added some branding to the build, and there you have it.
The third problem, which was how to boot a Macbook from a USB key was paradoxically the easiest to solve. Macbooks that still have optical drives can boot from CDs or DVDs normally. Macbooks that don’t, on the other hand, are limited to booting from flash drives, which has historically been a dicey proposition. We found a solution to this problem in the online documentation for TAILS, another live distribution of Linux. Hybrid ISO images are images which can be burned to an optical disk as usual, or they can be written directly to a flash drive because they have standard partition tables.
Windows users can use a utility like the LinuxLive USB Creator, Unetbootin, or Win32 Disk Imager. MacOSX, BSD, and Linux users can use the dd utility to write the hybrid image to a USB key. For example, if your USB key is plugged into your machine and has the device name /dev/sdb, you would run one of the following commands:
sudo dd if=~/byzantium-v0.3.2a-hybrid.iso of=/dev/sdb bs=1048576
sudo cat ~/byzantium-v0.3.2a-hybrid.iso > /dev/sdb && sync
When the file is finished writing, boot from the USB key. PC users should hit whatever key will allow them to select the boot device at power on (ESC, F12… consult your manual or POST screen for specifics). Mac users must power down completely and hold down the Option key while pressing the power button. When the Mac firmware displays the hard drives in the system, pick the icon on the far right labeled ‘Windows’. All users will then see the black-on-silver Byzantium Linux boot loader.
Additionally, you can unpack the .iso image onto the USB key and run the Porteus-installer-for-Windows.exe (Windows) or Porteus-installer-for-Linux.com (Linux) utilities as detailed here.
As always, you can download the .iso images direct from us or one of our mirror sites, or you can torrent them. If you torrent them, please seed for a day or two to keep the torrents healthy..