diff mbox series

[1/9] iMX6S-PICO: add default config file (imx6spico_defconfig)

Message ID 1507724378-23461-1-git-send-email-agambier.dev@gmail.com
State Changes Requested
Headers show
Series [1/9] iMX6S-PICO: add default config file (imx6spico_defconfig) | expand

Commit Message

Alexandre Gambier Oct. 11, 2017, 12:19 p.m. UTC
Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>
---
 configs/imx6spico_defconfig | 58 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 configs/imx6spico_defconfig

Comments

Thomas Petazzoni Oct. 11, 2017, 1:14 p.m. UTC | #1
Hello,

On Wed, 11 Oct 2017 14:19:30 +0200, Alexandre Gambier wrote:
> Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>

Thanks for your contributions.

However, as I have written to you off list already, your patches 7/9,
8/9 and 9/9 will not make it to the list because they are too big.

And we anyway don't want such huge firmware files in Buildroot
directly, as I already explained to you. Especially without a license
file.

Can you instead work with the linux-firmware project to get those
firmware files included? This will obviously require to have a proper
license for them, but that would anyway be needed for you to be allowed
to redistribute them.

Thanks!

Thomas
Thomas Petazzoni Oct. 11, 2017, 1:17 p.m. UTC | #2
Hello,

On Wed, 11 Oct 2017 14:19:30 +0200, Alexandre Gambier wrote:
> Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>
> ---
>  configs/imx6spico_defconfig | 58 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 58 insertions(+)
>  create mode 100644 configs/imx6spico_defconfig
> 
> diff --git a/configs/imx6spico_defconfig b/configs/imx6spico_defconfig
> new file mode 100644
> index 0000000..16ebf5b
> --- /dev/null
> +++ b/configs/imx6spico_defconfig
> @@ -0,0 +1,58 @@
> +BR2_arm=y
> +BR2_cortex_a9=y
> +BR2_ARM_ENABLE_NEON=y
> +BR2_ARM_ENABLE_VFP=y
> +BR2_ARM_FPU_VFPV3=y
> +BR2_TOOLCHAIN_BUILDROOT_GLIBC=y

Please use the default C library, i.e uClibc.

> +BR2_KERNEL_HEADERS_4_1=y

Please use the "Same as kernel being built" option for the kernel
headers.

> +BR2_GCC_VERSION_5_X=y

Please use the default gcc version.

> +BR2_TOOLCHAIN_BUILDROOT_CXX=y
> +BR2_GCC_ENABLE_LTO=y

Don't enable C++ or LTO support in a defconfig.

> +BR2_PACKAGE_HOST_GDB=y
> +BR2_PACKAGE_HOST_GDB_PYTHON=y

I don't think this is really needed for a defconfig.

> +BR2_ROOTFS_MERGED_USR=y

Same, not needed.

> +BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
> +BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
> +BR2_SYSTEM_DHCP="eth0"
> +BR2_ROOTFS_OVERLAY="board/technexion/imx6spico/rootfs_overlay"
> +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technexion/imx6spico/post-image.sh"

This doesn't work because those files are added in follow-up patches. A
patch series should be bisectable, so it should work if I apply just
PATCH 1, or just PATCH 1, 2, or just PATCH 1, 2, 3.

> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/TechNexion/linux.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ecb66a3d34667fb4402457bbd6a4864e73b0fe87"
> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/technexion/imx6spico/linux/linux-tn-imx-4.1.15/defconfig"

Same comment here: this is added in a follow up patch.

> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-pico_dwarf"
> +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
> +BR2_PACKAGE_EXPAT=y
> +BR2_PACKAGE_LIBCAP=y
> +BR2_PACKAGE_READLINE=y
> +BR2_PACKAGE_DHCP=y
> +BR2_PACKAGE_DHCP_CLIENT=y
> +BR2_PACKAGE_ETHTOOL=y
> +BR2_PACKAGE_IW=y
> +BR2_PACKAGE_NETCAT=y
> +BR2_PACKAGE_OPENSSH=y
> +BR2_PACKAGE_WIRELESS_TOOLS=y
> +BR2_PACKAGE_HTOP=y
> +BR2_PACKAGE_KMOD=y
> +BR2_PACKAGE_KMOD_TOOLS=y
> +BR2_PACKAGE_UTIL_LINUX=y
> +BR2_PACKAGE_UTIL_LINUX_BINARIES=y
> +BR2_PACKAGE_UTIL_LINUX_FSCK=y
> +BR2_PACKAGE_UTIL_LINUX_MOUNT=y
> +BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y

