NVIDIA Releases Source Code, Binaries, and Android Build Instructions for the SHIELD Gaming Console
This morning I’ve read bad news for the open source community. Jean-Baptiste Quéru, leader of the Android Open Source Project (AOSP) has decided to quit the project because AOSP cannot run on the latest Nexus 7 as Qualcomm (lawyers) impeded the project, and Google is unable to released factory images or necessary binary drivers for the GPU. But there’s also good news, as Nvidia has just released source code and binaries to allow developers to fully build an Android image for its SHIELD gaming console.
If you want to build an image for the latest image available, following the steps below.
- Get the code
mkdir ~/shield-open-source cd ~/shield-open-source repo init -u git://nv-tegra.nvidia.com/manifest/android/binary.git -b rel-roth-ota-1-partner -m secureos/jb_roth.xml repo sync -j5
- Build the Android image (Provided you’ve already setup your Linux PC do build AOSP):
cd ~/shield-open-source export TOP=`pwd` cd vendor/nvidia/licensed-binaries ./extract-nv-bins.sh cd $TOP . build/envsetup.sh setpaths lunch thor-userdebug mp dev
Done (mp dev took about one hour for my machine). You should now have the required binary images in out/target/product/roth/ directory. Enter fastboot mode before flashing the binaries by one of two methods:
- Software method – Boot to android home screen, connect the device to Linux terminal, and type: “adb reboot bootloader” in terminal
- Hardware method – Turn off the device, and press and hold “Back”+”Home”+”SHIELD” buttons until device boots
To flash images from this build to your SHIELD, run the following commands from the same terminal where you did your build:
cd $OUT fastboot flash recovery recovery.img fastboot flash boot boot.img fastboot flash system system.img fastboot flash userdata userdata.img fastboot flash dtb tegra114-roth.dtb
You’re all done at this stage.
In case you want to revert to the factory image, Nvidia also provide a factory image recovery data file package that you need to extract, and flash as per the instructions above.