Minnowboard:MinnowMaxBSD-Distros

From eLinux.org
Revision as of 22:12, 18 November 2014 by Bryanstein (talk | contribs)
Jump to: navigation, search

Introduction

The general process of setting up BSD for the MinnowBoard MAX is quite similar to setting up Linux on any other computer:

  1. Make a bootable installer for your distro of choice
  2. Plug in the storage volume you want to install to (i.e. a larger SATA or USB HDD, MicroSD card, etc.,)
  3. Install to that drive

However, there are a few things to keep in mind:

  • MicroSD cards:
    • When installing to a MicroSD card, be aware that these cards are frequently quite slow and may result in poor performance if you install an operating system to them.
    • SD Cards (as do all flash) have a limited number of writes, take care when using flash memory, particularly for SWAP as they can incur a lot of writes in a short period of time, ultimately leading to flash failure
  • USB Sticks:
    • SD Cards (as do all flash) have a limited number of writes, take care when using flash memory, particularly for SWAP as they can incur a lot of writes in a short period of time, ultimately leading to flash failure
    • Installing TO USB storage as well as installing FROM storage may cause issues, and you may have to wait for your installer to fully boot before plugging in the USB stick you intend to install to.

The MinnowBoard MAX ships with a 64-bit UEFI Firmware. UEFI can only work when the OS and Firmware are matched on what the architecture is. This means a 32-bit OS cannot be run from a 64-bit Firmware, and vice versa.

The ONLY available FreeBSD UEFI Loader supports 64-bit Operating Systems and 64-bit UEFI Firmware. There is no 32-bit FreeBSD UEFI Loader:

Support matrix of firmware and OS:

32-bit Firmware 64-bit Firmware
32-bit OS UNSupported UNSupported
64-bit OS UNSupported Supported

Running in an unsupported configuration may not even boot, but at the least will lead to very odd system interactions. Having a single firmware with UEFI that supports both is not possible.

A detailed explanation of this can be found On the MAX Bios page - 32-bit vs 64-bit UEFI section


FreeBSD 10.1-RELEASE" 64-bit

Please Note: FreeBSD 10.0 Does NOT have a suitable UEFI image available for download.

Download the FreeBSD UEFI memstick image from the link below:

ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img


To create a bootable USB installer drive for FreeBSD, you should use the direct write method or one of the methods listed here:

https://www.freebsd.org/doc/handbook/install-pre.html#install-boot-media

Booting from the FreeBSD installer flash drive

Once you get to the EFI shell, the following command will boot the installer:

fs0:\EFI\BOOT\bootx64.efi

If you're installing FreeBSD to a USB flash drive or USB HDD

You should wait to plug in your installation target drive until after the FreeBSD installer has finished booting. This way you will surely know which device you are installing to, ie da0 or da1, etc.

Install Process

This will be very similar to a normal FreeBSD installation process. Just be sure to select the correct storage volume to install to. Select the options to wipe whatever's on that volume already and repartition it automatically. The installer will create a 800K FAT EFI partition, a large UFS root partition, and then a small swap partition. This is all fine.

Final Steps

It is highly recommended that you upgrade to a new kernel (3.14 or newer) after your installation is complete. This fixes a number of things, including HDMI sound output (this has been tested and confirmed to work after the kernel update.) You may have to compile it yourself. Find Linux Mint's standard kernel configuration under /boot, copy it to .config in your Linux 3.14 source tree, run "make oldconfig" to update the configuration to match the newer kernel, and then compile the kernel as normal. If you have another Linux computer with which to do the actual compilation of the kernel, that would likely be faster than compiling it on the Minowboard MAX. Then you can copy the kernel source tree over to your Max and run the installation part. (TODO: find a PPA or something with newer kernels in it so people don't have to compile them.)

NOTE: the linux-yocto 3.14 tree was used for this test, it may contain sound-related fixes that won't hit mainline Linux until 3.15.

Booting from your FreeBSD 10.1 Installation

If you're installing Mint to a USB flash drive or USB HDD

The Linux Mint installer does not seem to automatically change the boot order setup of the MinnowBoard MAX, so you may get an EFI shell when you boot. To get to the Linux Mint bootloader, you may have to run the following EFI commands at boot time: fs0:\EFI\BOOT\bootx64.efi

If you want to adjust your boot order manually, you can run the following EFI command:

exit

This will drop you to a legacy BIOS configuration screen where you can do a number of things, including tweak your boot order. Once this is done, the EFI commands listed above should be unnecessary. (TODO: write up what actual steps are involved.)

So utilize a 10.1 or greater image if you're not an experienced FreeBSD user. Once you have the FreeBSD UEFI loader on boot media you can boot older releases of