None of these BR2_PACKAGE_* options are needed in a defconfig. We want
them to be minimal.

> +BR2_TARGET_ROOTFS_EXT2=y
> +BR2_TARGET_ROOTFS_EXT2_4=y
> +BR2_TARGET_ROOTFS_EXT2_SIZE="40M"

Why this custom size ?

> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="pico-imx6"
> +BR2_TARGET_UBOOT_CUSTOM_GIT=y
> +BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/TechNexion/u-boot-edm.git"
> +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6b12193853eceda0da3da7eeb73c41ed6059acb4"
> +# BR2_TARGET_UBOOT_FORMAT_BIN is not set
> +BR2_TARGET_UBOOT_FORMAT_IMG=y
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_SPL_NAME="SPL"
> +BR2_PACKAGE_HOST_GENIMAGE=y

You also need HOST_DOSFSTOOLS and HOST_MTOOLS, because your
genimage.cfg file generates a VFAT partition.

Best regards,

Thomas
Thomas Petazzoni Oct. 11, 2017, 3:34 p.m. UTC | #3
Hello,

Please do not reply just to me, keep the mailing list in Cc by using
"Reply All" instead of "Reply". Thanks. I've re-added the mailing list
in Cc.

On Wed, 11 Oct 2017 17:32:08 +0200, Alexandre Gambier wrote:

> > > If I use the latest GCC version, it fails building the root fs.  
> >
> > With what error? We definitely want to fix this, and not paper over the
> > problem by reverting back to gcc 5.x.
> >  
> 
> It fails building uboot here's the log...

Ok, so it doesn't fail when building the rootfs, but when building
U-Boot.


> scripts/kconfig/conf --silentoldconfig Kconfig
>   CHK     include/config.h
>   UPD     include/config.h
>   GEN     include/autoconf.mk
>   GEN     include/autoconf.mk.dep
>   GEN     spl/include/autoconf.mk
> In file included from include/linux/compiler.h:54:0,
>                  from include/linux/byteorder/little_endian.h:12,
>                  from ./arch/arm/include/asm/byteorder.h:29,
>                  from include/compiler.h:125,
>                  from include/image.h:19,
>                  from ./include/common.h:82:
> include/linux/compiler-gcc.h:114:30: fatal error: linux/compiler-gcc6.h: No
> such file or directory

This is known issue with old versions of U-Boot.

You can try adding
board/roseapplepi/patches/uboot/0001-compiler-.h-sync-include-linux-compiler-.h-with-Linu.patch
as a U-Boot patch, or preferably update your U-Boot to a more recent
version.

Thomas
Fabio Estevam Oct. 11, 2017, 4:04 p.m. UTC | #4
Hi Alexandre,

On Wed, Oct 11, 2017 at 9:19 AM, Alexandre Gambier
<agambier.dev@gmail.com> wrote:
> Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>
> ---
>  configs/imx6spico_defconfig | 58 +++++++++++++++++++++++++++++++++++++++++++++

Can't you use the existing configs/imx6ulpico_defconfig instead?
Fabio Estevam Oct. 11, 2017, 4:06 p.m. UTC | #5
On Wed, Oct 11, 2017 at 1:04 PM, Fabio Estevam <festevam@gmail.com> wrote:
> Hi Alexandre,
>
> On Wed, Oct 11, 2017 at 9:19 AM, Alexandre Gambier
> <agambier.dev@gmail.com> wrote:
>> Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>
>> ---
>>  configs/imx6spico_defconfig | 58 +++++++++++++++++++++++++++++++++++++++++++++
>
> Can't you use the existing configs/imx6ulpico_defconfig instead?

Ops, just noticed that you are adding a different board.
Arnout Vandecappelle Oct. 11, 2017, 4:26 p.m. UTC | #6
On 11-10-17 14:19, Alexandre Gambier wrote:
[snip]
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/TechNexion/linux.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ecb66a3d34667fb4402457bbd6a4864e73b0fe87"

 You can also use the github helper to download a tarball:

BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call
github,TechNexion,linux,ecb66a3d34667fb4402457bbd6a4864e73b0fe87)"

*Much* faster than a git download.

 Same for U-Boot of course.

> +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
> +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/technexion/imx6spico/linux/linux-tn-imx-4.1.15/defconfig"

 Since you use a custom kernel, can't you use an in-tree defconfig? If you need
