Minnowboard:MinnowMaxDistros

The general process of setting up Linux for the MinnowBoard MAX is quite similar to setting up Linux on any other computer:
 * 1) You make a bootable installer USB flash drive 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.
 * Some distros will need some tweaks to their initial RAM disks in order to boot from SDHC cards.
 * 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.
 * You may need to adjust the boot loader config after installation to properly boot

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:

Support matrix of firmware and OS:

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

Some things (like spi/spidev, i2c and gpios) may not work with stock distro kernels. If this is the case then you need to look at the Minnowboard Max Linux Kernel page

= Linux Mint 16 "Petra" 64-bit =

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: 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.

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.

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:

If you want to adjust your boot order manually, you can run the following EFI command: 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: 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 MicroSD Card
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.

After finishing the installer, leave the live environment running so that you may open a terminal. You should be able to find the SD card mounted in /mnt/sysimage/proc. 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. To do so, run the following commands in a terminal. And if you lose tty access at any point here, you may need to Ctrl+Alt+F4: These instructions are based on these pages: You may need to adjust the dracut line based on what kernel version your Fedora installer was built with. Or you can try the following command: dracut --force --kver $(uname -r)
 * http://wiki.centos.org/TipsAndTricks/CreateNewInitrd
 * https://bbs.archlinux.org/viewtopic.php?id=97207

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.

If you're installing Fedora 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 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.

= Debian 8.0 Jessie (testing) Alpha 1 AMD64 =

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.

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.

Booting from the installer flash drive
If you get an EFI shell, the following commands should get the installer booting: 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
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.

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 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.

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:

= 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: 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:

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 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.

If the installer doesn't autodetect the MicroSD card, try using an external USB SD card reader. Install the OS as normal on the SD card and, when done, replace the card in the slot on the MinnowMax board. You should now be able to boot directly from the SD card.

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

= 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: 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.

= Arch Linux =

Works fine when following the appropriate GPT/UEFI steps in the beginners guide https://wiki.archlinux.org/index.php/beginners%27_guide

Only snag I came across was when trying to boot in to the installation environment it couldn't find the appropriate /dev/disk/by-label early in the boot process. When this happened it dropped to a shell. Create the appropriate symlinks and then exit the shell and it will continue to boot.

ln -s /dev/sda1 /dev/disk/by-label/ARCH_201502 exit

Adjust accordingly to your configuration. The path it's expecting will be listed in the error.

I suspect (read: no proof) that using unetbootin to put the image on the flash drive may be the reason for this. So if you're using dd your mileage may vary.

= TIZEN =

Officially supported by Tizen project :


 * https://wiki.tizen.org/wiki/MinnowMax


 * 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/

Also Tizen could use yocto to build the whole system :


 * https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto

Experimental tizen-yocto image to test :


 * https://dockr.eurogiciel.fr/blogs/embedded/tizen-yocto-on-minnowmax/

Ask me for support --RzR (talk) 15:43, 26 November 2014 (UTC)

= Android =

Android* on Intel Platforms :

https://01.org/android-ia/guides/developers/build-and-install

= 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:

~/openwrt# tar -zx -C /tmp/sdf2 -f ~/openwrt/bin/x86_64/openwrt-x86_64-rootfs.tar.gz

Cleanup safely:

~/openwrt# unmount /dev/sdf1 ~/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.

= Operating systems that have not yet been successfully tested =

RHEL / CentOS 6.x
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.