Tuesday, October 13, 2015

First dive into BSD land

So I have spent the last few months working through FreeBSD and OpenBSD on my iBook G4 to see how well PowerPC is supported. It has been a mixture of challenge and frustration. I was hoping to make way more progress than I did, but in the future I hope to press on and report better news.

FreeBSD on PowerPC

The one thing that I really like about the BSDs is their initial installs are extremely simple and straightforward. Just like Gentoo, FreeBSD has a handbook that guide you though the set up. The documentation there is fantastic. FreeBSD uses a ports system for installing packages. This means compiling from source everything that is not in the base system. They do have precompiled binaries to install but they are not available for PowerPC. This is where things got really frustrating.

If you want to install Xorg on iBook G4 with a 1.42 Ghz CPU be prepared to wait for at least 2 days to compile. YES TWO DAYS! This is mostly because the process halts when it needs into install a dependency and it will ask if you want the default settings for do you want to change them. Then it will start to compile and install the dependency before it actually install the package you want. If a package has multiple dependencies then you can see why it takes so long.

There were ports that simply crashed and would not build. Packages like drm for graphics and even firefox would either fail to build or require some work to get going. I eventually got XFCE going but I needed to disable hardware acceleration and I had no browser to access the web. I never got chance to work on wireless access. Maybe sometime in the future.

So for a headless server FreeBSD could be used on PowerPC but there is a lot of work that needs to be done before I could recommend as a DE.

OpenBSD on PowerPC

OpenBSD uses a FAQ as their means of documentation. Like the FreeBSD handbook it is a great source of information. The install like FreeBSD was fairly simple. The one area I would recommend you deviate from the defaults is the disk partitioning section. The installer will recommend a partition scheme for you. This scheme creates multiple small partitions for /boot, /home, /usr, etc. The issue is that the chances for a partition (especially /usr since that is where the ports tree ends up) to get full pretty quickly. So I recommend doing a custom layout and have a swap and root partition only. You can find more info on to set up disks in OpenBSD here.

One advantage that OpenBSD has over FreeBSD is their precompiled packages are available for PowerPC. OpenBSD actually prefers you to install their packages over compiling ports. This is from their section in the FAQ on packages and ports,

IMPORTANT NOTE: The ports tree is meant for advanced users. Everyone is encouraged to use the pre-compiled binary packages.

OpenBSD also has Xorg as part of its base system which is a huge help in setting up the DE. I was able to get lumina and xfce working but there was some performance issues that need to be worked on. It looks the radeon r300 driver is supported under 5.8 (current), which is set to release soon.

Apart from a DE, OpenBSD is superb platform for networking. Setting up OpenBSD as a simple router/firewall is pretty straight forward. OpenBSD's pf is an amazing packet filter. There are also plenty of great packages that will help turn OpenBSD into a pretty powerful application layer firewall. I have been really enjoying learning this aspect of OpenBSD even if it is not strictly PowerPC related.

I have yet to try out NetBSD and it is on my list. I will post more on BSD as time permits.

1 comment:

  1. Currently in the process of compiling a lot of ports including X11 on FreeBSD 10.3 on a Powerbook G4 12" , regarding the halting of the compile during dependency installs , you can run "make config-recursive" first to select the defaults and then "make clean install" , it will compile all dependencies without halting for user inputs