Jump to content

Nvidia Tegra armv7 (nvidia-tegra-armv7)

From postmarketOS Wiki

A generic port for Nvidia Tegra 2/3/4 devices.

Nvidia Tegra ARMv7
Manufacturer Nvidia
Name Tegra ARMv7
Codename nvidia-tegra-armv7
Released 2011
Type generic
Hardware
Chipset Nvidia Tegra 2
3
4
GPU ULP GeForce
Architecture armv7
Software
FOSS bootloader yes
postmarketOS
Category community
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Device package device-nvidia-tegra-armv7
Kernel package linux-postmarketos-grate
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS, ...
Partial
SD card
Also includes other external storage cards
Works
Battery
Charging and battery level reporting works
Works
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Keyboard
Build in physical keyboard
Works
Touchpad
Build in Touchpad
Works
Multimedia
3D Acceleration
Partial
Audio
Audio playback, microphone, headset and buttons.
Works
Camera
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
USB-A
Full-sized USB-A port works (Usually applicable to SBCs and laptops).
Works
HDMI/DP
Video and audio output with HDMI or Display Port works.
Works
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Works
Magnetometer
Sensor to measure magnetism
Works
Ambient Light
Works
Hall Effect
Also known as flip cover sensor
Works
Haptics
Works


Contributors

  • Clamor
  • Jenneron

Devices

Device Category Chipset primary secondary
Asus Eee Pad Transformer community Nvidia Tegra 2 (T20) Y Y
Asus Eee Pad Transformer Prime community Nvidia Tegra 3 (T30) Y Y
Asus Transformer Infinity community Nvidia Tegra 3 (T33) Y Y
Asus Transformer Pad community Nvidia Tegra 3 (T30L) Y Y
Asus Transformer Pad 3G community Nvidia Tegra 3 (T30L) Y Y
Google (ASUS) Nexus 7 (2012) community Nvidia Tegra 3 (T30L) Y N
Google (ASUS) Nexus 7 (2012) GSM community Nvidia Tegra 3 (T30L) Y N
LG Optimus 4X HD community Nvidia Tegra 3 (AP33H) Y P
LG Optimus Vu community Nvidia Tegra 3 (AP33) Y P
Microsoft Surface RT community Nvidia Tegra 3 (T30) P P
Toradex Colibri T30 testing Nvidia Tegra 3 (T30) - -
WEXLER Tab 7t downstream Nvidia Tegra 3 (T30L) Y N

Prerequisites

In order to install postmarketOS on your device, you must have one of compatible devices in the list above and ability to boot at least into recovery mode.

Unlocked bootloader is not necessary unless stated otherwise on the respective device's page.

  • U-Boot - bootloader.
  • fusee-tools - extract BCT, SBK and pre-load U-Boot into RAM; nvflash included.
  • re-crypt - re-partition TegraPT to make it usable with U-Boot and Linux overall.

Installation process

Step 0: Create backups

Note To enable nvp3server on ASUS Transformer devices with vendor locked bootloader, use BlobTools to extract bootloader (blob.EBT) from the stock firmware and pre-load it with fusee-tools to your device in the APX mode.
wheelie is not required in this case.

If you have Google Nexus 7 (2012) or ASUS Transformer, backup partitions with nvflash. Refer to this (download files are here), this, and this guide for more details. You should have a set of images (bricksafe.img and other) which ensure that original bootloader and stock firmware can be restored. Additionally backup all valuable data from your device.

Step 1: Build and prepare U-Boot

Preferred source is the master branch of mainline U-Boot repo. U-Boot documentation contains most of stuff needed to prepare it to be flashed onto device as primary last stage bootloader and covers use of re-crypt.

In order to correctly use re-crypt you need to get SBK of your device. Fusée Gelée exploit in fusee-tools is used for this purpose. Refer to this section to get SBK of your device.

Step 2: Flash U-Boot

Once you get repart-block.bin or split images from re-crypt it can be flashed using nvflash or using U-Boot fastboot interface. To check if U-Boot correctly boots on your device refer to this section of fusee-tools README to pre-load U-Boot into RAM. If everything works correctly you should flash processed U-Boot as described in board U-Boot documentation.

Step 3: Install postmarketOS

For devices with microSD available the preferred method of installation is flashing to microSD. In case of eMMC-only devices installation can be performed using pmbootstrap install --disk /dev/sdX when exposing eMMC to the host with U-Boot.

There are also prebuilt images at https://images.postmarketos.org/bpo/edge/nvidia-tegra-armv7. Use xzcat xxxxxxxx-xxxx-postmarketOS-channel-ui-nvidia-tegra-armv7.img.xz | sudo dd of=/dev/sdX status=progress. Where /dev/sdX is the block device exposed by U-Boot. You can also flash with GUI tools like gnome-disks.