Skip to contentSkip to conversation

board: Add nanopi-m1 Support

PATCH New Chakra Divi 3 participants 7 messages Jun 15, 2017 – Jun 16, 2017

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

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

---
 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
board/nanopi/nanopi-m1/boot.cmd new file +8 -0
new file mode 100644
index 0000000..b4d612e
@@ -0,0 +1,8 @@
+setenv fdt_high ffffffff
+
+setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
+
+fatload mmc 0 $kernel_addr_r zImage
+fatload mmc 0 $fdt_addr_r sun8i-h3-nanopi-m1.dtb
+
+bootz $kernel_addr_r - $fdt_addr_r
board/nanopi/nanopi-m1/genimage.cfg new file +36 -0
new file mode 100644
index 0000000..23c9c7d
@@ -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
+	}
+}
board/nanopi/nanopi-m1/post-build.sh new file +1 -0
new file mode 120000
index 0000000..cd7f116
@@ -0,0 +1 @@
+../post-build.sh
\ No newline at end of file
board/nanopi/nanopi-m1/post-image.sh new file +1 -0
new file mode 120000
index 0000000..ae6294f
@@ -0,0 +1 @@
+../post-image.sh
\ No newline at end of file
board/nanopi/nanopi-m1/readme.txt new file +29 -0
new file mode 100644
index 0000000..8b10e4b
@@ -0,0 +1,29 @@
+NanoPi M1
+
+Intro
+=====
+
+This default configuration will allow you to start experimenting with the
+buildroot environment for the NanoPi M1. With the current configuration
+it will bring-up the board, and allow access through the serial console.
+
+How to build it
+===============
+
+Configure Buildroot:
+
+    $ make nanopi_m1_defconfig
+
+Compile everything and build the SD card image:
+
+    $ make
+
+How to write the SD card
+========================
+
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
+
+Copy the bootable "sdcard.img" onto an SD card with "dd":
+
+  $ sudo dd if=output/images/sdcard.img of=/dev/sdX
board/nanopi/post-build.sh new file +11 -0
new file mode 100755
index 0000000..a544a19
@@ -0,0 +1,11 @@
+#!/bin/sh
+# post-build.sh for OrangePi taken from CubieBoard's post-build.sh
+# 2013, Carlo Caione <[email protected]>
+
+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
board/nanopi/post-image.sh new file +14 -0
new file mode 100755
index 0000000..359b4c9
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+GENIMAGE_CFG="${BOARD_DIR}/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}"
configs/nanopi_m1_defconfig new file +29 -0
new file mode 100644
index 0000000..b1443f8
@@ -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"
+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
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

Hello,

Quoted 3 lines · Chakra Divi

Add initial support for nanopi-m1 board
with below features
- U-Boot 2017.07-rc1

Are you using this -rc1 because it's the first U-Boot version with support for this board?

Quoted 6 lines

- Linux 4.11
- Default packages from buildroot

Created a new folder nanopi under buildroot
board; any new board for nanopi can be added
here

We already have the support for another nanopi board in board/nanopi-neo/. Perhaps some refactoring is needed?

Also is "nanopi" really the vendor name? We normally like to have board/<vendor>/<boardname>/.

Quoted 10 lines
board/nanopi/post-image.sh new file +4 -0
new file mode 100755
index 0000000..359b4c9
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"

board/nanopi/post-image.sh line 14

Quoted 10 lines
board/nanopi/post-image.sh new file +10 -0
+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}"

Could you use support/scripts/genimage.sh instead ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
author
#2 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

Hi Thomas,

Thanks for the feedback - please find my answers inline

Quoted 9 lines · Thomas Petazzoni

Hello,

Quoted 3 lines · Chakra Divi

Add initial support for nanopi-m1 board
with below features
- U-Boot 2017.07-rc1

Are you using this -rc1 because it's the first U-Boot version with support for this board?

Yes i have verified and found that nanopi-m1 is supported from rc1. Is this an issue ?

Quoted 10 lines
Quoted 7 lines

- Linux 4.11
- Default packages from buildroot

Created a new folder nanopi under buildroot
board; any new board for nanopi can be added
here

We already have the support for another nanopi board in board/nanopi-neo/. Perhaps some refactoring is needed?

As Arnout suggested, will move "nanopi-neo" also under this vendor folder

Quoted 2 lines

Also is "nanopi" really the vendor name? We normally like to have board/<vendor>/<boardname>/.

vendor is "friendlyarm"

yuefei , can you please confirm this - shall i go ahead with folder name "friendlyarm" ?

