Setting up Ubuntu 14.04 on Apalis T30

Hello,

I am trying to install Ubuntu 14.04 (or an appropriate fork/equivalent kernel) on Apalis T30 board. I managed to install Ubuntu 12.04 with backported WiFi module (NVIDIA 7260) using the following links:

  1. http://developer.toradex.com/knowledge-base/using-the-nvidia-provided-l4t-rootfs
  2. http://developer.toradex.com/knowledge-base/kernel-backports-integration
  3. http://developer.toradex.com/knowledge-base/wi-fi-(linux)
  4. http://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code

There I used the provided sample rootfs with the linux-toradex provided kernel. From what I understood the kernel “corresponds” to that of Ubuntu 12.04 (pardon my terminology, I am a beginner). My goal is to install ROS Indigo (indigo/Installation/UbuntuARM - ROS Wiki), which is supported on 14.04 version.

Could you please provide some help on how to do that? I looked into this thread How to compile mainline Linux kernel for Apalis T30? - Toradex Community, but I haven’t tested it though.

Also it might be worth mentioning that I do not need graphics support, and all other insights for increasing performance, reducing heating and saving resources are more than welcome.

Thank you for the help.

Another possible option instead of using an Ubuntu root filesystem would be to use OpenEmbedded and use the meta-ros layer and add components/packages required from ROS. However note that you might or might not have success depending on the particular package required.

Dear Sanchayan, thank you for the answer. We managed to set that up and it is working properly, but we would like to move away from bitbake due to certain maintenance problems we were facing.

I am trying to install Ubuntu 14.04 (or an appropriate fork/equivalent kernel)

Please note that an embedded system is not a PC in a sense that one can easily run some distro’s kernel on it. Usually a quite specific board support package is required at least to make the full hardware feature set available.

on Apalis T30 board. I managed to install Ubuntu 12.04 with backported WiFi module (NVIDIA 7260)

I assume you are referring to Intel’s dual band wireless AC 7260 module.

using the following links:

http://developer.toradex.com/knowledge-base/using-the-nvidia-provided-l4t-rootfs

http://developer.toradex.com/knowledge-base/kernel-backports-integration

http://developer.toradex.com/knowledge-base/wi-fi-(linux)

http://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code

There I used the provided sample rootfs with the linux-toradex provided kernel. From what I understood the kernel “corresponds” to that of Ubuntu 12.04 (pardon my terminology, I am a beginner).

While I do understand what you mean that terminology stands on shaky grounds. Regular Ubuntu 12.04 uses a somewhat modified post 3.2 kernel as far as I know while NVIDIA uses a highly modified post 3.1.10 version.

