|
- ---
- title: Installing FreeBSD on a PC Engines APU4C2
- description: >
- Installing FreeBSD on a PC Engines APU4C2
- posted: !!timestamp '2019-08-08'
- 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.
|