Quoted 14 lines
Quoted 14 lines
board/nanopi/post-image.sh new file +8 -0
new file mode 100755
index 0000000..359b4c9
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+BOARD_DIR="$(dirname $0)"
+GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
+GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
+
+rm -rf "${GENIMAGE_TMP}"
+
Quoted 9 lines

board/nanopi/post-image.sh line 14

Quoted 6 lines
board/nanopi/post-image.sh new file +6 -0
+genimage                               \
+     --rootpath "${TARGET_DIR}"     \
+     --tmppath "${GENIMAGE_TMP}"    \
+     --inputpath "${BINARIES_DIR}"  \
+     --outputpath "${BINARIES_DIR}" \
+     --config "${GENIMAGE_CFG}"

Could you use support/scripts/genimage.sh instead ?

Ok will update

Quoted 7 lines

Thanks!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

#3 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

In reply to Chakra Divi

Hi Chakra,

Thanks you for this contribution! I have a few more comments in addition to
Thomas's. But it looks pretty good!

Quoted 9 lines · Chakra Divi

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?

Quoted 11 lines
---
 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(+)
Quoted 8 lines
 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 :-)

Also, please add yourself to the DEVELOPERS file for this board (both
config/xxx_defconfig and board/nanopi/).

[snip]

Quoted 30 lines
board/nanopi/nanopi-m1/genimage.cfg new file +24 -0
new file mode 100644
index 0000000..23c9c7d
@@ -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
+	}
+

board/nanopi/nanopi-m1/genimage.cfg line 34

Quoted 10 lines
board/nanopi/nanopi-m1/genimage.cfg new file +10 -0
+	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.

board/nanopi/nanopi-m1/post-image.sh

Quoted 11 lines
board/nanopi/nanopi-m1/genimage.cfg new file +2 -0
+	}
+}
board/nanopi/nanopi-m1/post-build.sh new file +1 -0
new file mode 120000
index 0000000..cd7f116
@@ -0,0 +1 @@
+../post-build.sh
\ No newline at end of file
board/nanopi/nanopi-m1/post-image.sh +0 -0

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"

[snip]

board/nanopi/post-build.sh line 2

Quoted 8 lines
board/nanopi/post-build.sh new file +2 -0
new file mode 100755
index 0000000..a544a19
@@ -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...

Quoted 9 lines
board/nanopi/post-build.sh new file +9 -0
+# 2013, Carlo Caione <[email protected]>
+
+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]

Quoted 7 lines
configs/nanopi_m1_defconfig new file +1 -0
new file mode 100644
index 0000000..b1443f8
@@ -0,0 +1,29 @@
+BR2_arm=y

configs/nanopi_m1_defconfig line 11

Quoted 10 lines
configs/nanopi_m1_defconfig new file +10 -0
+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?

Regards,
Arnout

Quoted 19 lines
configs/nanopi_m1_defconfig new file +18 -0
+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
Signature · 6 lines
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
author
#4 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

Hi Arnout,

Thanks for the feedback....happy to see your comments as it is my first patch in the buildroot

Quoted 12 lines · Arnout Vandecappelle

Hi Chakra,

Thanks you for this contribution! I have a few more comments in addition to
Thomas's. But it looks pretty good!

Quoted 6 lines · Chakra Divi

Add initial support for nanopi-m1 board
with below features
- U-Boot 2017.07-rc1
- Linux 4.11
- Default packages from buildroot

Quoted 7 lines
Quoted 3 lines

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"

Quoted 21 lines
Quoted 12 lines
---
 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(+)
Quoted 8 lines
 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
Quoted 3 lines

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

Quoted 3 lines

Also, please add yourself to the DEVELOPERS file for this board (both
config/xxx_defconfig and board/nanopi/).

Yes will do -

Quoted 36 lines

[snip]

Quoted 35 lines
board/nanopi/nanopi-m1/genimage.cfg new file +29 -0
new file mode 100644
index 0000000..23c9c7d
@@ -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"
+     }
Quoted 9 lines

board/nanopi/nanopi-m1/genimage.cfg line 34

Quoted 5 lines
board/nanopi/nanopi-m1/genimage.cfg new file +5 -0
+
+     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

Quoted 7 lines
Quoted 7 lines
board/nanopi/nanopi-m1/genimage.cfg new file +2 -0
+     }
+}
board/nanopi/nanopi-m1/post-build.sh new file +0 -0
new file mode 120000
index 0000000..cd7f116
Quoted 9 lines

board/nanopi/nanopi-m1/post-image.sh

Quoted 4 lines
board/nanopi/nanopi-m1/post-build.sh new file +1 -0
@@ -0,0 +1 @@
+../post-build.sh
\ No newline at end of file
board/nanopi/nanopi-m1/post-image.sh +0 -0

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'"