My goal is to install ROS Indigo (http://wiki.ros.org/indigo/Installation/UbuntuARM), which is supported on 14.04 version.

Regular Ubuntu 14.04 uses a 3.13 kernel as far as I know but that is really rather irrelevant in your particular case.

The big question is basically what exact low-level features that ROS thingy uses and whether or not our regular BSP’s 3.1.10 kernel will be fit for that or at least the parts you are interested in. From a feature point of view our regular BSP is really most complete.

Could you please provide some help on how to do that? I looked into this thread https://www.toradex.com/community/questions/2387/how-to-compile-main-line-linux-kernel-for-apalis-t.html, but I haven’t tested it though.

Of course using mainline may be an option but that highly depends on your requirements.

Anyway what exact kernel one uses is really just one of the many details in getting some custom software up and running on an embedded system.

Also it might be worth mentioning that I do not need graphics support,

That certainly helps as we currently do not know of any easy way to get hardware accelerated graphics/multimedia working using mainline.

and all other insights for increasing performance, reducing heating and saving resources are more than welcome.

Thank you for the help.

You are very welcome.

The mainline kernel as per here and an Ubuntu armhf rootfs might work.

Thank you. I will try it out. But before I do, since I saw there were some issues mentioned regarding the graphics support, and I don’t need it, is there a way to disable it right of the bat?

Thank you for the quick response.

I assume you are referring to Intel’s
dual band wireless AC 7260 module.

My bad, I meant that one.
I tried the BSP kernel, but a lot of packages were not supported using apt-get. Do you have a guess on which kernel and rootfs combination might work?

Is there any update on this? Is there a way to set Ubuntu 14.04 on Apalis? I tried following the link https://www.toradex.com/community/questions/2387/how-to-compile-main-line-linux-kernel-for-apalis-t.html, but so many issues arise, and it seems like the author did not mention all the issues he encountered.

Thank you!

I tried the BSP kernel, but a lot of packages were not supported using apt-get.

Usually packages should rather not have any hard dependency on the running kernel version. What exact packages are you talking about?

Do you have a guess on which kernel and rootfs combination might work?

Any combination should really work.

On our downstream kernel this can be achieved by using a vidargs of video=tegrafb0:off video=tegrafb1:off. In mainline one would just set the status property of resp. device tree nodes to disabled.

Is there any update on this?

Yes, sorry. I added an additional comment above to the questions you had there earlier.

Please also note that Ubuntu 16.04 is the first version with native T30 aka Tegra 3 support including our Apalis/Colibri T30 (e.g. see here). This just stems from the fact that such hardware support has not been in mainline kernel versions as used by older Ubuntu versions. Please further note that the same limitation concerning gigabit Ethernet exists as discussed on the compile mainline questions as referred to by you above.

Is there a way to set Ubuntu 14.04 on Apalis?

Sure, the approach as suggested above by @sanchayan.tx should really work fine. Instead of the mainline kernel one can as well just stay with the one we provide as you did in the Ubuntu 12.04 case.

I tried following the link https://www.toradex.com/community/questions/2387/how-to-compile-main-line-linux-kernel-for-apalis-t.html, but so many issues arise, and it seems like the author did not mention all the issues he encountered.

Well, theoretically it is just as easy as cross-compiling mainline and deploying the kernel and device tree binaries. But of course depending on one’s requirements many more details need attention.

Please note that we do actually plan to have a separate option in our Angstrom/OpenEmbedded/Yocto based BSP builds to make out-of-the-box deployment of mainline much simpler. We also plan to support regular distro boot directly using U-Boot at least off SD cards and USB sticks. And last but not least we are also working on a new much simplified Toradex Easy Installer which should further simplify the whole update process.

Thank you!

You are very welcome.

What exact packages are you talking
about?
I cannot remember which packages could not work at that time.

Any combination should really work.
The issues that I am having are the following.

  1. I have to find an appropriate combination of kernel and rootfs,
  2. Since I am deploying a custom kernel I guess I have to have an appropriate u-boot? Which u-boot should I use for the kernel I select?
  3. In order to setup wifi (iwlwifi) I have to backport the kernel drivers, but I cannot make it work, so I just copy the built modules from your BSP,
  4. I have to select a cross-compiler in order to compile the kernel, u-boot and backported kernel drivers, but I do not know which crosscompiler to select which is compatible with the combination. In some cases I was not able to compile with the using the example here: http://developer.toradex.com/knowledge-base/build-u-boot-and-linux-kernel-from-source-code

Thank you for the answer. I truly appreciate all the help. I just cannot make it work whatever I try, and most of the terminology is beyond my reach.

Please also note that Ubuntu 16.04 is the first version with native T30 aka Tegra 3 support including our Apalis/Colibri T30 (e.g. see here).

Does this mean that it easier to setup, since for our applications 16.04 might work as well?

Instead of the mainline kernel one can as well just stay with the one we provide…

Which kernel that you provide is compatible with Ubuntu 14.04?

For the purpose of setting up Linux 12.04 with WiFi I made these step-by-step instructions: https://hackmd.io/s/BJH7Cnk1g Could you please help me update the instructions for setting up Ubuntu 14.04/16.04 (whichever is easier), or at least add some hints?

And last but not least we are also working on a new much simplified Toradex Easy Installer which should further simplify the whole update process.

Looking forward to this! Thank you!