[Buildroot] [PATCH V2 1/1] Arcturus uCLS1012A-SOM support
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu Jun 8 12:06:24 UTC 2017
Hello,
On Wed, 7 Jun 2017 14:50:10 -0400, Oleksandr Zhadan wrote:
> The uCLS1012A-SOM product family (ucls1012a) is an Arcturus Networks Inc.
> 64bit ARM Cortex-A53 class System on Module powered by a NXP QorIQ LS1012A
> Low Power Communication Processor. This 314 pin MXM3.0/SMARC module card
> contains DDR3, QSPI NOR Flash, eMMC NAND Flash, optional Audio CODEC and is
> available with 1 or 2 Gig-Ethernet PHYs.
>
> Signed-off-by: Oleksandr Zhadan<oleks at arcturusnetworks.com>
> Signed-off-by: Michael Durrant<mdurrant at arcturusnetworks.com>
Thanks for this contribution!
First of all, could you change the commit title to:
configs/arcturus_ucls1012a: new defconfig
> board/arcturus/aarch64-ucls1012a/post-image.sh | 17 +++++
> board/arcturus/aarch64-ucls1012a/readme.txt | 79 ++++++++++++++++++++
> .../aarch64-ucls1012a/rootfs/etc/init.d/S09modload | 14 ++++
> .../rootfs/lib/firmware/Freescale-Binary-EULA | 80 +++++++++++++++++++++
> .../rootfs/lib/firmware/ppfe_class_ls1012a.elf | Bin 0 -> 53016 bytes
> .../rootfs/lib/firmware/ppfe_tmu_ls1012a.elf | Bin 0 -> 11492 bytes
It's really not nice to bundle those files in Buildroot. Can we instead
have a package that downloads them? Where do they come from?
> diff --git a/board/arcturus/aarch64-ucls1012a/post-image.sh b/board/arcturus/aarch64-ucls1012a/post-image.sh
> new file mode 100755
> index 000000000..bc2d52505
> --- /dev/null
> +++ b/board/arcturus/aarch64-ucls1012a/post-image.sh
> @@ -0,0 +1,17 @@
> +#!/bin/sh
> +
> +echo ---------Making ITB partition image---------
> +
> +MKIMAGE=${HOST_DIR}/usr/bin/mkimage
> +MKIMAGE_IN=board/arcturus/aarch64-ucls1012a/ucls1012a.its
> +MKIMAGE_OUT=output/images/part0-000000.itb
> +
> +${MKIMAGE} -f $MKIMAGE_IN $MKIMAGE_OUT
> +
> +# Remove intermediate files
> +rm -f output/images/rootfs.cpio
> +rm -f output/images/rootfs.cpio.gz
Please don't remove intermediate files.
> +
> +echo Done
Not really useful.
> +
> +exit 0
Ditto.
> diff --git a/board/arcturus/aarch64-ucls1012a/readme.txt b/board/arcturus/aarch64-ucls1012a/readme.txt
> new file mode 100644
> index 000000000..cf9d592ef
> --- /dev/null
> +++ b/board/arcturus/aarch64-ucls1012a/readme.txt
> @@ -0,0 +1,79 @@
> +Arcturus uCLS1012A SoM
> +======================
> +
> +This file was located <buildrootdir>/board/arcturus/aarch64-ucls1012a/readme.txt
Not useful.
> +
> +This tutorial describes how to use the predefined Buildroot
> +configuration for the Arcturus uCLS101A SoM platform.
> +
> +Additional information about the uCLS1012A System on Module can be found at
> +https://www.arcturusnetworks.com/products/ucls1012a
> +and product support for registered users at
> +https://www.arcturusnetworks.com/support
> +
> +Building
> +--------
Add one blank line here.
> +Return to the top directory <buildrootdir> and execute the following commands.
> +
> + make arcturus_ucls1012a_defconfig
> + make
> +
> +nb: Any errors thrown by build root may be associated with missing host compilers
> +and build tools required by buildroot such as bison, awk, cmake, g++.
This last paragraph is not very useful, please drop.
> +Result of the build
> +-------------------
> +
> +After compilation and linking is complete, your image should be located
> +<buildrootdir>/output/images/
There is no "linking" really in Buildroot context.
> + cd output/images/
> + ls
> +
> + Image
> + arc-ucls1012a.dtb
> + part0-000000.itb
> + rootfs.tar
> + u-boot.bin
Perhaps use the output of:
tree output/images
instead ?
> diff --git a/board/arcturus/aarch64-ucls1012a/rootfs/etc/init.d/S09modload b/board/arcturus/aarch64-ucls1012a/rootfs/etc/init.d/S09modload
> new file mode 100755
> index 000000000..07d1d855a
> --- /dev/null
> +++ b/board/arcturus/aarch64-ucls1012a/rootfs/etc/init.d/S09modload
Please name the rootfs overlay folder something like fs-overlay or
rootfs-overlay or rootfs_overlay. But not just "rootfs".
> +/dts-v1/;
> +
> +/ {
> + description = "Image file for the Arcturus uCLS1012A Linux Kernel";
> + #address-cells = <1>;
> +
> + images {
> + kernel {
> + description = "Linux kernel";
> + data = /incbin/("../../../output/images/Image");
So file paths are relative to where the .its file is located, and not
relative to where the mkimage command is executed ?
I'm not a big fan of these ../../../output/, because they won't work at
all for out of tree build.
> diff --git a/configs/arcturus_ucls1012a_defconfig b/configs/arcturus_ucls1012a_defconfig
> new file mode 100644
> index 000000000..b8b1c1fa8
> --- /dev/null
> +++ b/configs/arcturus_ucls1012a_defconfig
> @@ -0,0 +1,22 @@
> +BR2_aarch64=y
> +BR2_TOOLCHAIN_EXTERNAL=y
Please leave the default of a Buildroot toolchain, and force a kernel
headers version that matches your Linux kernel version.
Thanks a lot!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the buildroot
mailing list