[Buildroot] [PATCH] board: Add nanopi-m1 Support
Chakra D
2chakrass at gmail.com
Fri Jun 16 16:22:38 UTC 2017
Hi Arnout,
Thanks for the feedback....happy to see your comments as it is my
first patch in the buildroot
On Fri, Jun 16, 2017 at 3:23 AM, Arnout Vandecappelle <arnout at mind.be> wrote:
> Hi Chakra,
>
> Thanks you for this contribution! I have a few more comments in addition to
> Thomas's. But it looks pretty good!
>
> On 15-06-17 19:24, Chakra Divi wrote:
>> Add initial support for nanopi-m1 board
>> with below features
>> - U-Boot 2017.07-rc1
>> - Linux 4.11
>> - Default packages from buildroot
>>
>> Created a new folder nanopi under buildroot
>> board; any new board for nanopi can be added
>> here
>
> Will you also provide a patch that moves nanopi-neo there, and reuses the same
> scripts?
>
Yes will move it under vendor folder "friendlyarm"
>
>> Signed-off-by: Chakra Divi <chakra at openedev.com>
>> ---
>> board/nanopi/nanopi-m1/boot.cmd | 8 ++++++++
>> board/nanopi/nanopi-m1/genimage.cfg | 36 ++++++++++++++++++++++++++++++++++
>> board/nanopi/nanopi-m1/post-build.sh | 1 +
>> board/nanopi/nanopi-m1/post-image.sh | 1 +
>> board/nanopi/nanopi-m1/readme.txt | 29 +++++++++++++++++++++++++++
>> board/nanopi/post-build.sh | 11 +++++++++++
>> board/nanopi/post-image.sh | 14 +++++++++++++
>> configs/nanopi_m1_defconfig | 29 +++++++++++++++++++++++++++
>> 8 files changed, 129 insertions(+)
>> create mode 100644 board/nanopi/nanopi-m1/boot.cmd
>> create mode 100644 board/nanopi/nanopi-m1/genimage.cfg
>> create mode 120000 board/nanopi/nanopi-m1/post-build.sh
>> create mode 120000 board/nanopi/nanopi-m1/post-image.sh
>> create mode 100644 board/nanopi/nanopi-m1/readme.txt
>> create mode 100755 board/nanopi/post-build.sh
>> create mode 100755 board/nanopi/post-image.sh
>> create mode 100644 configs/nanopi_m1_defconfig
>
> When adding a defconfig, please also run 'make .gitlab-ci.yml' to update the
> Gitlab-CI configuration. Yes, we should update the documentation to mention this :-)
>
Yes will do and send updated patch
> Also, please add yourself to the DEVELOPERS file for this board (both
> config/xxx_defconfig and board/nanopi/).
>
Yes will do -
> [snip]
>> diff --git a/board/nanopi/nanopi-m1/genimage.cfg b/board/nanopi/nanopi-m1/genimage.cfg
>> new file mode 100644
>> index 0000000..23c9c7d
>> --- /dev/null
>> +++ b/board/nanopi/nanopi-m1/genimage.cfg
>> @@ -0,0 +1,36 @@
>> +# Minimal SD card image for the NanoPi M1
>> +#
>> +image boot.vfat {
>> + vfat {
>> + files = {
>> + "zImage",
>> + "sun8i-h3-nanopi-m1.dtb",
>> + "boot.scr"
>> + }
>> + }
>> + size = 10M
>> +}
>> +
>> +image sdcard.img {
>> + hdimage {
>> + }
>> +
>> + partition u-boot {
>> + in-partition-table = "no"
>> + image = "u-boot-sunxi-with-spl.bin"
>> + offset = 8192
>> + size = 1040384 # 1MB - 8192
>> + }
>> +
>> + partition boot {
>> + partition-type = 0xC
>> + bootable = "true"
>> + image = "boot.vfat"
>> + }
>> +
>> + partition rootfs {
>> + partition-type = 0x83
>> + image = "rootfs.ext4"
>> + size = 512M
>
> No need to specify the size, genimage will take it from the ext4 file. Yes, I
> know, many .cfg files don't specify this correctly.
>
Will make the change
>> + }
>> +}
>> diff --git a/board/nanopi/nanopi-m1/post-build.sh b/board/nanopi/nanopi-m1/post-build.sh
>> new file mode 120000
>> index 0000000..cd7f116
>> --- /dev/null
>> +++ b/board/nanopi/nanopi-m1/post-build.sh
>> @@ -0,0 +1 @@
>> +../post-build.sh
>> \ No newline at end of file
>> diff --git a/board/nanopi/nanopi-m1/post-image.sh b/board/nanopi/nanopi-m1/post-image.sh
>
> As mentioned by Thomas, the post-image script isn't needed, instead you can
> call support/script/genimage.sh directly. You have to add
> BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/nanopi/nanopi-m1/genimage.cfg"
>
Do you mean add the following config def config file ?
BR2_ROOTFS_POST_SCRIPT_ARGS="-c support/script/genimage.sh'"
> [snip]
>> diff --git a/board/nanopi/post-build.sh b/board/nanopi/post-build.sh
>> new file mode 100755
>> index 0000000..a544a19
>> --- /dev/null
>> +++ b/board/nanopi/post-build.sh
>> @@ -0,0 +1,11 @@
>> +#!/bin/sh
>> +# post-build.sh for OrangePi taken from CubieBoard's post-build.sh
>
> I don't think this is relevant anymore...
>
Ok will remove it. I thought post-build.sh might be needed if a specific board
want to implement something different from normal flow.
>> +# 2013, Carlo Caione <carlo.caione at gmail.com>
>> +
>> +BOARD_DIR="$(dirname $0)"
>> +MKIMAGE=$HOST_DIR/usr/bin/mkimage
>> +BOOT_CMD=$BOARD_DIR/boot.cmd
>> +BOOT_CMD_H=$BINARIES_DIR/boot.scr
>> +
>> +# U-Boot script
>> +$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
> [snip]
>> diff --git a/configs/nanopi_m1_defconfig b/configs/nanopi_m1_defconfig
>> new file mode 100644
>> index 0000000..b1443f8
>> --- /dev/null
>> +++ b/configs/nanopi_m1_defconfig
>> @@ -0,0 +1,29 @@
>> +BR2_arm=y
>> +BR2_cortex_a7=y
>> +BR2_ARM_FPU_VFPV4=y
>> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11=y
>> +BR2_TARGET_GENERIC_HOSTNAME="nanopi-m1"
>> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi M1"
>> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/nanopi/nanopi-m1/post-build.sh"
>> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nanopi/nanopi-m1/post-image.sh"
>> +BR2_LINUX_KERNEL=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION=y
>> +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.11"
>
> Why not 4.11.5?
>
Will change it 4.11.5
> Regards,
> Arnout
>
>> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
>> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
>> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-m1"
>> +BR2_TARGET_ROOTFS_EXT2=y
>> +BR2_TARGET_ROOTFS_EXT2_4=y
>> +# BR2_TARGET_ROOTFS_TAR is not set
>> +BR2_TARGET_UBOOT=y
>> +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
>> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
>> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2017.07-rc1"
>> +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="nanopi_m1"
>> +BR2_TARGET_UBOOT_NEEDS_DTC=y
>> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
>> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
>> +BR2_PACKAGE_HOST_DOSFSTOOLS=y
>> +BR2_PACKAGE_HOST_GENIMAGE=y
>> +BR2_PACKAGE_HOST_MTOOLS=y
>> +BR2_PACKAGE_HOST_UBOOT_TOOLS=y
>>
>
> --
> Arnout Vandecappelle arnout at mind be
> Senior Embedded Software Architect +32-16-286500
> Essensium/Mind http://www.mind.be
> G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
> LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
> GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list