概要
- Jetson AGX Orin での起動がおかしくなった件での復旧作業の記録です。
- fstabに記載していたmicroSDカード(ext4) が壊れたことが原因だった。
- シリアルコンソールでログインできる状況にしてfstabを修正することで復旧した。
発端もしくはトラブルの発覚
- git がGIT fatal: failed to read objectといい出した。
- Jetson AGX Orinをreboot した。
- shutdown したのち、boot 開始画面がディスプレイに表示された。
- いつものようにその画面は消えて黒い画面になる。
- ファンが元気よく回りだす。
- 1分以上待っていても、ファンが元気よく回り続けていて、止まる様子がない。
- LinuxPCから、そのOrinにむけてping を実施するが、
-
ping: orinのマシン名: 名前またはサービスが不明です
の表示が出る。 - wifiは起動していないようだ。
調査
シリアルコンソールを接続して、立ち上がる状況を確認する方法はある。
NVIDIA Jetson Orin - Serial Console
microUSB port を使う場合
- microUSB -USB のケーブルを用意する
- AGX orin のmicroUSB の接続ポートにケーブルを接続する。
- USBケーブルのTypeA側はUbuntuPC側に接続する。
- UbuntuPC側でminicomをインストールする。
sudo apt install minicom
それを使ってシリアルコンソールと通信をおこなう。
問題を生じてるJetson AGX Orinの電源が入っている状況で実施します。
minicom -D /dev/ttyACM0 -8 -b 115200
USB type C port を使う場合
上記の資料に記載があるので読んでください。
シリアルコンソールに感謝!
上記のシリアルコンソールでの通信が成立している状況で、
'#' のプロンプトが表示されるのを待ちます。
表示されない場合には、最悪、電源を入れ直します。
(電源を強制的に抜くのはほんとはしたくない。)
電源を入れた後に、たくさんの表示が流れたあとで、'#' のプロンプトが表示されるようになります。
root@orin:~#
root@orin:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p1 57G 34G 21G 63% /
none 31G 0 31G 0% /dev
tmpfs 31G 0 31G 0% /dev/shm
tmpfs 6.2G 19M 6.2G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 31G 0 31G 0% /sys/fs/cgroup
root@orin:~#
仮復旧
- minicom で入ったシリアルコンソールは、その後rootでの作業を受け付けてくれる。
- cd /etc
- nano fstab
で問題のあるmicroSDカードのディスクをmount 対象から除外する。
該当行の冒頭に# を入力する。編集終了。 - shutdown -r now を実行する。
fstab修正後の起動
- 問題のMicroSDカードを抜いておく。
- 通常の起動が開始し、ディスプレイが接続してあれば、X-window でのlogin画面が起動し、通常のloginができた。
microSDで保存していたデータ
- githubで管理しているデータのlocal repogitory
- dockerが利用するcacheデータ
- このように、ローカルディスクから失われてもなんとかなるデータだけにしておいたのは幸いだった。
新規microSD カードの入れ直し
- (とりあえず記載を省略)