Android – NVIDIA Jetson TK1

Embeded : 2015. 4. 23. 14:02
반응형

출처 : http://jetsonhacks.com/2015/02/08/android-nvidia-jetson-tk1/


There are several commercial products that run Android on the NVIDIA TK1 chip, includingNVIDIA’s SHIELD tablet. The TK1 is the basis for the NVIDIA Jetson TK1 Development Kit. While Android is not officially supported on the Jetson by NVIDIA, there have been efforts to port Android to the Jetson TK1 by members of the user community.

The first available Android port, called Jedroid (Android on Jetson), is an effort led by Lucas Dai. Jedroid is currently based around Android 4.4. Here’s a video on how to prepare Jedroid for a bootable SD Card using only the Jetson running L4T 21.2. Looky here:

Background

Linux for Tegra (L4T) is an Ubuntu 14.04 desktop for the Jetson. In the earlier 19.X versions of L4T, the Jetson used the Fastboot boot loader, the recent 21.X versions of L4T use Uboot. When using Fastboot, the machine must indicate exactly where the boot device information is located. In practical terms, that means that in order to run a boot sequence from a SD Card for example, the Jetson must be flashed for that to happen.

Uboot, on the other hand, is more flexible. Uboot follows a boot target sequence similar to that used in a Windows PC. On the Jetson, the sequence is:

  • SD Card
  • Internal Flash Memory
  • USB
  • NFS Client/Server boot
  • DHCP
  • If a properly formatted SD card is in the SD Card reader when the machine boots, the Jetson will boot from that SD card. Note: Uboot is capable of doing other interesting things during the boot cycle, but that discussion is beyond the scope of this post.

    What Uboot allows us to do is to run Android off of a SD card, without having to flash the Jetson. If there is no SD card, then the Jetson will boot normally into L4T (Ubuntu) from the internal flash memory. If you want to get a feel for Android on the Jetson, but aren’t ready for making a full commitment to make the Jetson an Android only machine, the SD card approach is a good way to go.

    Note: You may still flash Jedroid to the internal flash memory from a PC host machine. Seejetson.co for more details.

    Preparation

    You will need an Ext4 formatted SD card, preferable empty. In the video, I used a Transcend 64 GB Class 10 Flash Memory Card . People have reported issues with certain SD cards, so take that into account. I would recommend using a fairly large card, certainly one 16GB or larger. Most SD cards are formatted ExFat for cameras and PCs, so you may have to format the card before you begin the installation. Here’s a quick post on how to do that on the Jetson: Format SD Card Ext4 – NVIDIA Jetson TK1. Insert the formatted SD card into the SD card reader, and make sure to unmount the card from the file system.

    Script

    There’s a Gist on Github that can be run as a script to download Jedroid 1.3 and install it on the SD card. Looky here:

    1234567891011121314151617181920212223
    #!/bin/sh
    # Install Jedroid 1.3 on SD card
    # Assumes a blank Ext4 formatted SD card is in the card reader
    # The SD Card is not mounted
    sudo mkdir /media/ubuntu/jedroidInstall
    sudo mount -t ext4 /dev/mmcblk1p1 /media/ubuntu/jedroidInstall
    # Get Jedroid 1.3 from Google Drives
    cd ~/Downloads
    wget -O jedroid_v1.31.tar.bz2 https://googledrive.com/host/0B-lsw7HiSbj8cHJNTmF2RUV6RVE
    wget -O jedroid_v1.31.tar.bz2.md5sum https://googledrive.com/host/0B-lsw7HiSbj8T2xFdjZFY0VadXM
    md5sum jedroid_v1.31.tar.bz2
    # Untar
    mkdir ~/jedroid_workspace
    tar jxvf jedroid_v1.31.tar.bz2 -C ~/jedroid_workspace
    cd ~/jedroid_workspace/jedroid
    # Copy Jedroid to the SD Card
    sudo cp -r sdimage/* /media/ubuntu/jedroidInstall
    cd /media/ubuntu/jedroidInstall/boot
    # Modify Jedroid to boot from the SD card
    sudo mkdir extlinux
    sudo cp extlinux.conf extlinux
    sudo sed -i 's/LINUX zImage/LINUX \/boot\/zImage/' extlinux/extlinux.conf
    sudo sed -i 's/FDT tegra124-pm375.dtb/FDT \/boot\/tegra124-pm375.dtb/' extlinux/extlinux.conf
    view rawinstallJedroid.sh hosted with ❤ by GitHub

    The Jedroid 1.3 image is stored on a Google Drive, for later versions you may want to go to the Google Drive itself and download the image. Here’s the current address for the Google Drive:

    https://drive.google.com/folderview?id=0B-lsw7HiSbj8V3A4WjhlSlR6Ujg&usp=sharing

    After you run the script, you should have a SD card that is ready to boot into Android. At this point, simply restart the machine and Android should start up.

    Note: There is one messy bit in the script, in that it creates a mount point for the SD card at /media/ubuntu/jedroidInstall. After the install, you will probably want to delete that entry. You can:

    $ sudo rmdir -r /media/ubuntu/jedroidInstall

    Conclusion

    This is a relatively painless way to get Android to run on the Jetson TK1 without having to make the commitment of flashing the device. Try it out, and go have some fun with it.

    반응형

    'Embeded' 카테고리의 다른 글

    Understanding MTK’s MBR/EBR File Format  (0) 2015.04.23
    BLE 패킷 분석  (0) 2015.04.21
    바닥부터 만들어보는 임베디드 리눅스 배포판  (0) 2015.04.04
    Posted by Real_G