Jetson TX1 Xavier Nano SD/usb boot
Jetson TX1/Xavier/Nano SD boot
ext4 フォーマットのsdカードにrootfsをコピーした後に、emmcの/boot/extlinux.confを書き換える。
xavierでは使えないので注意。
起動シーケンス
TX1の起動シーケンスは、下記の通り。3. ubootまではemmc上で動作し、extlunux.confが指定するkernel, initrd, dtb, rootfsを使って起動する。
- 初期の起動シーケンス
- cboot
- uboot /boot/extlinux.conf読み込み
- linux
Nano
Nano では標準でSD bootであるが、それをusb flash bootに変更する際も同様である。
起動シーケンスのubootまではSDで行われる。
Xavier
xavier ではubootがなく、cbootからのlinux起動のため、extlinux.confを読み込めず、本手順の期待どおりに動作しない。
xavier でのsd bootには、cbootオプションを書き換える事になる。
flash.shにより、flashにcbootオプションを書き込めばsd bootも可能と言える。
例えば、rootfsを/dev/sda2に作成後、
- flash.sh jetson-xavier /dev/sda2
但し、flash.shでは上記の通り、起動ディスクを一つしか指定できず固定である。起動時にディスクを動的に選択できない。
cbootに起動ディスクの選択機能があれば、flash.shの改造で起動ディスクの選択も可能かもしれない。
なお、起動に必要なものは、
flash.shが何を何処に書き込んでいるか不明。1はemmcで良いが、2-4はdiskに書き込みたい。cboがロードするkernelをミニカーネルにし、ミニカーネルが動的に次段カーネルを選択すればよいのかも。
起動可能ディスク
起動可能ディスクは、TX1/2,Nanoの場合はubootにより、Xavierの場合はcbootによる。Xavierでは下記のディスクから起動できると言われている。
Devkit 搭載のm.2 / Nvmeからの起動が入っていない。cbootにnvmeドライバがないのだろうか。PCIe slotにSSDを挿しての起動も同じく未対応。
Xavierのuboot未対応の理由は謎だが、課題は組み込み装置のJetsonにその様な機能が必要なのか。
或いは、先に出荷されたtx1/2、後に出荷されたnanoがuboot対応する一方、xavierがuboot対応しないことの意味は?
価格的にはXavierはNanoの10倍。位置づけが異なる。
補足
- TX1, $400->$300, 256core, maxwell
- TK1, EOL, 192core Kepler
TX1はTX2に統合されるとし、Jetsonとしては、Xavier, TX, Nanoの3シリーズ。今後も3シリーズを維持し続けるのか、或いは拡大/集約していくのか。
Xavierは自動運転等の高度な産業用途では重要なパーツであり、この分野ではまだまだ能力需要が高い。多数のベンチャーも生まれており、競争も激しい。どこかがエコシステムを勝ち取るまで競争が続く。但し、一般市場には出回らず、高度な産業用途が主戦場である。
一方、Nonoはロボットや監視等の程々の能力を安価に広く使いたい分野での需要が考えられる。また、nvidiaがエコシステムを拡大し、Xavierの領域でガリバーとなる為に裾野を広げる戦略領域でもある。
さて、TXの領域は中途半端であり、明確な需要が見えてこない。ラインナップと言う形で生き残るかもしれない。