2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Jetson TK1にUbuntu Core 16.04をインストール

Posted at

モチベーション

Jetson TK1に用意されているLinux環境はUbuntu 14.04 LTSであり、あまりにも古すぎる。CUDAをはじめとするNVIDIA GPUのうまみを失ってでも16.04 LTSに変更し、Cortex A15クアッドのサーバー機として使えないか。

概要

Linux For TegraのrootfsディレクトリにUbuntu Core 16.04の内容を展開、SDカードブート形式で動作させた。不具合は検証中。

他のOSのインストール例

http://elinux.org/Jetson_TK1#Linux_distributions_running_on_Tegra
Jetson TK1に標準以外のOSをインストールする試みは何件か行われており、基本的には公式提供されているLinux For Tegraのrootfsディレクトリに別のディストリビューションのファイル群を展開するとうまくいくようだ。

Ubuntu Coreの利用

https://www.ubuntu.com/core
Ubuntu Coreのarmhf(hard-float)用イメージファイルを、ここでは単なる最小構成のUbuntuとして扱う。収録内容が厳選されすぎてsudoやviすら入っておらず、もちろんUbuntuなのでrootは無効化されているという初心者には困った仕様ではある。
また、正規の方法でインストールすると作業途中で初期アカウントの通知があるとのことだが、今回の方法ではその通知がなく実際にアカウントも作成されない。

作業内容

作業はParallels上のUbuntu 14.04で行った。

配布ファイルの展開

$ wget https://developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-Driver-Package-R21-5
$ sudo tar jxpf l4t-Jetson-TK1-Driver-Package-R21-5
$ cd Linux_for_Tegra/rootfs/
$ wget http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04-core-armhf.tar.gz
$ sudo tar xpf ubuntu-base-16.04-core-armhf.tar.gz
$ sudo mv ubuntu-base-16.04-core-armhf.tar.gz ../..
$ sudo rm README.txt
$ cd ..
$ sudo ./apply_binaries.sh

SDカードブートのための変更

$ cd Linux_for_Tegra/rootfs/boot/extlinux/
$ sudo cp jetson-tk1_extlinux.conf.sdcard extlinux.conf

書き込み前の初期設定

実機転送前にroot作業をしてしまう。ARMバイナリをx64環境で走らせるためQEMUをインストールし、ユーザーモードエミュレーションを利用する。
下準備後は以下の作業を行っている。

  • sudoを使えるユーザubuntuの作成
  • aptリポジトリの編集
  • sudoそのものやvim, lessの導入
  • ネット接続パッケージ導入 (net-tools, isc-dhcp-client, r8168-dkms)
$ sudo apt-get install qemu-user-static
$ cd Linux_for_Tegra/rootfs/
$ sudo cp /usr/bin/qemu-arm-static usr/bin/
$ sudo mount chproc ./proc -t proc
$ sudo mount chsys ./sys -t sysfs
$ sudo cp /etc/resolv.conf ./etc/resolv.conf
$ sudo LC_ALL=C LANGUAGE=C LANG=C chroot .
# adduser ubuntu
# gpasswd -a ubuntu sudo
# vim /etc/apt/sources.list
# apt-get update
# apt-get install sudo vim less net-tools isc-dhcp-client
# apt-get install r8168-dkms
# exit
$ sudo reboot

SDカードへ転送

SDカードを/dev/sdb1とする。

$ sudo umount /dev/sdb1
$ sudo mkfs.ext4 /dev/sdb1
$ sudo mkdir -p /mnt/sdcard
$ sudo mount /dev/sdb1 /mnt/sdcard
$ cd Linux_for_Tegra/rootfs/
$ sudo cp -a * /mnt/sdcard
$ sync
$ sudo umount /dev/sdb1

実機をSDカードブートに変更

$ cd Linux_for_Tegra
$ sudo ./flash.sh jetson-tk1 mmcblk1p1

実機でのネット接続操作

$ sudo dhclient eth0
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?