Apalis -T30 Mainline Linux dtb

I am trying to get mainline 4.14 kernel running on Apalis T30 using bitbake with a poky-tiny setup (initramfs)

I’ve cloned distro poky-tiny to my own layer my-poky-tiny. I’ve also cloned apalis-t30 machine, and created a apalis-t30-mainline machine. I’ve also cloned recipes meta-toradex-tezi/recipes-bsp/u-boot and meta-toradex-tezi/recipes-kernel to my own layer.

The kernel, cpio file system, and u-boot all build. I suspect I need to either build a .dtb or similar to get the kernel to boot, or I haven’t used the correct LOADADDR or similar. The only .dtb I can find is here, but I don’t think this is the right one?:

./poky/build/tmp/work/apalis_t30-poky-linux-musleabi/u-boot-toradex/2016.11+gitAUTOINC+07edca0bb8-2.8.4/build/arch/arm/dts/tegra30-apalis.dtb

Also, I have a tftp server that I want to boot the desired image. Does this look correct, provided that the addresses are correct? I am using pre-setup hard coded IP’s - the download is successful. I don’t really want to use USB or even flash an image each time, and the image is less than 10MB.

pci enum
tftp ${fdt_addr_r} mydtb.dtb
tftp ${kernel_addr_r} zImage
bootz ${kernel_addr_r} - ${fdt_addr_r}

No matter what I do, I just get kernel starting… with a hang.

I found my first problem was I was missing the following from my machine apalis-t30-mainline.conf

KERNEL_DEVICETREE += “tegra124-apalis-eval.dtb tegra124-apalis-v1.2-eval.dtb”

I am now getting the device tree built and appears in my bitbake images directory beside the kernel.

I still can’t get past
Starting kernel… (hang).
I’ve tried kernel_addr_r as 0x80008000 and fdt_addr_r as 0x8200000

I should have been more careful cutting and pasting while editing apalis-t30-mainline.conf machine. I used the wrong device tree from the TK1. The correct one is for what I am trying to do is:

KERNEL_DEVICETREE += “tegra30-apalis-eval.dtb”

The kernel now boots, although I’ll have to correct the root file system. That shouldn’t be too hard though.

Great.

To still answer your questions:

./poky/build/tmp/work/apalis_t30-poky-linux-musleabi/u-boot-toradex/2016.11+gitAUTOINC+07edca0bb8-2.8.4/build/arch/arm/dts/tegra30-apalis.dtb

That’s the device tree from U-Boot which at least as of today is not quite the same as the Linux one. Would be the end goal in the future though I guess.

Concerning your TFTP setup while it looks fine we usually configure the whole thing automatically via DHCP as outlined here:

https://developer.toradex.com/knowledge-base/linux-booting#UBoot_on_NAND_Flash_Kernel_from_TFTP_and_Rootfs_from_NFS