to tweak an in-tree defconfig a little, you can use
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES.

 Regards,
 Arnout


[snip]
Arnout Vandecappelle Oct. 11, 2017, 4:34 p.m. UTC | #7
On 11-10-17 15:14, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, 11 Oct 2017 14:19:30 +0200, Alexandre Gambier wrote:
>> Signed-off-by: Alexandre Gambier <agambier.dev@gmail.com>
> 
> Thanks for your contributions.
> 
> However, as I have written to you off list already, your patches 7/9,
> 8/9 and 9/9 will not make it to the list because they are too big.
> 
> And we anyway don't want such huge firmware files in Buildroot
> directly, as I already explained to you. Especially without a license
> file.
> 
> Can you instead work with the linux-firmware project to get those
> firmware files included? This will obviously require to have a proper
> license for them, but that would anyway be needed for you to be allowed
> to redistribute them.

 IIRC, Broadcom firmware images for access points are usually adapted to the
access point itself (with stuff like antenna positions, gain levels, etc). So it
might not be possible to include it in linux-firmware. And anyway,
linux-firmware already has an image for e.g. brcmfmac4330-sdio.bin, which I
guess is different from yours...

 Another option is to create a github repo for your firmware binaries and add a
package for it. Obviously, Broadcom's license will need to allow you to do that.

 Regards,
 Arnout
diff mbox series

Patch

diff --git a/configs/imx6spico_defconfig b/configs/imx6spico_defconfig
new file mode 100644
index 0000000..16ebf5b
--- /dev/null
+++ b/configs/imx6spico_defconfig
@@ -0,0 +1,58 @@ 
+BR2_arm=y
+BR2_cortex_a9=y
+BR2_ARM_ENABLE_NEON=y
+BR2_ARM_ENABLE_VFP=y
+BR2_ARM_FPU_VFPV3=y
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_KERNEL_HEADERS_4_1=y
+BR2_GCC_VERSION_5_X=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+BR2_GCC_ENABLE_LTO=y
+BR2_PACKAGE_HOST_GDB=y
+BR2_PACKAGE_HOST_GDB_PYTHON=y
+BR2_ROOTFS_MERGED_USR=y
+BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0"
+BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200=y
+BR2_SYSTEM_DHCP="eth0"
+BR2_ROOTFS_OVERLAY="board/technexion/imx6spico/rootfs_overlay"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/technexion/imx6spico/post-image.sh"
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/TechNexion/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ecb66a3d34667fb4402457bbd6a4864e73b0fe87"
+BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
+BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/technexion/imx6spico/linux/linux-tn-imx-4.1.15/defconfig"
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6dl-pico_dwarf"
+BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
+BR2_PACKAGE_EXPAT=y
+BR2_PACKAGE_LIBCAP=y
+BR2_PACKAGE_READLINE=y
+BR2_PACKAGE_DHCP=y
+BR2_PACKAGE_DHCP_CLIENT=y
+BR2_PACKAGE_ETHTOOL=y
+BR2_PACKAGE_IW=y
+BR2_PACKAGE_NETCAT=y
+BR2_PACKAGE_OPENSSH=y
+BR2_PACKAGE_WIRELESS_TOOLS=y
+BR2_PACKAGE_HTOP=y
+BR2_PACKAGE_KMOD=y
+BR2_PACKAGE_KMOD_TOOLS=y
+BR2_PACKAGE_UTIL_LINUX=y
+BR2_PACKAGE_UTIL_LINUX_BINARIES=y
+BR2_PACKAGE_UTIL_LINUX_FSCK=y
+BR2_PACKAGE_UTIL_LINUX_MOUNT=y
+BR2_PACKAGE_UTIL_LINUX_NOLOGIN=y
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="40M"
+BR2_TARGET_UBOOT=y
+BR2_TARGET_UBOOT_BOARDNAME="pico-imx6"
+BR2_TARGET_UBOOT_CUSTOM_GIT=y
+BR2_TARGET_UBOOT_CUSTOM_REPO_URL="git://github.com/TechNexion/u-boot-edm.git"
+BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="6b12193853eceda0da3da7eeb73c41ed6059acb4"
+# BR2_TARGET_UBOOT_FORMAT_BIN is not set
+BR2_TARGET_UBOOT_FORMAT_IMG=y
+BR2_TARGET_UBOOT_SPL=y
+BR2_TARGET_UBOOT_SPL_NAME="SPL"
+BR2_PACKAGE_HOST_GENIMAGE=y