Quoted 12 lines

[snip]

board/nanopi/post-build.sh line 2

Quoted 8 lines
board/nanopi/post-build.sh new file +2 -0
new file mode 100755
index 0000000..a544a19
@@ -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.

Quoted 21 lines
Quoted 9 lines
board/nanopi/post-build.sh new file +9 -0
+# 2013, Carlo Caione <[email protected]>
+
+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]

Quoted 11 lines
configs/nanopi_m1_defconfig new file +5 -0
new file mode 100644
index 0000000..b1443f8
@@ -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"
Quoted 9 lines

configs/nanopi_m1_defconfig line 11

Quoted 6 lines
configs/nanopi_m1_defconfig new file +6 -0
+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

Quoted 30 lines

Regards,
Arnout

Quoted 9 lines
configs/nanopi_m1_defconfig new file +8 -0
+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

configs/nanopi_m1_defconfig line 29

Quoted 10 lines
configs/nanopi_m1_defconfig new file +10 -0
+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
author
#5 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

Hi Arnout,

Quoted 126 lines · Chakra D

Hi Arnout,

Thanks for the feedback....happy to see your comments as it is my first patch in the buildroot

Quoted 12 lines · Arnout Vandecappelle

Hi Chakra,

Thanks you for this contribution! I have a few more comments in addition to
Thomas's. But it looks pretty good!

Quoted 6 lines · Chakra Divi

Add initial support for nanopi-m1 board
with below features
- U-Boot 2017.07-rc1
- Linux 4.11
- Default packages from buildroot

Quoted 7 lines
Quoted 3 lines

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"

Quoted 21 lines
Quoted 12 lines
---
 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(+)
Quoted 8 lines
 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
Quoted 3 lines

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

Quoted 3 lines

Also, please add yourself to the DEVELOPERS file for this board (both
config/xxx_defconfig and board/nanopi/).

Yes will do -

Quoted 36 lines

[snip]

Quoted 35 lines
board/nanopi/nanopi-m1/genimage.cfg new file +29 -0
new file mode 100644
index 0000000..23c9c7d
@@ -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"
+     }
Quoted 9 lines

board/nanopi/nanopi-m1/genimage.cfg line 34

Quoted 5 lines
board/nanopi/nanopi-m1/genimage.cfg new file +5 -0
+
+     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

Quoted 7 lines
Quoted 7 lines
board/nanopi/nanopi-m1/genimage.cfg new file +2 -0
+     }
+}
board/nanopi/nanopi-m1/post-build.sh new file +0 -0
new file mode 120000
index 0000000..cd7f116
Quoted 9 lines

board/nanopi/nanopi-m1/post-image.sh

Quoted 4 lines
board/nanopi/nanopi-m1/post-build.sh new file +1 -0
@@ -0,0 +1 @@
+../post-build.sh
\ No newline at end of file
board/nanopi/nanopi-m1/post-image.sh +0 -0

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"

Quoted 3 lines

Do you mean add the following config def config file ? BR2_ROOTFS_POST_SCRIPT_ARGS="-c support/script/genimage.sh'"

Sorry about this statement...Understood now will make the changes

Quoted 78 lines
Quoted 12 lines

[snip]

board/nanopi/post-build.sh line 2

Quoted 8 lines
board/nanopi/post-build.sh new file +2 -0
new file mode 100755
index 0000000..a544a19
@@ -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.

Quoted 21 lines
Quoted 9 lines
board/nanopi/post-build.sh new file +9 -0
+# 2013, Carlo Caione <[email protected]>
+
+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]

Quoted 11 lines
configs/nanopi_m1_defconfig new file +5 -0
new file mode 100644
index 0000000..b1443f8
@@ -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"
Quoted 9 lines

configs/nanopi_m1_defconfig line 11

Quoted 6 lines
configs/nanopi_m1_defconfig new file +6 -0
+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

Quoted 30 lines

Regards,
Arnout

Quoted 9 lines
configs/nanopi_m1_defconfig new file +8 -0
+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

configs/nanopi_m1_defconfig line 29

Quoted 10 lines
configs/nanopi_m1_defconfig new file +10 -0
+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
#6 lore raw

PATCH 1/1 board: Add nanopi-m1 Support

In reply to Chakra D
Quoted 8 lines · Chakra D
Quoted 6 lines

board/nanopi/post-build.sh line 2

Quoted 4 lines

+++ b/board/nanopi/post-build.sh

board/nanopi/post-build.sh new file +2 -0
@@ -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.

I meant that the comment is not relevant anymore (in particular the OrangePi part).

Regards,
Arnout

Signature · 6 lines
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