Commit 8bc1b60a authored by Peter Korsgaard's avatar Peter Korsgaard
Browse files

board: add support for Minnowboard MAX

Very similar to the older Minnowboard, except that it works with mainline
Linux, uses 64bit firmware and a realtek NIC needing firmware.

The Linux configuration is based on the configuration fragment on elinux:
http://elinux.org/Minnowboard:MinnowMaxLinuxKernel



Many thanks to Circuitco for sponsoring a board.

Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 99e149d7
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
set default="0"
set timeout="5"

menuentry "Buildroot" {
	linux /bzImage root=/dev/mmcblk0p2 rootwait console=tty0 console=ttyS0,115200
}
+47 −0
Original line number Diff line number Diff line
CONFIG_NO_HZ=y
CONFIG_SMP=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_MATOM=y
CONFIG_EFI=y
CONFIG_PM_RUNTIME=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_INTEL_IDLE=y
CONFIG_IA32_EMULATION=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_CHR_DEV_SG=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y
CONFIG_NETDEVICES=y
CONFIG_R8169=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DW=y
CONFIG_I2C_I801=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_SPI=y
CONFIG_SPI_PXA2XX=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_AGP=y
CONFIG_DRM=y
CONFIG_DRM_I915=y
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_PWM=y
CONFIG_PWM_LPSS=y
CONFIG_EXT4_FS=y
+2 −0
Original line number Diff line number Diff line
#!/bin/sh
cp board/minnowboard-max/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
+40 −0
Original line number Diff line number Diff line
Prepare the SD card for the Minnow Board MAX
============================================

 1. Partition the SD card with a GPT partition table

    sudo cgdisk /dev/mmcblk0

    Create two partitions:

     a) First partition of a few dozens of megabytes, which will be
        used to store the bootloader and the kernel image. Type must
        be EF00 (EFI partition).

     b) Second partition of any size, which will be used to store the
        root filesystem. Type must be 8300 (Linux filesystem)

 2. Prepare the boot partition

    We will format it, mount it, copy the EFI data generated by
    Buildroot, and the kernel image.

    sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
    sudo mount /dev/mmcblk0p1 /mnt
    sudo cp -a output/images/efi-part/* /mnt/
    sudo cp output/images/bzImage /mnt/
    sudo umount /mnt

 3. Prepare the root partition

    We will format it, mount it, and extract the root filesystem.

    sudo mkfs.ext4 -L root /dev/mmcblk0p2
    sudo mount /dev/mmcblk0p2 /mnt
    sudo tar -C /mnt -xf output/images/rootfs.tar
    sudo umount /mnt

 4. Enjoy

Additional information about this board can be found at
http://www.minnowboard.org/ or http://elinux.org/Minnowboard:MinnowMax.
+27 −0
Original line number Diff line number Diff line
# Architecture
BR2_x86_64=y
BR2_x86_atom=y

# Misc
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"

# Lock to 3.17 headers to avoid breaking with newer kernels
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="3.17.2"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17=y

# Needed for ethernet
BR2_PACKAGE_LINUX_FIRMWARE=y
BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169=y

# Linux kernel
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.17.2"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux-3.17.config"

# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_X86_64_EFI=y