Jetson nano を USB で動作させる 2020年05月

Jetson nano を USB で動作させる 2020年05月

動作確認と、ベンチマークが終わった Jetson nano が、ホコリを被っている。

サーバーか何かに転用しようと思い立ったのですが、
microSDはすぐに壊れるので、長期稼働に耐えられるように、USB Boot できないか調べたところ、Jetson hacks にガイドを発見できたので、試してみる。

今回登場する方法は、Jetson Hacks では2番目の方法らしい。

なお、最終的に、micro SD カードを抜いて起動することは できません!
起動しには、micro SD カードを刺しておいてください。

Jetson hacks のガイド

Jetson Nano – Run From USB Drive
https://www.jetsonhacks.com/2019/09/17/jetson-nano-run-from-usb-drive/

ポイント

You should do this on a freshly flashed Micro SD card

と有るので、素直に OS を焼き付け直す。

OS セットアップ

Getting Started With Jetson Nano Developer Kit
https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit

img 取得

Jetson Nano Developer Kit SD Card Image,

nv-jetson-nano-sd-card-image-r32.4.2 だった。

micro sd カードをフォーマットする

sd card formatter を使用しなさいということなので、従う。

焼き付ける

Balena Etcher を使用しなさいということなので、従う。

電源

今回は、5V 4A の電源を使用しますので、J48 ピンをジャンパーでショートさせておきます。

起動とセットアップ

言語は English, キーボードは Japanese > Japanese にしました。

起動する

電源をさして、起動します。

USB Boot の設定をする

Git clone

git clone https://github.com/JetsonHacksNano/rootOnUSB
cd rootOnUSB
./addUSBToInitramfs.sh

外付けSSDの準備

Youtube に従います。

フォーマット

disks を起動して、Compatible with all sytem... で format.

パーティション作成

Volume. End に 10GB 残して設定
Volume name 適当に設定する。 NanoSSD256 など
Type internal Disk for use with Linux systems only (Ext4) を選択

Step データのコピー

まず、マウントしましょう。

左のアイコンをダブルクリックすると、マウントしてくれる

コマンド実行

./copyRootToUSB.sh -p /dev/sda1

Step 4 /boot/extlinux/extlinux.conf の修正

/boot/extlinux/extlinux.conf を修正します。

設定ファイルのバックアップを取って

cd /boot/extlinux
sudo cp extlinux.conf extlinux.conf.org
TIMEOUT 30
DEFAULT primary

MENU TITLE L4T boot options

LABEL primary      MENU LABEL primary kernel      LINUX /boot/Image      INITRD /boot/initrd-xusb.img      APPEND ${cbootargs} root=UUID=db47586f-2cf9-494c-99ba-1ea322190395 rootwait rootfstype=ext4
LABEL sdcard      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet

# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot

# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}

みたいにします。

もともと有ったセクションの LABEL は、 sdcard などとしましょう。

UUID に関しては、 ~/rootOnUSB/diskUUID.sh が吐き出してくれますので、コピペしましょう。

Reboot

再起動して、SSD がマウントされていることを確認します。