Baserock Genivi Baseline on Jetson TK1

This page describes how to setup a Jetson TK1 to run Baserock Genivi Baseline, by reflashing with a Genivi Baseline rootfs.

The pre-requisites are

  • a Jetson TK1
  • a micro-USB cable for flashing (there is one provided with the Jetson)
  • a working Baserock devel machine (or other Linux) to use as host for flashing the Jetson

You may also want to have

  • USB keyboard and HDMI screen to play with the Baseline system.
  • USB-serial cable if you want to debug what's going on from your host

Flash the Baserock Development image onto the Jetson

If you're running your host in a VM, make sure that it has access to USB

1) Clone and Build the NVIDIA flashing tools

You'll need the open source Nvidia flashing tools built first, and you only have to do this once, so create a directory for them to go into, e.g ~/nvidia-tools

mkdir ~/nvidia-tools
export TEGRA_TOOLS_DIR=~/nvidia-tools/
cd ~/nvidia-tools
git clone git://git.baserock.org/delta/nvidia/cbootimage.git
git clone git://git.baserock.org/delta/nvidia/cbootimage-configs.git
git clone git://git.baserock.org/delta/dtc.git
git clone git://git.baserock.org/delta/nvidia/tegrarcm.git
git clone git://git.baserock.org/delta/nvidia/tegra-uboot-flasher-scripts.git

Install dependencies (on a Debian-like system)

sudo apt-get install dh-autoreconf libusb-1.0-0-dev libcrypto++-dev flex bison

Now, to build them

cd tegra-uboot-flasher-scripts
./build-tools

If there are any errors here, it will most likely be due missing build dependencies for tegrarcm (e.g libusb). Once you have satisfied these you can run the build tools command again.

Please note: The flashing script requires gdisk to be installed, make sure you have this installed, e.g:

sudo apt-get install gdisk

You should now have a folder _out_tools in TEGRA_TOOLS_DIR that contains the following binaries:

cbootimage
dtc
fdtput
tegrarcm

Once you have these, you're ready to flash!

2) Flashing the Jetson

The process is pretty straight forward. Download the image you want to flash, and run the script! You need to be root to run this, so do this first, e.g:

sudo -i

Follow the instructions carefully, and make sure you export TEGRA_TOOLS_DIR to the folder that contains the _out_tools folder, e.g

export TEGRA_TOOLS_DIR=~/nvidia-tools/

Make sure the Jetson isn't in recovery mode before doing this, you'll be told when to do this during the flashing process (to do this hold down "FORCE RECOVERY", press "RESET", release "FORCE RECOVERY". See elinux )

git clone https://gitlab.com/jamesthomas/baserock-flashing-tools.git
cd baserock-flashing-tools/
curl -k -O https://download.baserock.org/baserock/baserock-current-genivi-baseline-system-armv7lhf-jetson.img.gz
gunzip baserock-current-genivi-baseline-system-armv7lhf-jetson.img.gz
bash baserock-flash.sh baserock-current-genivi-baseline-system-armv7lhf-jetson.img jetson-tk1