From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] buildroot support for OrangePI PC
Date: Thu, 24 Dec 2015 11:28:59 +0100 [thread overview]
Message-ID: <20151224112859.6f44713d@free-electrons.com> (raw)
In-Reply-To: <1450948540529.50320.154990@webmail2>
Eelco,
On Thu, 24 Dec 2015 10:15:40 +0100, Eelco Chaudron wrote:
> This is the diff;
Thanks for the patch. Can you send it as a proper Git formatted patch?
See the Buildroot manual for instructions on how to do this. I have a
couple more comments below.
> diff --git a/board/orangepi/orangepipc/genimage.cfg b/board/orangepi/orangepipc/genimage.cfg
> new file mode 100644
> index 0000000..43c2249
> --- /dev/null
> +++ b/board/orangepi/orangepipc/genimage.cfg
> @@ -0,0 +1,36 @@
> +# Minimal SD card image for the OrangePi PC
> +#
> +
> +image boot.vfat {
> + vfat {
> + files = {
> + "uImage",
> + "sun8i-h3-orangepi-pc.dtb",
> + "boot.scr"
> + }
> + }
> + size = 10M
> +}
Please fix the indentation here. I think we should use at least two
spaces for indentation, or maybe better one tab.
> diff --git a/board/orangepi/orangepipc/post-build.sh b/board/orangepi/orangepipc/post-build.sh
> new file mode 100755
> index 0000000..9f115cb
> --- /dev/null
> +++ b/board/orangepi/orangepipc/post-build.sh
> @@ -0,0 +1,14 @@
> +#!/bin/sh
> +# post-build.sh for OrangePi PC taken from CubieBoard's post-build.sh
> +# 2013, Carlo Caione <<carlo.caione@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
> +if [ -e $MKIMAGE -a -e $BOOT_CMD ];
This test is not needed IMO, just run the $MKIMAGE command
unconditionally.
> +then
> + $MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H
> +fi
> diff --git a/board/orangepi/orangepipc/post-image.sh b/board/orangepi/orangepipc/post-image.sh
> new file mode 100755
> index 0000000..05f6b70
> --- /dev/null
> +++ b/board/orangepi/orangepipc/post-image.sh
> @@ -0,0 +1,16 @@
> +#!/bin/bash
Do we really need this to be a bash script ? #!/bin/sh is probably
sufficient.
> +
> +GENIMAGE_CFG="board/orangepi/orangepipc/genimage.cfg"
Maybe you could use the same BOARD_DIR trick than the one you've used
in the post-build script?
> +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}"
Use tab for indentation.
> +
> +RET=${?}
> +exit ${RET}
Just do exit $?
> diff --git a/configs/orangepipc_defconfig b/configs/orangepipc_defconfig
> new file mode 100644
> index 0000000..cd349c5
> --- /dev/null
> +++ b/configs/orangepipc_defconfig
> @@ -0,0 +1,26 @@
> +BR2_arm=y
> +BR2_cortex_a7=y
> +BR2_ARM_FPU_NEON_VFPV4=y
Please use just VFPV4. Using NEON for floating point operations by
default is not a good idea. From the gcc manual:
If the selected floating-point hardware includes the NEON extension
(e.g. -mfpu=?neon?), note that floating-point operations are not
generated by GCC's auto-vectorization pass unless
-funsafe-math-optimizations is also specified. This is because NEON
hardware does not fully implement the IEEE 754 standard for
floating-point arithmetic (in particular denormal values are treated
as zero), so the use of NEON instructions may lead to a loss of
precision.
> +BR2_TARGET_GENERIC_HOSTNAME="OrangePi_PC"
> +BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the Orange Pi PC"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/orangepi/orangepipc/post-build.sh"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/orangepi/orangepipc/post-image.sh"
Please force the kernel headers version to a fixed version, like is
done in all other defconfig files. For example:
# Lock to 4.3 headers to avoid breaking with newer kernels
BR2_KERNEL_HEADERS_VERSION=y
BR2_DEFAULT_KERNEL_VERSION="4.3"
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3=y
(Of course adapt 4.3 to whatever kernel version you're using)
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="<https://github.com/jwrdegoede/linux-sunxi.git>"
Please remove the < and > before and after the URL. I'm not even sure
how it can work with such markers.
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="a516ac6dda21e6f5edceecd08b475b16e360656b"
> +BR2_LINUX_KERNEL_DEFCONFIG="sunxi"
> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x40008000"
The modern way is to boot using a zImage. Can you try using a zImage
instead?
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-orangepi-pc"
> +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_BOARDNAME="orangepi_pc"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="<http://git.denx.de/u-boot.git>"
Ditto < and > markers.
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4832e17787acb29734d895751bc7a594908aecc6"
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM=y
> +BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot-sunxi-with-spl.bin"
> +BR2_PACKAGE_HOST_GENIMAGE=y
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2015-12-24 10:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-18 13:22 [Buildroot] buildroot support for OrangePI PC Eelco Chaudron
2015-12-18 22:23 ` Arnout Vandecappelle
2015-12-20 12:32 ` Eelco Chaudron
2015-12-20 12:45 ` Thomas Petazzoni
2015-12-20 18:17 ` Eelco Chaudron
2015-12-20 18:25 ` Eelco Chaudron
2015-12-24 9:15 ` Eelco Chaudron
2015-12-24 10:28 ` Thomas Petazzoni [this message]
2015-12-24 10:52 ` Eelco Chaudron
2015-12-24 11:18 ` Thomas Petazzoni
2015-12-27 0:04 ` Cam Hutchison
2015-12-19 23:51 ` Cam Hutchison
2015-12-20 12:37 ` Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20151224112859.6f44713d@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox