Video: Baserock system with Linux 3.15 and the GENIVI H1.0 on NVIDIA Jetson TK1

Sam Thursfield sam.thursfield at codethink.co.uk
Mon Jun 16 16:23:39 BST 2014


On 12/06/14 20:44, Paul Sherwood wrote:
> Hi folks,
> please check out the shiny new video on the homepage at
>
> http://wiki.baserock.org
>
> Hope you like it... please tweet about it, tell everyone you know, buy
> the board etc :-)

I've uploaded two Jetson images to download.baserock.org:

http://download.baserock.org/baserock/baserock-14.24-genivi-baseline-system-armv7lhf-jetson.tar.gz

http://download.baserock.org/baserock/baserock-14.24-devel-system-armv7lhf-jetson.tar.gz

These are not official Baserock 14.24 release images, but they should be 
close enough to get started. The GENIVI Baseline image contains Weston 
and Weston-IVI-Shell as normal, and also KMSCube. The devel system can 
be used to run Baserock builds on the Jetson board.

These are built from the 'baserock/tegra' branch in 
git://git.baserock.org/baserock/baserock/definitions.git. Currently 
there are a few differences compared to the other systems: no LLVM 
(since there's no need for llvmpipe), a few X chunks added/updated, 
changes to Mesa and libdrm, and a different Linux branch.

The Tegra GPU is rather special in that rendering and display is done by 
different devices. James did the following hack to add support for this 
kind of rending to Weston: 
http://git.baserock.org/cgi-bin/cgit.cgi/delta/weston.git/commit/?h=baserock/genivi/weston-ivi-tegra&id=d4e5dbd13055cdd36e53fe5f7e5ab33745d659a1

In the GENIVI Baseline image, try the following:

     kmscube /dev/dri/card1 /dev/dri/card0

     export XDG_RUNTIME_DIR=/tmp
     weston --backend=drm-backend.so

     # Example Weston clients
     EGL_DRIVER=egl_dri2 EGLWLMockNavigation -width 320 -height 300 &
     weston-simple-shm-ivi

You'll find there's an issue in the Nouveau driver where large Weston 
clients complain about memory allocation failure. If you see this, 
resize the surface so that it's smaller.

If you need to build U-Boot for your Jetson board, try the following:

1) Create a folder where the nvidia tools will all be located

        mkdir tegra-tools && cd tegra-tools

2) Clone u-boot, upstream u-boot should have tegra support, but for a more
up-to-date version use the following:

        git clone git://git.denx.de/u-boot-tegra.git
3) Clone the nvidia tools

        git clone https://github.com/NVIDIA/cbootimage.git
        git clone https://github.com/NVIDIA/cbootimage-configs
        git clone https://github.com/NVIDIA/tegrarcm.git
        git clone https://github.com/NVIDIA/tegra-uboot-flasher-scripts.git

4) Build and install tegrarcm

        cd tegrarcm && ./autogen.sh --prefix=$PREFIX && make -j5 && make 
install

    Prefix can be anything here, make sure it is in your PATH though

5) Now you can use the tegra-uboot-flasher-scripts to start building, 
make sure
    export your CROSS_COMPILE environment variable first

        cd tegra-uboot-flasher-scripts
        ./build --boards jetson-tk1 build

6) This will build everything, now to install u-boot onto the jetson, 
put the
    board into recovery mode (hold down "FORCE RECOVERY" and press 
"Reset" once)
    attach the USB cable, and type (as root):
        ./tegra-uboot-flasher exec jetson-tk1
    exec is useful for testing, as this will only run u-boot once. If 
you have
    extracted the baserock image to an sdcard, it should now 
automatically boot.

7) If you're ready to commit to u-boot, you can do
        ./tegra-uboot-flasher flash jetson-tk1
    Again, in recovery mode.

Hope this is all useful!

Sam

-- 
Sam Thursfield, Codethink Ltd.
Office telephone: +44 161 236 5575



More information about the baserock-dev mailing list