The blog.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

77 lines
2.7 KiB

  1. ---
  2. title: Installing FreeBSD on a PC Engines APU4C2
  3. description: >
  4. Installing FreeBSD on a PC Engines APU4C2
  5. posted: !!timestamp '2019-08-08'
  6. created: !!timestamp '2019-08-08'
  7. time: 11:08 PM
  8. tags:
  9. - FreeBSD
  10. ---
  11. I recently upgraded my internet connection, and needed some additional
  12. performance, so I purchased a [APU.4C2](https://www.pcengines.ch/apu4c2.htm).
  13. When I tried to boot it up, I would get to loading the kernel, but then
  14. I would not get anything.
  15. After a quick search I found Dr. David A. Eckhardt's post on
  16. [How to Install FreeBSD 12.0 on a PC Engines apu2 Machine (apu4c4)](https://www.cs.cmu.edu/~davide/howto/apu4c4.html).
  17. The instructions require mounting the memstick image on a FreeBSD box,
  18. but I don't have one hand for mounting the image. Once I knew what I
  19. needed to do, I realized I didn't need to mount the image to set the
  20. options needed.
  21. First on boot, I hit F10 so that I'd be presented with a boot menu.
  22. Strictly this isn't needed, but helped me time the next part. I then
  23. selected the USB drive that had the memstick image, and as soon as I
  24. selected the image, I immediately started hitting space bar. This
  25. dropped me into the first stage boot loader:
  26. ```
  27. Select boot device:
  28. 1. USB MSC Drive Generic STORAGE DEVICE 0566
  29. 2. ata0-0: SATA SSD ATA-11 Hard-Disk (15272 MiBytes)
  30. 3. Payload [memtest]
  31. 4. Payload [setup]
  32. Booting from Hard Disk...
  33. -
  34. FreeBSD/x86 boot
  35. Default: 0:ad(0,a)/boot/loader
  36. boot:
  37. ```
  38. This is the point to enter in the line that would normally go into
  39. `boot.conf`: `-h -S115200 -v`
  40. Once that is entered, this proceeded to the loader boot loader. I
  41. selected `3` to escape to the loader prompt. This allowed me to enter
  42. some of the commands that would go into `loader.conf`. Note that the
  43. commands w/ a `.` in them need to be preceded w/ the `set` command:
  44. ```
  45. Type '?' for a list of commands, 'help' for more detailed help.
  46. OK boot_serial="YES"
  47. OK console="comconsole"
  48. OK comconsole_speed="115200"
  49. OK set kern.cam.boot_delay="15000"
  50. OK set kern.cam.scsi_delay="15000"
  51. OK set hw.igb.enable_msix=0
  52. OK set hw.pci.enable_msix=0
  53. OK set hint.ahci.0.msi="0"
  54. OK set hint.ahci.1.msi="0"
  55. OK boot
  56. ```
  57. And as you can see, I finally booted the kernel using "`boot`".
  58. This started the install process and things proceeded as normal. I
  59. decided to use GPT instead of MBR for the partitioning scheme. It is
  60. not a big deal which one is picked. I also did the recommended settings
  61. so that upon reboot the above settings would keep. I do plan on
  62. attempting to flash the bios and see if I can't get MSI and/or MSI-X
  63. working, as that would be a huge advantage for interrupts.
  64. One option for reducing CPU heat is to run powerd. The powerd daemon
  65. will monitor CPU usage, and dynamically adjust the frequency of the CPU
  66. to match the current load.