[Buildroot] [PATCH v4 2/2] configs: add defconfig for TS-4800

Peter Korsgaard peter at korsgaard.com
Sun Jul 3 15:56:53 UTC 2016


>>>>> "Patrick" == Patrick Keroulas <patrick.keroulas at savoirfairelinux.com> writes:

 > The TS-4800 is supported by mainline Linux as of 4.5.
 > u-boot-imx had to be patched and selected as a custom U-Boot until this
 > fork is merged into mainline U-Boot.

 > A post-image script is provided to generate an image that can be "dd"
 > directly to an SD card.

 > More details on the board here:
 >   http://wiki.embeddedarm.com/wiki/TS-4800

 > Signed-off-by: Damien Riegel <damien.riegel at savoirfairelinux.com>
 > Signed-off-by: Patrick Keroulas <patrick.keroulas at savoirfairelinux.com>
 > ---
 >  board/technologic/ts4800/genimage.cfg   | 37 +++++++++++++++++++++++++++++++++
 >  board/technologic/ts4800/linux.fragment |  3 +++
 >  board/technologic/ts4800/post-image.sh  | 23 ++++++++++++++++++++
 >  configs/ts4800_defconfig                | 30 ++++++++++++++++++++++++++
 >  4 files changed, 93 insertions(+)
 >  create mode 100644 board/technologic/ts4800/genimage.cfg
 >  create mode 100644 board/technologic/ts4800/linux.fragment
 >  create mode 100755 board/technologic/ts4800/post-image.sh
 >  create mode 100644 configs/ts4800_defconfig

 > diff --git a/board/technologic/ts4800/genimage.cfg b/board/technologic/ts4800/genimage.cfg
 > new file mode 100644
 > index 0000000..4e47095
 > --- /dev/null
 > +++ b/board/technologic/ts4800/genimage.cfg
 > @@ -0,0 +1,37 @@
 > +image boot.vfat {
 > +        vfat {
 > +                files = {
 > +                        "zImage",
 > +                        "imx51-ts4800.dtb"
 > +                }
 > +        }
 > +        size = 8M
 > +}
 > +
 > +image sdcard.img {
 > +        hdimage {
 > +        }
 > +
 > +        partition mbrboot {
 > +                in-partition-table = "no"
 > +                image = "mbrboot.bin"
 > +                offset = 0
 > +        }

Does genimage really handle this correctly (E.G. doesn't overwrite the
bootloader when it writes the MBR)? I know that we at least postprocess
the genimage output for odroid2 where a similar boot logic is used
(board/hardkernel/odroidc2/post-image.sh)

> +
 > +        partition uboot {
 > +                partition-type = 0xda
 > +                image = "u-boot.bin"
 > +                size = 8M

Any particular reason why this is so big?

 > +${HOST_DIR}/usr/bin/genimage \
 > +        --config ${GENIMAGE_CFG} \
 > +        --rootpath ${TARGET_DIR} \
 > +        --tmppath ${GENIMAGE_TMP} \
 > +        --inputpath $IDIR \
 > +        --outputpath $IDIR
 > +
 > +ret=${?}
 > +rm -rf ${GENIMAGE_TMP}
 > +exit ${ret}
 > +

Empty trailing line. Other post-image scripts don't explicitly cleanup
the tmppath afterwards (instead do it before calling genimage). Any
specific reason to do it differently here?

> diff --git a/configs/ts4800_defconfig b/configs/ts4800_defconfig
 > new file mode 100644
 > index 0000000..ec1778a
 > --- /dev/null
 > +++ b/configs/ts4800_defconfig
 > @@ -0,0 +1,30 @@
 > +BR2_arm=y
 > +BR2_cortex_a8=y
 > +BR2_ARM_FPU_NEON=y

Why? That is normally not a good choice for compatibility reasons.

 > +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5=y

Why not 4.6?


> +BR2_TOOLCHAIN_BUILDROOT_LOCALE=y

Our basic defconfigs should be minimal. Why do you want to enable locale
support?

 > +BR2_BINUTILS_VERSION_2_24_X=y

Why? Is this because of the objcopy issue? If so, that would be fixed by
the -R .note.gnu.build-id option.

 > +BR2_TOOLCHAIN_BUILDROOT_CXX=y

Same as for locale.

 > +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y

Any specific reason (E.G. firmware loading or what not) for wanting mdev?

 > +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
 > +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y

Are the kernel defaults not ok?

> +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set
 > +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technologic/ts4800/post-image.sh"
 > +BR2_LINUX_KERNEL=y
 > +BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7"
 > +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(TOPDIR)/board/technologic/ts4800/linux.fragment"
 > +BR2_LINUX_KERNEL_DTS_SUPPORT=y
 > +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx51-ts4800"

You forgot to lock it to 4.5

 > +BR2_PACKAGE_BUSYBOX_WATCHDOG=y
 > +BR2_PACKAGE_FBTERM=y

Are these _REALLY_ needed for anything?

> +BR2_PACKAGE_TS4800_MBRBOOT=y
 > +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_CUSTOM_GIT=y
 > +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://git.denx.de/u-boot-imx.git"
 > +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="d2ba7a6adcef6e6f8c4418c7b0caf9d7ab98a6d4"
 > +BR2_TARGET_UBOOT_BOARDNAME="ts4800"
 > +BR2_PACKAGE_HOST_GENIMAGE=y

You create a fat filesystem with genimage, so you also need:

BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_MTOOLS=y

> +BR2_PACKAGE_HOST_SQUASHFS=y

Why? You don't seem to use it anywhere?

-- 
Bye, Peter Korsgaard



More information about the buildroot mailing list