Jetson TK1をSDカード起動にする


Jetson TK1のシステムや作業領域としてSDカードを使用するように切り替えました。
容量の問題とか書き換え回数制限とか気にしてです。SDカードならシステム破壊するようなことをしても、交換可能ですし、バックアップもやりやすそうですし、メリットが多くあると思います。

準備

ここではVMware上の Ubuntu 14.04 で作業しました。
必要なファイル群をNVIDIAから入手します.

Tegra124_Linux_R19.3.0.armhf.tgz2
Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2

そしてこれを適当なところに展開して、コマンドを実行します。
これらの作業コマンドを以下に示しておきます。

$ wget https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/Tegra124_Linux_R19.3.0_armhf.tbz2
$ wget https://developer.nvidia.com/sites/default/files/akamai/mobile/files/L4T/Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
$ tar xpf Tegra124_Linux_R19.3.0_armhf.tbz2
$ cd Linux_for_Tegra/rootfs
$ sudo tar xpf ../../Tegra_Linux_Sample-Root-Filesystem_R19.3.0_armhf.tbz2
$ cd ../
$ sudo ./apply_binaries.sh

書き込み

ファイル群が準備できたので、これをSDカードに書き込みます。
手元のカードリーダーでSDカードを装着して確認したところ、/dev/sdb として認識しているようでした。各自の環境ではこのあたりが変わると思いますので、適宜読み替えて下さい。

SDカードがフォーマットされたところで、データを書き込みます。

Jetson TK1をUSB(microUSBのほう)でLinux環境と繋いでリカバリーモード起動させます。
リカバリーモードに入るには、Recoveryスイッチを押しながら、Resetスイッチを押します。

リカバリーモードに入った後で、Linux環境で以下のコマンドを実行します。
念のため、認識できているか lsusb で確認しています。
リカバリーモードに入っているときには、画面に何も出力されないので…。

というように表示されて、正常に書き込まれるとJetson TK1が再起動されます。

fastboot.bin というバイナリが送られているようですし、方式としてはfastbootのほうでしょうか。
19.3バージョンからは、U-BOOTもサポートされたとありましたし、そのうち試してみたいところです。

再起動後、SDカードを挿さないままだと、起動が途中で止まるはずです。
止まったことを確認したら、SDカードを挿入してみます。
うまくいけば、ここから起動シーケンスが再開されていくと思います。
(画面が出ないようなら、リセットして試してみましょう)

初期設定など

Jetson TK1が無事にSDカードから起動できたら、初期設定をしておきます。
タイムゾーンは Asia/Tokyo を選択して時刻を合わせておきます
(実際にはRTCは、電源OFFでリセットされちゃうんですが・・・)
他にもリポジトリの設定とか。

コマンドが見つからなかった場合のヘルプ(どのパッケージに入ってるのか)を出すための設定.

最後に使用量を確認しておきます。
SDカードが16GBの物を使っているのでこんな感じでした。

デフォルトの eMMCに入っている時には 8GBほどのパーティションだったと思います。
上記のように15Gが表示されていますし、無事にSDカードのシステムが使われているように思います。

感想とか

最後に感じたことを1つ。
安物SDカードだとか、クラスの低いものを使っていると、操作に引っかかりをよく感じます。
気になる人は、ちゃんとした高速なものを使用するようにしましょう。

最後に

元の起動に戻す方法は、リカバリーモードにして以下のコマンドを実行します。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする


コメント

  1. kingds より:

    最近Jetson_TK1を触り始めたものです。

    ここではSDカードについて説明しましたが、USB HDDの場合は同じでしょうか?

    sudo ./flash.sh jetson-tk1 sda1
    って感じで実行すればよさそうと思ったが、rootfsの中身もいじらないといけないような気もします。どうでしょうか...

  2. すらりん より:

    USB経由でというのは試したことがなく、申し訳ありませんがわかりません。
    試しにやってみようかとは思いますので、結果が出たらまたブログに書きたいと思います。

    UBOOT で起動しているはずなので、UBOOT の起動パラメータをシリアル経由で設定できれば動くのかなとは思います。ただ RS232C のシリアルケーブルを所持していないためこのあたりも確認できずですが。

  3. すらりん より:

    こちらの記事 で USB メモリからの起動にチャレンジしました。 USB-HDD でも同じように動作できるのではないかと思います。