Difference between revisions of "Minnowboard:MinnowMaxBSD-Distros"

From eLinux.org
Jump to: navigation, search
(Boiler plate for BSD on Minnowboard)
 
m
 
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
'''THESE INSTRUCTIONS ARE NOT YET COMPLETE! THIS IS A WORK IN PROGRESS'''
 +
 +
= Considerations =
 
The general process of setting up BSD for the MinnowBoard MAX is quite similar to setting up Linux on any other computer:
 
The general process of setting up BSD for the MinnowBoard MAX is quite similar to setting up Linux on any other computer:
 
# Make a bootable installer for your distro of choice
 
# Make a bootable installer for your distro of choice
Line 15: Line 18:
 
----
 
----
  
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 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:
 
Support matrix of firmware and OS:
Line 25: Line 30:
 
|-
 
|-
 
| '''32-bit OS'''
 
| '''32-bit OS'''
| style="background-color: #7FFF00;" | Supported
+
| style="background-color: red;" | '''UNSupported'''
 
| style="background-color: red;" | '''UNSupported'''
 
| style="background-color: red;" | '''UNSupported'''
 
|-
 
|-
Line 37: Line 42:
 
A detailed explanation of this can be found [[Minnowboard:MaxBios#32-bit_vs._64-bit_UEFI|On the MAX Bios page - 32-bit vs 64-bit UEFI section]]
 
A detailed explanation of this can be found [[Minnowboard:MaxBios#32-bit_vs._64-bit_UEFI|On the MAX Bios page - 32-bit vs 64-bit UEFI section]]
  
= Linux Mint 16 "Petra" 64-bit =
+
= Installing FreeBSD 10.1 AMD64" =
 
 
It is recommended that you use the MATE or XFCE edition of Linux Mint. MATE has been tested and found to be very responsive and snappy on the hardware, and XFCE should be just as good. Cinnamon or KDE may be too demanding. 3D performance was pretty good.
 
 
 
To create a bootable USB installer drive for Linux Mint, you can use the Universal USB Installer from pendrivelinux.com. A "direct write" method may work as well, but this is as yet untested.
 
 
 
== Booting from the installer flash drive ==
 
If you get an EFI shell, the following commands should get the installer booting:
 
<code>
 
    fs0:
 
    EFI\BOOT\grubx64.efi
 
</code>
 
However, depending on the boot order setup of your MinnowBoard MAX, you may not get an EFI shell at all.
 
 
 
=== If you're installing Mint to a USB flash drive or USB HDD ===
 
You should wait to plug in your installation target drive until after the Linux Mint live environment has finished booting.
 
 
 
== Install Process ==
 
This will be very similar to a normal Linux Mint install 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 small FAT EFI partition, a large EXT4 root partition, and then a small swap partition. This is all fine.
 
 
 
=== If you're installing Mint to a USB flash drive or USB HDD ===
 
The GRUB configuration is going to need some adjustments to make your target disk boot without the installer disk present.
 
 
 
After finishing the installer, shut down the MinnowMax, and start it back up again with only the target disk plugged in. You will need to get to the bootloader menu and hit "e" to edit the first entry. Change all mentions of <code>hd1,gpt2</code> to <code>hd0,gpt2</code> and all mentions of <code>ahci1,gpt2</code> to <code>ahci0,gpt2</code>. Then hit F10 to boot your Linux Mint installation for the first time. If you get an EFI shell, see [[#Booting from your Linux Mint Installation]] for instructions on getting to a bootloader menu.
 
 
 
Once you've finished booting and have logged in, launch a terminal and run the following command to regenerate your GRUB configuration:
 
<code>
 
    sudo update-grub
 
</code>
 
You will no longer have to manually edit the bootloader entry every time you boot Linux Mint. Be sure no bootable storage volumes besides your Mint installation are plugged in when you do this.
 
 
 
=== 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 Linux Mint 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:
 
<code>
 
    fs0:
 
    EFI\ubuntu\grubx64.efi
 
</code>
 
 
 
If you want to adjust your boot order manually, you can run the following EFI command:
 
<code>
 
    exit
 
</code>
 
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.)
 
 
 
= Fedora 20 x86-64 =
 
 
 
To create a bootable USB installer drive for Fedora, instead of using a 3rd-party tool like Unetbootin, you should be using one of the direct write methods listed here:
 
https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#quickstarts
 
 
 
== Booting from the installer flash drive ==
 
If you get an EFI shell, the following commands should get the installer booting:
 
<code>
 
    fs0:
 
    EFI\BOOT\grubx64.efi
 
</code>
 
However, depending on the boot order setup of your MinnowBoard MAX, you may not get an EFI shell at all.
 
 
 
=== If you're installing Fedora to a USB flash drive or USB HDD ===
 
You should wait to plug in your installation target drive until after the Fedora live environment has finished booting.
 
 
 
=== If you're installing Fedora to a MicroSD Card ===
 
Unlike if you are installing to USB drive, you should be able to boot from the installer USB with an SD card already in the MinnowBoard MAX. If the MicroSD card already has an OS on it that you want to replace, you may have to wait until the Fedora live environment has finished booting before plugging it in, or change your boot order in the MinnowBoard MAX's legacy BIOS menu. If plugged in when the MinnowMax is powered on, the MicroSD card may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
=== If you're installing Fedora to a SATA drive ===
 
You should have the drive plugged in before you power on the MinnowBoard MAX. If the SATA drive already has an OS on it that you want to replace, you may have to change your boot order in the MinnowBoard MAX's legacy BIOS menu. Since it's plugged in when the MinnowMax is powered on, the SATA drive may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
== Install Process ==
 
This will be very similar to a normal Fedora install process. The one thing that might be a little different is that you must be sure to select the correct drive to install to on the "installation destination" screen. You may have to use the "reclaim space" tool to delete any existing partitions on your target drive. Once you've cleaned out the target drive of its existing partitions, you should just let the Fedora installer repartition the drive automatically if you possibly can.
 
 
 
=== Installing to Very Small Disks ===
 
If the disk you're installing to is 4 gigabytes or less, you may need to create the partition table manually. You should use the "create mountpoint automatically" button from within the manual partitioning tool, then adjust the partition table manually. You can avoid creating a separate /boot partition, which is the default behavior, and just make the root partition bigger instead. You'll also have to change the root partition type from "LVM" to "Standard Partition," as EFI systems cannot boot directly from LVM partitions. This should stop the Fedora installer from complaining about insufficient space. (You still need a separate /boot/efi partition, so don't get rid of that.) However, you should really get a bigger disk instead.
 
 
 
Otherwise, you can proceed with the Fedora installation as normal.
 
  
=== If you're installing Fedora to a USB flash drive or USB HDD ===
+
'''Please Note:''' FreeBSD 10.0 Does NOT have a suitable UEFI image available for download.
The GRUB configuration is going to need some adjustments to make your target disk boot without the installer disk present.
 
  
After finishing the installer, shut down the MinnowMax, and start it back up again with only the target disk plugged in. You will need to get to the bootloader menu and hit "e" to edit the first entry. Change all mentions of <code>hd1,gpt2</code> to <code>hd0,gpt2</code> and all mentions of <code>ahci1,gpt2</code> to <code>ahci0,gpt2</code>. Then hit F10 to boot your Fedora installation for the first time.
+
== Download the image ==
 +
Download the FreeBSD UEFI memstick image from the link below:
  
Once you've finished booting and have logged in, launch a terminal and run the following command to regenerate your GRUB configuration:
+
ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.1/FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img
<code>
 
    sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
 
</code>
 
You will no longer have to manually edit the bootloader entry every time you boot Fedora. Be sure no other bootable storage volumes besides your Fedora installation are plugged in when you do this, otherwise you may get extraneous bootloader menu entries.
 
  
=== If you're installing Fedora to a MicroSD Card ===
+
== Create a bootable installer ==
The GRUB configuration should be fine, but the default initial ramdisk (INITRD) does not yet include drivers necessary for the kernel to boot from the MicroSD card.
+
To create a bootable USB installer drive for FreeBSD, you should use the "direct write method" such as:
  
After finishing the installer, leave the live environment running for a while. You should be able to find the SD card mounted in /run/media/liveuser. The precise name of the mountpoint will depend on the SD card's UUID and will vary. You will want to chroot into the Fedora installation you just made, change the configuration of your INITRD, and then regenerate your INITRD with your new configuration. Run the following commands in a terminal:
+
dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdX bs=64K
<code>
 
    sudo mount --bind /proc /run/media/liveuser/<uuid>/proc
 
    sudo mount --bind /dev /run/media/liveuser/<uuid>/dev
 
    sudo mount --bind /sys /run/media/liveuser/<uuid>/sys
 
    sudo chroot /run/media/liveuser/<uuid> /bin/bash
 
    echo 'add_drivers+="mmc_block sdhci sdhci-pci sdhci-acpi"' >> /etc/dracut.conf
 
    dracut --force --kver 3.11.10-301.fc20.x86_64
 
    exit
 
    sudo sync
 
</code>
 
These instructions are based on these pages:
 
* http://wiki.centos.org/TipsAndTricks/CreateNewInitrd
 
* https://bbs.archlinux.org/viewtopic.php?id=97207
 
You may need to adjust the dracut line based on what kernel version your Fedora installer was built with.
 
  
At this point, you should be able to shut down the MinnowMax, and start it back up again with only the MicroSD card plugged in. Fedora should boot without incident.
+
For instance If your freshly inserted USB is /dev/sdb then run the following command:
  
=== If you're installing Fedora to a SATA Drive ===
+
dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdb bs=64K
Because the SATA ports get scanned before the USB ports, your SATA drive should have been detected before the installer USB, so the GRUB setup on your new Fedora installation is already correct. Your installation is complete.
 
  
=== 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 (was not tested on Fedora.) Linux 3.14 is already available in Fedora's repositories. Just run a normal system update process to install it.
 
  
You may also want to install a different desktop than GNOME 3, as gnome-shell is somewhat unresponsive on the MinnowBoard MAX.
+
If you have a Windows system use the method listed here:
  
= Debian 8.0 Jessie (testing) Alpha 1 AMD64 =
+
https://www.freebsd.org/doc/handbook/install-pre.html#install-boot-media
  
This was tested with the Debian Jessie Alpha 1 AMD64 XFCE CD image, although the DVD image would work as well. To make the bootable installer USB drive, a direct write method was used. Other methods would probably work as well, but these are as yet untested.
+
== Booting the Installer ==
 +
Insert the USB drive into the Minnowboard Max and power it on. Once you get to the  EFI shell, the following command will boot the installer:
  
The XFCE desktop was quite responsive. However, for whatever reason, 3D performance didn't seem as good as Ubuntu or Mint. TODO: revisit this and confirm.
+
fs0:\efi\boot\bootx64.efi
  
== Booting from the installer flash drive ==
+
'''NOTE''' Consider waiting 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. Once the system has fully booted insert the USB/SD card and the FreeBSD kernel will display the device name on screen, which will aid you in identifying the proper target device.
If you get an EFI shell, the following commands should get the installer booting:
 
<code>
 
    fs0:
 
    EFI\BOOT\bootx64.efi
 
</code>
 
However, depending on the boot order setup of your MinnowBoard MAX, you may not get an EFI shell at all.
 
 
 
At the boot menu, select "graphical install."
 
 
 
=== If you're installing Debian to a USB flash drive or USB HDD ===
 
You should wait to plug in your installation target drive until after the Debian installer has started. As soon as you get to the language selection screen, then you can plug your target drive in.
 
 
 
=== If you're installing Debian to a SATA drive ===
 
You should have the drive plugged in before you power on the MinnowBoard MAX. If the SATA drive already has an OS on it that you want to replace, you may have to change your boot order in the MinnowBoard MAX's legacy BIOS menu. Since it's plugged in when the MinnowMax is powered on, the SATA drive may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
=== If you're installing Debian to a MicroSD Card ===
 
Unlike if you are installing to USB drive, you should be able to boot from the installer USB with an SD card already in the MinnowBoard MAX. If the MicroSD card already has an OS on it that you want to replace, you may have to wait until the installer has started before plugging it in, or change your boot order in the MinnowBoard MAX's legacy BIOS menu. If plugged in when the MinnowMax is powered on, the MicroSD card may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
  
 
== Install Process ==
 
== Install Process ==
This will be very similar to a normal Debian install process. When it comes time to set up the partition table, select "Guided - Use Entire Disk," and then on the next screen select the correct storage volume to install to. On the next screen, select "All files in one partition" unless you want a separate /home partition. The installer will create a small FAT EFI partition, a large EXT4 root partition, and then a small swap partition. This is all fine.
+
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.
 
 
It can be a little tricky to make sure the Debian installer does not try to create any partitions on itself, more so than with the other distros. Just be aware of it.
 
 
 
=== Installing to Very Small Disks ===
 
If the disk you're installing to is very small, you may have to make some adjustments to the partition table manually to get Debian to fit. For example, you may be able to get away with not having a swap partition if you're confident of not running out of RAM during normal usage of the MinnowBoard. You can also shrink the swap and/or EFI boot partitions. You do still need the EFI boot partition, so don't get rid of it entirely.
 
 
 
=== If you're installing Debian to a USB flash drive or USB HDD ===
 
The GRUB configuration is going to need some adjustments to make your target disk boot without the installer disk present.
 
 
 
After finishing the installer, shut down the MinnowMax, and start it back up again with only the target disk plugged in. You will need to get to the bootloader menu and hit "e" to edit the first entry. Change all mentions of <code>hd1,gpt2</code> to <code>hd0,gpt2</code> and all mentions of <code>ahci1,gpt2</code> to <code>ahci0,gpt2</code>. Then hit F10 to boot your Debian installation for the first time. If you get an EFI shell, see [[#Booting from your Debian Installation]] for instructions on getting to a bootloader menu.
 
 
 
Once you've finished booting and have logged in, launch a terminal and run the following commands to regenerate your GRUB configuration:
 
<code>
 
    su
 
    update-grub
 
</code>
 
You will no longer have to manually edit the bootloader entry every time you boot Debian. Be sure no other bootable storage volumes besides your Debian installation are plugged in when you do this.
 
 
 
=== If you're installing Debian to a SATA drive ===
 
Because the SATA ports get scanned before the USB ports, your SATA drive should have been detected before the installer USB, so the GRUB setup on your new Debian installation is already correct. Your installation is complete.
 
 
 
=== If you're installing Debian to a MicroSD Card ===
 
Because the MicroSD cards use a different naming scheme than the USB ports, the GRUB setup on your new Debian installation is already correct. The INITRD for Debian is also already correct. Your installation is complete.
 
 
 
=== Final Steps ===
 
It is highly recommended that you upgrade to a new kernel (3.14 or newer) after your installation is complete. Linux 3.14 is already available in Debian Testing's repositories. Just run apt-get dist-upgrade to install it.
 
 
 
The easiest way to get sound output working is to install PulseAudio. Install the "pavucontrol" package and the rest of pulseaudio should get installed along with it. You may need to reboot. The combination of Linux 3.14 and Pulseaudio has been shown to result in working sound output. It's possible that Linux 3.13 is already new enough for sound output to work, but there's no reason not to upgrade anyway.
 
 
 
== Booting from your Debian Installation ==
 
 
 
=== If you're installing Debian to a USB flash drive or USB HDD ===
 
The Debian installer seemed to change the boot order setup of the MinnowBoard MAX correctly, but if you end up at an EFI shell, try these commands:
 
<code>
 
    fs0:
 
    EFI\debian\grubx64.efi
 
</code>
 
 
 
= Ubuntu 14.04 LTS Desktop AMD64 =
 
 
 
For this test, the standard edition of Ubuntu with Unity was used. Any Ubuntu derative should have a similar install process.
 
 
 
To make the bootable installer USB drive, a direct write method was used. Other methods would probably work as well, but these are as yet untested.
 
 
 
The Unity desktop seemed to have adequate performance on the MinnowMax for the most part. 3D performance is pretty good.
 
 
 
== Booting from the installer flash drive ==
 
If you get an EFI shell, the following commands should get the installer booting:
 
<code>
 
    fs0:
 
    efi\boot\grubx64.efi
 
</code>
 
However, depending on the boot order setup of your MinnowBoard MAX, you may not get an EFI shell at all.
 
 
 
NOTE: for Ubuntu 14.04, the EFI directory may be in upper case, so the command would look like this:
 
 
 
<code>
 
    fs0:
 
    EFI\BOOT\grubx64.efi
 
</code>
 
 
 
=== If you're installing Ubuntu to a USB flash drive or USB HDD ===
 
At the bootloader menu, select "try Ubuntu without installing." You should wait to plug in your installation target drive until after the Ubuntu live environment has finished booting.
 
 
 
=== If you're installing Ubuntu to a SATA drive ===
 
You should have the drive plugged in before you power on the MinnowBoard MAX. If the SATA drive already has an OS on it that you want to replace, you may have to change your boot order in the MinnowBoard MAX's legacy BIOS menu. Since it's plugged in when the MinnowMax is powered on, the SATA drive may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
=== If you're installing Ubuntu to a MicroSD Card ===
 
Unlike if you are installing to USB drive, you should be able to boot from the installer USB with an SD card already in the MinnowBoard MAX. If the MicroSD card already has an OS on it that you want to replace, you may have to wait until the installer has started before plugging it in, or change your boot order in the MinnowBoard MAX's legacy BIOS menu. If plugged in when the MinnowMax is powered on, the MicroSD card may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
== Install Process ==
 
This will be very similar to a normal Ubuntu install 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 small FAT EFI partition, a large EXT4 root partition, and then a small swap partition. This is all fine.
 
 
 
=== If you're installing Ubuntu to a USB flash drive or USB HDD ===
 
The GRUB configuration is going to need some adjustments to make your target disk boot without the installer disk present.
 
 
 
After finishing the installer, shut down the MinnowMax, and start it back up again with only the target disk plugged in. You will need to get to the bootloader menu and hit "e" to edit the first entry. Change all mentions of <code>hd1,gpt2</code> to <code>hd0,gpt2</code> and all mentions of <code>ahci1,gpt2</code> to <code>ahci0,gpt2</code>. Then hit F10 to boot your Ubuntu installation for the first time. If you get an EFI shell, see [[#Booting from your Linux Mint Installation]] for instructions on getting to a bootloader menu.
 
 
 
Once you've finished booting and have logged in, launch a terminal and run the following command to regenerate your GRUB configuration:
 
<code>
 
    sudo update-grub
 
</code>
 
You will no longer have to manually edit the bootloader entry every time you boot Ubuntu. Be sure no bootable storage volumes besides your Ubuntu installation are plugged in when you do this.
 
 
 
=== If you're installing Ubuntu to a SATA drive ===
 
Because the SATA ports get scanned before the USB ports, your SATA drive should have been detected before the installer USB, so the GRUB setup on your new Ubuntu installation is already correct. Your installation is complete.
 
 
 
=== If you're installing Ubuntu to a MicroSD Card ===
 
Because the MicroSD cards use a different naming scheme than the USB ports, the GRUB setup on your new Ubuntu installation is already correct. The INITRD for Ubuntu is also already correct. Your installation is complete.
 
 
 
=== Final Steps ===
 
It is highly recommended that you upgrade to a new kernel (3.14 or newer) after your installation is complete. Linux 3.14 can be installed by following these directions: https://wiki.ubuntu.com/Kernel/MainlineBuilds
 
 
 
However, after installing with this method, HDMI sound output still didn't work.
 
 
 
= Red Hat Enterprise Linux Server 7.0 Beta x86-64 / CentOS 7.0 x86-64 =
 
 
 
This was tested with a Red Hat Enterprize Linux Server 7.0 Beta 64-bit DVD image. To make the bootable installer USB drive, a direct write method was used. Only the minimal install was tested-- an X server or desktop environment was not installed, so the state of video/sound playback or 3D acceleration on RHEL is unknown.
 
 
 
A CentOS 7.0 x86-64 DVD image was also tested. To make the bootable installer USB drive, a direct write method was used. The KDE desktop was chosen for the CentOS test, and it seemed to work OK.
 
 
 
== Booting from the installer flash drive ==
 
If you get an EFI shell, the following commands should get the installer booting:
 
<code>
 
    fs0:
 
    EFI\BOOT\grubx64.efi
 
</code>
 
However, depending on the boot order setup of your MinnowBoard MAX, you may not get an EFI shell at all.
 
 
 
=== If you're installing RHEL/CentOS to a SATA drive ===
 
You should have the drive plugged in before you power on the MinnowBoard MAX. If the SATA drive already has an OS on it that you want to replace, you may have to change your boot order in the MinnowBoard MAX's legacy BIOS menu. Since it's plugged in when the MinnowMax is powered on, the SATA drive may get picked up by the EFI firmware prior to your installer USB. Depending on what partitions there already are on the installation target, the installer USB may get detected as something other than fs0-- for example, fs1 or fs2. Adjust your EFI shell commands accordingly. A list of detected partitions should be displayed when the EFI shell is initialized. Look for the one that says "USB," and that will likely be your installer.
 
 
 
== Install Process ==
 
This will be very similar to a normal RHEL/CentOS install process. The one thing that might be a little different is that you must be sure to select the correct drive to install to on the "installation destination" screen. You may have to select the "I would like to make additional space available" option to delete any existing partitions on your target drive. Once you've cleaned out the target drive of its existing partitions, you should just let the installer repartition the drive automatically if you possibly can.
 
 
 
=== If you're installing RHEL/CentOS to a SATA Drive ===
 
Because the SATA ports get scanned before the USB ports, your SATA drive should have been detected before the installer USB, so the GRUB setup on your new RHEL/CentOS installation is already correct. Your installation is complete.
 
 
 
=== Final Steps ===
 
 
 
Upgrading to a newer major release of the Linux kernel would defeat much of the benefits of using [[RHEL]] or CentOS. However, the Red Hat developers tend to backport important fixes to their kernels, so you should run a normal system update process to get the newest kernel you possibly can. If you're not using an X server, you should be somewhat insulated from kernel bugs associated with Bay Trail support.
 
 
 
= TIZEN =
 
 
 
Officially supported by [[Tizen]] project :
 
 
 
* https://wiki.tizen.org/wiki/Common#How_to_install_Tizen:Common_on_MinnowBoard_Max
 
 
 
Experimental release shippping [[XBMC]] : tizen-minnowboardmax-0.0.20140819rzr.img.xz (md5=009cdba2efb649f49e02af1a4aa55d2d).
 
 
 
* https://dockr.eurogiciel.fr/blogs/embedded/tizen-minnowboard-max/
 
 
 
= OpenWrt =
 
 
 
Unofficially supported:
 
* http://wiki.openwrt.org/toh/minnowboard/minnowboard-max
 
 
 
== Install process ==
 
 
 
There are _no_ pre-built OpenWrt images that will work with this device. You will need to build your own. The below is known to work with r42668 (anything with a Kernel newer than 3.3 should be okay).
 
 
 
This device uses a x64 CPU and the generic x64 OpenWrt build will work fine on it, with a few changes. The main issue with getting this device to work is its use of EFI, which the OpenWrt build system does not cater for currently. To get it working we're going to need to perform a custom build and change some kernel configuration. So make sure you setup your Buildroot (http://wiki.openwrt.org/doc/howto/build) first!
 
 
 
Firstly we'll setup the basics for an x64 build with an appropriate network card driver:
 
 
 
    ~/openwrt$ make menuconfig
 
    ~/openwrt$ # Set the target as x86_64
 
    ~/openwrt$ # Go to Kernel Modules > Network Devices > Check kmod-r8169
 
 
 
Now we make some changes to the kernel to support EFI stub booting (http://www.rodsbooks.com/efi-bootloaders/efistub.html). This effectively allows us to boot without a bootloader:
 
 
 
    ~/openwrt$ make kernel_menuconfig
 
    ~/openwrt$ # Go to Processor Type and Features > Check Symmetric Multi Processing support, EFI runtime service support, Check EFI stub support
 
    ~/openwrt$ # Go to Firmware Drivers > EFI Support > Check EFI Variable Support via sysfs
 
 
 
Now build OpenWrt:
 
 
 
    ~/openwrt$ make V=99
 
 
 
We're not done yet. The 'combined' OpenWrt image that's been built will work fine on a PC with a legacy BIOS, but not an EFI firmware. We now need to manually create our image with a special EFI partition.
 
 
 
Find a spare 256MB USB stick (or greater) and connect it to your PC. The below assumes it is /dev/sdf (you can find what it really is by running 'dmesg' immediately after attaching it). Warning - the below will destroy the contents of the USB stick!
 
 
 
    ~/openwrt# parted /dev/sdf
 
    ~/openwrt# (parted) mklabel gpt
 
    ~/openwrt# (parted) mkpart ESI fat32 0 64MiB
 
    ~/openwrt# (parted) mkpart primary ext4 64MiB 256MiB
 
    ~/openwrt# (parted) set 1 boot on
 
    ~/openwrt# (parted) quit
 
 
 
Now we format the new partitions (you may need dosfstools on RHEL/CentOS for this):
 
 
 
    ~/openwrt# mkfs.vfat -F 32 /dev/sdf1
 
    ~/openwrt# mkfs.ext4 /dev/sdf2
 
 
 
If all is well, you should have this:
 
 
 
    ~/openwrt# parted /dev/sdf print
 
    Model:  USB DISK 2.0 (scsi)
 
    Disk /dev/sdf: 3910MB
 
    Sector size (logical/physical): 512B/512B
 
    Partition Table: gpt
 
   
 
    Number  Start  End    Size    File system  Name    Flags
 
    1      17.4kB  67.1MB  67.1MB  fat32        ESI      boot
 
    2      67.1MB  268MB  201MB  ext4        primary
 
 
 
Let's mount the partitions in preparation for working on them:
 
 
 
    ~/openwrt# mkdir -p /tmp/sdf1
 
    ~/openwrt# mkdir -p /tmp/sdf2
 
    ~/openwrt# mount /dev/sdf1 /tmp/sdf1
 
    ~/openwrt# mount /dev/sdf2 /tmp/sdf2
 
 
 
Create the boot partition. Note that we're launching our kernel directly from the EFI startup script (supported by the Minnowboard Max). Tweak the kernel params if you need to (this works for me):
 
 
 
    ~/openwrt# mkdir -p /tmp/sdf1/EFI/BOOT/
 
    ~/openwrt# cp -r ~/openwrt/bin/x86_64/openwrt-x86_64-vmlinuz /tmp/sdf1/EFI/BOOT/bootx64.efi
 
    ~/openwrt# echo "fs0:\EFI\BOOT\bootx64.efi root=/dev/sda2 rootfstype=ext4 rootwait console=tty0 noinitrd" > /tmp/sdf1/startup.nsh
 
  
Now unpack OpenWrt into the root partition:
+
== Final Steps ==
 +
You may need to edit the /etc/fstab to reflect the appropriate root device or else your system may fail to boot after installation.
 +
The FreeBSD installer detected your installation media as well as your target device and numbered them accordingly.
  
    ~/openwrt# tar -zx -C /tmp/sdf2 -f ~/openwrt/bin/x86_64/openwrt-x86_64-rootfs.tar.gz
+
If your installation target was drive da1 during the installation process then you need to change every instance of da1 to da0
  
Cleanup safely:
+
== Booting from your FreeBSD 10.1 Installation ==
  
    ~/openwrt# unmount /dev/sdf1
+
fs0:\EFI\BOOT\bootx64.efi
    ~/openwrt# unmount /dev/sdf2
 
    ~/openwrt# eject /dev/sdf
 
  
Unplug the USB stick, connect it to the Minnowboard Max, and it should boot! The HDMI output stops for me after the boot command is executed, but it continues to boot fine. You should be able to ping the device on 192.168.1.1 after a minute or so.
+
'''NOTE:''' Your FreeBSD system WILL fail to boot if you create a boot entry in the UEFI Boot Manager.  
  
= Operating systems that have not yet been successfully tested =
+
The only current way to achieve unassisted booting of FreeBSD on the Minnowboard Max is to utilize a <code>startup.nsh</code> file.
  
== RHEL / CentOS 6.x ==
+
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
The RHEL / CentOS 6.5 installer kernel panics due to an issue finding the install medium root partition.  This is likely due to an older kernel lacking Bay Trail support. Depending on what updates have been backported since the CentOS 6.5 installer image was built, a fully updated RHEL / CentOS 6.5 installation may boot correctly, although this is completely untried, and the process of getting there without being able to use the standard installer image on the MinnowBoard MAX is likely to be complicated. Waiting for RHEL / CentOS 7 to come out may be a safer bet.
 

Latest revision as of 23:25, 18 November 2014

THESE INSTRUCTIONS ARE NOT YET COMPLETE! THIS IS A WORK IN PROGRESS

Considerations

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

Installing FreeBSD 10.1 AMD64"

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

Download the image

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

Create a bootable installer

To create a bootable USB installer drive for FreeBSD, you should use the "direct write method" such as:

dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdX bs=64K

For instance If your freshly inserted USB is /dev/sdb then run the following command:

dd if=FreeBSD-10.1-RELEASE-amd64-uefi-memstick.img of=/dev/sdb bs=64K


If you have a Windows system use the method listed here:

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

Booting the Installer

Insert the USB drive into the Minnowboard Max and power it on. Once you get to the EFI shell, the following command will boot the installer:

fs0:\efi\boot\bootx64.efi

NOTE Consider waiting 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. Once the system has fully booted insert the USB/SD card and the FreeBSD kernel will display the device name on screen, which will aid you in identifying the proper target device.

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

You may need to edit the /etc/fstab to reflect the appropriate root device or else your system may fail to boot after installation. The FreeBSD installer detected your installation media as well as your target device and numbered them accordingly.

If your installation target was drive da1 during the installation process then you need to change every instance of da1 to da0

Booting from your FreeBSD 10.1 Installation

fs0:\EFI\BOOT\bootx64.efi

NOTE: Your FreeBSD system WILL fail to boot if you create a boot entry in the UEFI Boot Manager.

The only current way to achieve unassisted booting of FreeBSD on the Minnowboard Max is to utilize a startup.nsh file.

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