From c4252f1250a89f38333f6a16494229b839f983f2 Mon Sep 17 00:00:00 2001 From: John-Mark Gurney Date: Fri, 16 Apr 2021 18:49:34 -0700 Subject: [PATCH] add the last blog post... --- ...stalling-freebsd-on-pc-engines-apu4c2.html | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 content/2019/08/installing-freebsd-on-pc-engines-apu4c2.html diff --git a/content/2019/08/installing-freebsd-on-pc-engines-apu4c2.html b/content/2019/08/installing-freebsd-on-pc-engines-apu4c2.html new file mode 100644 index 0000000..dca6963 --- /dev/null +++ b/content/2019/08/installing-freebsd-on-pc-engines-apu4c2.html @@ -0,0 +1,75 @@ +--- +title: Installing FreeBSD on a PC Engines APU4C2 +description: > + Installing FreeBSD on a PC Engines APU4C2 +created: !!timestamp '2019-08-08' +time: 11:08 PM +tags: + - FreeBSD +--- + +I recently upgraded my internet connection, and needed some additional +performance, so I purchased a [APU.4C2](https://www.pcengines.ch/apu4c2.htm). +When I tried to boot it up, I would get to loading the kernel, but then +I would not get anything. + +After a quick search I found Dr. David A. Eckhardt's post on +[How to Install FreeBSD 12.0 on a PC Engines apu2 Machine (apu4c4)](https://www.cs.cmu.edu/~davide/howto/apu4c4.html). +The instructions require mounting the memstick image on a FreeBSD box, +but I don't have one hand for mounting the image. Once I knew what I +needed to do, I realized I didn't need to mount the image to set the +options needed. + +First on boot, I hit F10 so that I'd be presented with a boot menu. +Strictly this isn't needed, but helped me time the next part. I then +selected the USB drive that had the memstick image, and as soon as I +selected the image, I immediately started hitting space bar. This +dropped me into the first stage boot loader: +``` +Select boot device: + +1. USB MSC Drive Generic STORAGE DEVICE 0566 +2. ata0-0: SATA SSD ATA-11 Hard-Disk (15272 MiBytes) +3. Payload [memtest] +4. Payload [setup] + +Booting from Hard Disk... +- +FreeBSD/x86 boot +Default: 0:ad(0,a)/boot/loader +boot: +``` + +This is the point to enter in the line that would normally go into +`boot.conf`: `-h -S115200 -v` + +Once that is entered, this proceeded to the loader boot loader. I +selected `3` to escape to the loader prompt. This allowed me to enter +some of the commands that would go into `loader.conf`. Note that the +commands w/ a `.` in them need to be preceded w/ the `set` command: +``` +Type '?' for a list of commands, 'help' for more detailed help. +OK boot_serial="YES" +OK console="comconsole" +OK comconsole_speed="115200" +OK set kern.cam.boot_delay="15000" +OK set kern.cam.scsi_delay="15000" +OK set hw.igb.enable_msix=0 +OK set hw.pci.enable_msix=0 +OK set hint.ahci.0.msi="0" +OK set hint.ahci.1.msi="0" +OK boot +``` + +And as you can see, I finally booted the kernel using "`boot`". + +This started the install process and things proceeded as normal. I +decided to use GPT instead of MBR for the partitioning scheme. It is +not a big deal which one is picked. I also did the recommended settings +so that upon reboot the above settings would keep. I do plan on +attempting to flash the bios and see if I can't get MSI and/or MSI-X +working, as that would be a huge advantage for interrupts. + +One option for reducing CPU heat is to run powerd. The powerd daemon +will monitor CPU usage, and dynamically adjust the frequency of the CPU +to match the current load.