FreeBSD on Mac Pro 2006

Anathonous · February 2, 2021

Two years ago I installed FreeBSD 12.0 on a MacPro 1,1. Everything should still work on 12.2.

Due to the EFI being 32bit I had to use a website and tool to remove EFI functions from the installer. (I have since updated my EFI to 2,1)

This tool worked great for creating an ISO. Use MBR bootloader during install. Be sure to install src and ports pkg.

There’s a few things you have to configure to get it to work properly and there are still some small things that need to be tuned.

Packages/src/ports (Security)

Change the word quarterly to latest in /etc/pkg/FreeBSD.conf
Then:
pkg update
pkg upgrade
freebsd-update fetch
freebsd-update install
portsnap fetch
portsnap extract
portsnap update

Intel ucode

pkg install devcpu-data

/boot/loader.conf
cpu_microcode_load="YES"
cpu_microcode_name="/boot/firmware/intel-ucode.bin"

Firewall

/etc/rc.conf
pf_enable="YES"
pf_rules="/etc/pf.conf"

/etc/pf.conf
block in all
pass out all keep state

Audio

The default audio needs to be enabled and the port output needs to be switched. This will change it for line out on the back.

/etc/sysctl.conf 
hw.snd.default_unit=3
dev.hdaa.0.config="ovref" 
dev.hdaa.0.gpio_config="0=set 1=set" 
dev.hdaa.0.nid21_config="as=4 seq=15"
/etc/rc.conf 
sndiod_enable="YES"

Video

I was able to get the video working by installing the old nvidia driver. The 304 release worked. “Nvidia GeForce 7300GT”

pkg install nvidia-driver-304 

/etc/rc.conf  
linux_enable="YES" 
linux64_enable="YES" 
nvidia_load="YES" 
nvidia-modeset_load="yes" 
linux_load="YES" 
/boot/loader.conf  
linux_enable="YES" 
linux64_enable="YES" 
nvidia_load="YES" 
nvidia-modeset_load="yes" 
linux_load="YES" 
agp_load="YES"

The video driver does act wonky in tty though. It will flash green and pink with the text going garbled and i noticed the text is still very large in tty. Changing your vt will resolve this issue.

/boot/loader.conf
kern.vty=sc

Kernel

I get tons of kernel related errors. Apparently it has something to do with the smart battery. You can disable them.

/boot/loader.conf 
debug.acpi.disabled="smbat"

System Management Controller services are not enabled by default. You will need to compile a kernel with asmc support. You will need to learn how to build a kernel. and download this kernel patch. and put them in /usr/src/sys/dev/asmc/

You want to make a copy (cp) of the GENERIC kernel config. Say cp -r GENERIC MAC in /usr/src/sys/amd64/conf/ and then "make buildkernel KERNCONF=MAC" when compiling.

Add the following lines to your kernel conf. 

device          coretemp 
device          asmc 
device          smb 
device          smbus 
device          smbios 
device          cpuctl

and add to /boot/loader.conf
asmc_load="YES"

Time

The clock is horrible off.

tzsetup  
Select Yes. Scroll down to bottom and select UTC.

That should be about it.

The FreeBSD Foundation has some great tutorial on installing a working desktop environment as well.

Twitter, Facebook