board/minnowboard: Rework to generate SD card image

Let's rework the board and config files to use genimage
to generate the SD card image directly.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Ezequiel García 2016-04-16 12:23:20 -03:00 committed by Peter Korsgaard
parent e645a3b0ed
commit 54ec0e2a74
4 changed files with 68 additions and 27 deletions

View File

@ -0,0 +1,34 @@
# Create an image of the efi partition
image efi-part.vfat {
vfat {
file startup.nsh {
image = "efi-part/startup.nsh"
}
file EFI {
image = "efi-part/EFI"
}
file bzImage {
image = "bzImage"
}
}
size=10M
}
# Create the sdcard image, pulling in
# * the image created by buildroot
# * the efi-partition created above
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xEF
image = "efi-part.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

13
board/minnowboard/post-image.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/sh -e
GENIMAGE_CFG="board/minnowboard/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@ -1,40 +1,25 @@
Prepare the SD card for the Minnow Board
How to get started with the MinnowBoard
========================================
1. Partition the SD card with a GPT partition table
1. Build
sudo cgdisk /dev/mmcblk0
Apply the defconfig:
Create two partitions:
$ make minnowboard_defconfig
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).
Add any additional packages required and build:
b) Second partition of any size, which will be used to store the
root filesystem. Type must be 8300 (Linux filesystem)
$ make
2. Prepare the boot partition
2. Write the SD card
We will format it, mount it, copy the EFI data generated by
Buildroot, and the kernel image.
The build process will create a SD card image in output/images.
Write the image to an mSD card, insert into the MinnowBoard
and power the board on.
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
$ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync
3. Prepare the root partition
We will format it, mount it, and extract the root filesystem.
sudo mkfs.ext3 -L root /dev/mmcblk0p2
sudo mount /dev/mmcblk0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
4. Enjoy
3. Enjoy
Additional information about this board can be found at
http://www.minnowboard.org/.

View File

@ -5,9 +5,13 @@ BR2_x86_atom=y
# Misc
BR2_TARGET_GENERIC_GETTY_PORT="ttyPCH0"
BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard/post-build.sh"
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard/post-image.sh"
# Linux headers same as kernel, a 3.8 series
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_GENIMAGE=y
BR2_PACKAGE_HOST_MTOOLS=y
# Linux kernel
BR2_LINUX_KERNEL=y
@ -20,3 +24,8 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard/linux-3.8.config"
# Bootloader
BR2_TARGET_GRUB2=y
BR2_TARGET_GRUB2_I386_EFI=y
# Filesystem image
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
# BR2_TARGET_ROOTFS_TAR is not set