[Buildroot] [PATCH v2] Add support for Congatec QMX6
Peter Korsgaard
jacmet at uclibc.org
Wed Jun 4 21:46:06 UTC 2014
>>>>> "Stephan" == Stephan Hoffmann <sho at relinux.de> writes:
> Add support for the iMX6 based conga-QMX6 family of Qseven modules.
> This patch is based on Linux 3.0.35 from Congatec's kernel reporitory
> Signed-off-by: Stephan Hoffmann <sho at relinux.de>
> ---
> There has been a similar patch set from
> Lahoudere Fabien <fabien.lahoudere at openwide.fr> last year adding a patch
> to the freescale kernel repository, but it seems more logical to me to
> start from the board manufacturer's repo (which might not have been
> availeable at that time).
> Changes v1 -> v2
> - fix whitespace errors
> board/congatec/qmx6/6q_bootscript.txt | 5 +++++
> board/congatec/qmx6/post-build.sh | 7 +++++++
> board/congatec/qmx6/readme.txt | 31 +++++++++++++++++++++++++++++++
> configs/qmx6_defconfig | 13 +++++++++++++
> 4 files changed, 56 insertions(+)
> create mode 100644 board/congatec/qmx6/6q_bootscript.txt
> create mode 100755 board/congatec/qmx6/post-build.sh
> create mode 100644 board/congatec/qmx6/readme.txt
> create mode 100644 configs/qmx6_defconfig
> diff --git a/board/congatec/qmx6/6q_bootscript.txt b/board/congatec/qmx6/6q_bootscript.txt
> new file mode 100644
> index 0000000..087f13d
> --- /dev/null
> +++ b/board/congatec/qmx6/6q_bootscript.txt
> @@ -0,0 +1,5 @@
> +set bootargs $bootargs console=ttymxc1,115200 vmalloc=400M root=/dev/mmcblk0p1 rootwait consoleblank=0 ;
> +setenv bootargs $bootargs video=mxcfb0:dev=hdmi,1280x720M at 60,if=RGB24
> +setenv bootargs $bootargs video=mxcfb1:dev=lcd,CLAA-WVGA,if=RGB666
> +setenv bootargs $bootargs fbmem=28M,10M
> +${fs}load mmc ${disk}:1 10800000 /boot/uImage && bootm 10800000 ; echo "Error loading kernel image"
Are these bootargs all required (E.G. does this board always have that
LCD/HDMI output?)
> diff --git a/board/congatec/qmx6/post-build.sh b/board/congatec/qmx6/post-build.sh
> new file mode 100755
> index 0000000..85c0c97
> --- /dev/null
> +++ b/board/congatec/qmx6/post-build.sh
> @@ -0,0 +1,7 @@
> +#!/bin/sh
> +
> +TARGET_DIR=$1
> +BOARD_DIR="$(dirname $0)"
> +MKIMAGE=$1/../host/usr/bin/mkimage
This would break with builds with custom HOST_DIR settings. Post-build
scripts are now called with $HOST_DIR/usr/bin prepended to the path, so
you can just use mkimage (but the defconfig should enable
BR2_PACKAGE_HOST_UBOOT_TOOLS to ensure it is available.
> +
> +$MKIMAGE -A arm -O linux -T script -C none -a 0 -e 0 -n "boot script" -d $BOARD_DIR/6q_bootscript.txt $TARGET_DIR/6q_bootscript
> diff --git a/board/congatec/qmx6/readme.txt b/board/congatec/qmx6/readme.txt
> new file mode 100644
> index 0000000..6e8be9b
> --- /dev/null
> +++ b/board/congatec/qmx6/readme.txt
> @@ -0,0 +1,31 @@
> +This is the minimal buildroot support for the Congatec QMX6 Qseven CoM
> +
> +conga-QMX6 is based on the freescale iMX6 SoC. For more information please
> +have a look at http://www.congatec.com/products/qseven/conga-qmx6.html
> +
> +The configuration is based on the currently latest kernel release from
> +Congatec's git repository which is based on 3.0.35. The bootloader u-boot
> +is preconfigured on the CPU module and does not need to be replaced.
> +
> +To build the default configuration you only have to:
> +
> + make qmx6_defconfig && make
> +
> +You will need a microSD card of sufficient size and the first or only
> +partition configured as Linux type.
> +
> +To transfer the system to the card you have zwo options:
> +
> +1. $ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX1
> +
> +2. only once: sudo mkfs.ext3 /dev/sdX1
> + $ sudo mount /dev/sdX1 /mnt
> + $ sudo tar xf output/images/rootfs.tar -C
> + $ sudo umount /mnt
Any reason to document both ways? Why not always go for E.G. option 1
(perhaps with a resize2fs afterwards to use the entire partition).
I see the defconfig uses ext4, but here you use ext3. Does the
bootloader understand both?
> +
> +Connect a terminal program to the rs232 connector marked "CONSOLE",
> +insert the microSD card into the socket on the CPU module and power
> +the board to watch the system boot.
Baudrate?
> diff --git a/configs/qmx6_defconfig b/configs/qmx6_defconfig
> new file mode 100644
> index 0000000..8cc8de3
> --- /dev/null
> +++ b/configs/qmx6_defconfig
> @@ -0,0 +1,13 @@
> +BR2_arm=y
> +BR2_cortex_a9=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1"
> +BR2_ROOTFS_POST_BUILD_SCRIPT="board/congatec/qmx6/post-build.sh"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_kernel.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_3.0.35_4.1.0_QMX6_R1.1.2"
> +BR2_LINUX_KERNEL_DEFCONFIG="qmx6"
> +BR2_LINUX_KERNEL_INSTALL_TARGET=y
Please also lock kernel headers to 3.0 to match. It would be good to add
comments like we do for E.G. openblocks_a6_defconfig (and most others).
> +BR2_TARGET_ROOTFS_CPIO=y
Why? You don't seem to be using it.
> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list