2 min read

OpenBSD on MacBook

This guide is meant to assist users of OpenBSD who wish to install OpenBSD on either a Macbook or a Macbook Pro. This guide is specifically created based on a Macbook Pro Core Duo 17", with help and notes provided by other people who have other machines.

This guide does not attempt to provide a detailed solution to installing OpenBSD in general, and addresses only the specific issues that one may face while trying to use OpenBSD on the Macbook Family.

Problem with Normal Guides

The normal OpenBSD installation documentation expects that the bsd.rd and other kernels will boot fine on the machiens. Unfortunately, the MBP has issues booting the bsd.rd kernel of 4.2. [1] Specifically, in 4.2, ACPI is disabled, and must be manually enabled in order to have a working kernel.

The first thing that must be done is to generate useful bootable media for the system. This guide assumes that you have managed to gain access in some way to a working copy of OpenBSD and can access the terminal. [2] After doing this, one can then use the following method to generate a small boot CD-ROM.

$ mkdir cd-dir
$ cd cd-dir
$ mkdir -p 4.2/i386
$ mkdir -p etc
$ cp ~/cdboot ~/cdbr ~/bsd.rd 4.2/i386
$ config -ef 4.2/i386/bsd.rd
. . . 
> enable acpi
. . .
> quit
. . . 
$ cd ~/cd-dir
$ echo "set image /4.2/i386/bsd.rd" > etc/boot.conf
$ mkhybrid -a -R -T -L -l -d -D -N -o ~/cd42_acpi.iso -v -v \
> -A "OpenBSD 4.2 i386 bootonly CD ACPI" \
> -V "OpenBSD/i386    4.2 ACPI" \
> -b 4.2/i386/cdbr -c 4.2/i386/boot.catalog \
> ./
. . . 

This will create an ISO for you to use, and you can then burn this image.

Boot Loaders

rEFIt is the boot loader that I have been using, and it works well. There may be other possibilities.

Hardware Support

  • Works
  • Not Working
  • Working or Tested in -CURRENT
  • + Audio
  • + X Windows [3]
  • + Ethernet
  • + USB
  • - Firewire
  • - iSight Camera
  • - Sleep or Suspend
  • - Function Mapped keys on keyboard
  • * Atheros-based Airport Cards

Macbook versus MacBook Pro

Apparently, there are some issues with the internal keyboard not working on Macbooks, necessitating the use of an external USB keyboard. There do seem to be some other significant differences between the Macbook and the Macbook Pro.

Notes

  1. In -CURRENT, there is a bug which does not allow working bsd.rd kernels at all. The author is unaware of any fix at the moment. The bug has been reported under kernel/5653.
  2. One means of doing this, if you already have a working OS X installation is to use the program Q, which is a graphical front-end package to the qemu emulation system.

    The Q program is a very easy to use version of qemu designed to run on Mac OS X. The GUI allows you to set up a reasonable installation shell for OpenBSD in about one minute. When I created the "PC" in Q on which I would install OpenBSD, I first selected my cd41.iso file as the default CD-ROM Image. I also made sure that Q was going to boot from the virtual CD drive.

    However, I also needed a way to install the package sets. To do this, I enabled networking on the PC and also enabled the Mac OS X FTP server. This allows me to simulate an FTP installation from Q.

    The installation process is completely straightforward. The only thing different is that you will use the IP address of your machine as the FTP server, and you will need to authenticate. Make sure you use quotes to delimit the packages path if the path has spaces in it.

  3. X Windows Currently does not have support for the ATI Graphics controller in my laptop, and it runs at a lower and non-native resolution of 1400x1050 as compared to 1680x1050. However, there is work being done to support these newer graphics cards from ATI in the later versions of Xenocara.