Jetson Nano量産モジュールのストレージを拡張する

Jetson Nano量産モジュールは16GB eMMCしか搭載されていないが、パッケージを色々入れたりビルドしたりすると容量が不足するのでストレージを拡張する。下記の方針で設定する。

  • eMMC以外のストレージデバイスを追加する。(今回はSDカード)
  • 容量をたくさん使いたいディレクトリを追加ストレージに割り当てる。(今回は/usr/)
  • 割当てはmount --bindで行う。シンボリックリンクでもよいが、mountコマンドで実現したほうが設定を/etc/fstabにまとめられる。

/usrは、誤って消したり拡張ストレージが外れたり壊れたりするとOSが起動しなくなる気がするので注意。

UUIDの確認

マウント設定に必要な、SDカードのUUIDを確認する。

ls -l /dev/disk/by-uuid/

SDカードのマウント設定

/etc/fstabに、起動時にSDカードをマウントする設定を追加して再起動する。

echo 'UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" /mnt ext4 defaults 0 0' | sudo tee -a /etc/fstab
sudo reboot

これにより、追加ストレージが/mntにマウントされる。

既存ディレクトリを追加ストレージにコピー

sudo mkdir /mnt/usr2
sudo rsync -avz /usr/* /mnt/usr2

追加ストレージのディレクトリを/usrとしてマウント

下記コマンドで正しくマウントできるか(/usrへのアクセスの実体が/mnt/usr2へのアクセスになっているか)を確認する。

sudo mount --bind /mnt/usr2 /usr

起動時に自動的にマウントするため下記の設定をする。

echo '/mnt/usr2 /usr none bind 0 0' | sudo tee -a /etc/fstab
sudo reboot

これにより、起動時に追加ストレージが/mntにマウントされた後、/mnt/usr2が/usrにマウントされ、追加ストレージが/usrとして使用される。