board/minnowboard-max: Rework to generate SD card image
Let's rework the board and config files to use genimage to generate the SD card image directly. [Peter: add host-mtools for genimage vfat handling] Signed-off-by: Ezequiel García <ezequiel@vanguardiasur.com.ar> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
6c59e8d1f6
commit
e88c82f30d
34
board/minnowboard-max/genimage.cfg
Normal file
34
board/minnowboard-max/genimage.cfg
Normal 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-max/post-image.sh
Executable file
13
board/minnowboard-max/post-image.sh
Executable file
@ -0,0 +1,13 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
GENIMAGE_CFG="board/minnowboard-max/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}"
|
@ -1,40 +1,25 @@
|
||||
Prepare the SD card for the Minnow Board MAX
|
||||
How to get started with the Minnow Board MAX
|
||||
============================================
|
||||
|
||||
1. Partition the SD card with a GPT partition table
|
||||
1. Build
|
||||
|
||||
sudo cgdisk /dev/mmcblk0
|
||||
Apply the defconfig:
|
||||
|
||||
Create two partitions:
|
||||
$ make minnowboard_max_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 MAX
|
||||
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.ext4 -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/ or http://wiki.minnowboard.org/MinnowBoard_MAX
|
||||
|
@ -5,9 +5,13 @@ BR2_x86_atom=y
|
||||
# Misc
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/minnowboard-max/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/minnowboard-max/post-image.sh"
|
||||
|
||||
# Linux headers same as kernel, a 4.4 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
|
||||
# Needed for ethernet
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
@ -23,3 +27,8 @@ BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/minnowboard-max/linux.config"
|
||||
# Bootloader
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_X86_64_EFI=y
|
||||
|
||||
# Filesystem image
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
Loading…
Reference in New Issue
Block a user