It seems that there are many non backwards compatible changes in JetPack 3.3 for TX1. There is now a c-boot bootloader that creates the device tree in ram that is passed to the kernel. The kernel (4.4.38) which comes with JetPack 3.3 seems to need these changes and will not boot with an older u-boot. In addition the previous 3.10.96 seems not to be able to boot from the c-boot/u-boot combination in JetPack 3.3.
We would very much like to be able to update to the new kernel without physically setting a usb connection to the board, in addition we would like to be able to freely choose which kernel we run at any given time, so that in case of problems a downgrade to the earlier kernel is possible.
I could probably change things so that the new c-boot method works in both cases but it seems that the c-boot code has only been released for TX2 and newer. For other reasons (software update and rollback) we would like to be able to choose and boot one of three kernels with corresponding device trees. AFAICS the current c-boot can only read one device tree from a particular flash partition. This means that effectively it is only possible to boot the kernel programmed via usb (or a very similar one). It will certainly not be possible to boot a 3.10 kernel with this scheme.
It’s possible that these changes are fantastic and improve things for me in some way I don’t appreciate now but all I can see is that I cannot now implement an automatic multi-kernel boot system which was possible with the old scheme.
Booting the new kernel with the device tree from the kernel build seems not to work (the modifications from c-boot are necessary).
Is the c-boot source for TX1 accessible somewhere?
If not then is it possible to boot the new kernel without it?
What are the plans to upstream TX1 support, specifically GPU support as I would much rather use a mainline kernel than be restricted to a choice of two incompatible specidfic kernel versions.