I am currently working on virtual machine (Ubuntu 18.04 LTS). I follow the steps and get success in building Reference images provided by Yocto. Now for the next step, I want to introduce the CAN interface in device Tree and kernel. To start with this customization, I follow the steps as mention on Toradex.com/ Build U-Boot and Linux Kernel from Source Code:
Download all the dependencies to build the Kernel and U-Boot outside the Yocto environment.
Download the Linux source code from git for kernel branch (toradex_5.4-2.3.x-imx, BSP version-5.5)
When I configure the same it couldn’t find the colibri-imx6ull _defconfig file under workdir/linuxtoradex/arch/arm64/configs. For the instance, I found the colibri-imx6ull _ defconfig file from workdir/linuxtoradex/arch/arm/configs folder and copied to default configs folder. It works fine.
Next step I follow is to compile the kernel but then it came up with error:
make: No rule to make target "zImage’’. Stop.
How can I resolve this error??
Could anyone help us what are the correct steps for introducing CAN interface to the colibri module.
I exported the following environmental variable:
$ export ARCH=arm64
$ export DTC_FLAGS="-@"
$ export PATH=~/gcc-linaro/bin/:$PATH
$ export CROSS_COMPILE=aarch64-none-linux-gnu-
I downloaded the wrong toolchain i.e. arm64 bit toolchains.
After this command:
$ make -j$(nproc) zImage 2>&1 | tee build.log
You will not find a dts file specific for the Viola. You should not have any problem however on using the one for another Carrier Board such as the Development Board on it even though most of the interfaces would not be present.
These files are included inside other device trees. The imx6ull-colibri-eval-v3 has the setup for the interfaces that are specific to the Evaluation Board. The difference between wifi and non-wifi dtsi is the interfaces that the module has. A Module with Wifi need some things enable that one without would not.
This depends on what you’d prefer. If you use more recent BSP’s you could create an overlay to modify the main device trees and then you’d not need to create a specific patch. Did you have the time to look at the links I mentioned you earlier?
I think pinctrl_hog is an old name. If you check the SODIMM_NUMBERS you can find it under GPIO’s on newer versions. For instance, SODIMM 55 and 63 are under gpio2 as long as 188 and 178. We’ll update this on the developer page.
Lastly, I’d also suggest you to use the new developer webpage at developer.toradex.com and not developer-archives.
Yes, I can see the SODIMM 55 and 63 under gopi2 (imx6ull-colibri-wifi.dtsi) but the defination to use those pins is given in pinctrl_gpio7 (imx6ull-colibri.dtsi). Is this not contradicting? Is that means that I have remove pinctrl_gpio7 group from iomuxc group?
Thanks for your support. This really helps a lot to solve my queries and to further go in my development.
After creating patch files for changes to incorporate the CAN interface into device tree, I added the patches to custom recipee inside layers/meta-customer/recipes-kernel/linux/ and created the bbappend file in layers/meta-customer/recipes-kernel/linux/linux-toradex%.bbappend to add patch files into SRC_URI.
What should be next steps I has to follow to see changes on Toradex module?