Bootloader on different Tegra Note Devices

I want to “play around” with some full-fledged Linux Distros on one of the new Tegra Note Devices.

Im pretty noobish about the Bootprocess of Android-Devices, so i dont exactly know whether it is generally possible to (natively) boot a standard ARM-Kernel with the built-in bootloader. Do i always need a Android-Kernel and execute another Kernel via kexec?

Question 1: Is the Tegra Note Bootloader (Fastboot or U-Boot?) unlocked and can i execute a generic Linux Kernel directly?

Im from Germany and currently i can only purchase the Tegra Note from ADVENT Vega (UK).

Question 2: Are there any differences in the Bootloader between the different Brands (EVGA, Zotac, ADVENT,…)? Is one of the Brands better for Modding purposes or are they all really identical?

Thanks in advance,
s1d

There is no such thing as a “standard ARM kernel”. With an unlocked bootloader you can boot anything and in those cases it’s usually the best approach to take the kernel sources for the kernel that ships with the device and disable some Android-only options and enable some options used by normal Linux environments. This enables you to have the kernel drivers for all the peripherals and to use the hardware accelerated binaries provided in the NVIDIA’s L4T (Linux for Tegra) releases.

Unfortunately it looks like the binaries are currently provided only for Tegra 2 and Tegra 3 while the new Tegra Notes are Tegra 4 based.

I think having an unlocked bootloader or providing the means to unlock it is up to the device vendor, e.g. the ADVENT Vega and I have no knowledge about that.

If there is no unlocking possibility, then one can try the kexec method but that is more complicated and probably needs a way to modify the original kernel anyway.

Thank you for your response kulve.

“There is no such thing as a “standard ARM kernel”. With an unlocked bootloader you can boot anything and in those cases it’s usually the best approach to take the kernel sources for the kernel that ships with the device and disable some Android-only options and enable some options used by normal Linux environments. This enables you to have the kernel drivers for all the peripherals and to use the hardware accelerated binaries provided in the NVIDIA’s L4T (Linux for Tegra) releases.”

That is exactly what i want to do :D.

Then my more precise Questions are:

  • Will Nvidia continue their “Linux for Tegra” Program for the Tegra 4?
  • Does anyone know which “Tegra Note”-Distributor keeps the Bootloader unlocked?

(This guy: http://www.youtube.com/watch?v=sAvXLqPKxow built a Linux (Modified 3.11 Kernel, Arch Linux ARM userspace, KDE) for the Nvidia SHIELD without proprietary Drivers (But GPU acceleration isnt working))

Hey, I’m “this guy”. :)

Great to see there are other people interested in running Linux on Tegra devices. Actually, I have ported the work I did on SHIELD to TN7 and have been able to boot OpenSUSE 13.1 on it, with USB working (keyboard/mouse/network). No touch screen, no hw acceleration, no wifi, no audio yet. But otherwise it runs pretty decently and can certainly be improved if other people dedicate some time to it. I should be able to release the kernel sources soon, and will probably write a document on how to setup a user-space on https://github.com/linux-shield/kernel .

Depending on what your motivation for running Linux on TN7 is, this might suit you or not. Basically it’s ok for hacking and doing light work (and playing colorblind Pingus), but there is much more work needed to get it to a state where you can use it as a real tablet. AFAIK there is no real technical barrier (excepted maybe the touch screen), it’s just a matter of having people willing to invest time on this. IMHO it’s a very cool project to hack on, with an already-usable system and plenty of low-hanging fruits to pick up.

L4T would be another option with better support (notably HW acceleration), but AFAIK it won’t boot on TN7 or even Tegra 4. :/

To answer your questions:

  1. All TN7 come with an unlockable bootloader that is locked by default. This is the same configuration as the Nexus devices, and the procedure for unlocking TN7 is exactly the same (“fastboot oem unlock” on the bootloader screen). Unlocking the bootloader will allow you to boot other OS images. See https://github.com/linux-shield/shield-root for more details about unlocking/booting custom OSes.

  2. AFAIK there is no difference in the bootloaders between the different brands, and the hardware is also essentially identical.

Hey Gnurou,

nice that you write here in this thread, because i actually thought about contacting you directly via GitHub.

My motivation to build a linux for the TN7 is mainly the “hacking”-subject u mentioned, although it would be awesome to have a working linux distro with full hardware support.

Actually it’s not “me” but “we”. A coworker of mine and i had the initial desire to have a ARM-tablet with Arch-Linux installed. We are both software developers with linux background, so we should be able to “pick some low-hanging fruits”, but we lack of experience with “low-level linux stuff” on ARM/Android-Devices.

It would be nice if we could build on your work as basis for further development. You did a great job there! Currently we have to wait till the devices are available in Germany, but then we want to start immediately… If you are generally interested to do some collaborative work with us in this topic, we could talk in detail as soon as we got the devices and evaluate how we could help each other.

“L4T would be another option with better support (notably HW acceleration), but AFAIK it won’t boot on TN7 or even Tegra 4. :/”

…but if L4T would be available for Tegra 4 shouldn’t it be possible to take this as a basis for a TN7 distro? Do you think they dropped the L4T-project for the Tegra 4? I cant find any information about this.

Thanks for all your helpful input so far.

Hey, apologies for the delayed reply, I never got a notification for your post somehow.

It would be great if you guys dedicate some time to improve kernel support. As I said the low-hanging fruits are numerous. I am absolutely interested in helping you with issues you might have, although my time is quite limited unfortunately. :/

But anyway, https://github.com/linux-shield/kernel now supports TN7 and you can already start booting Arch Linux ARM with it the same way I did for SHIELD. Why don’t you give it a try (I suggest using the roth_next branch as it is based on future 3.14 which will have some of the SHIELD/TN7 patches already integrated) and then contact me on Github to discuss any issue you may have? The Trimslice image is what I used for SHIELD, with the fbdev X11 driver - it was quite easy to get to work. You will need a USB cable with separate power input and a USB network adapter (as well as a keyboard) to install it properly though.