OKdo Nano C100 開発者キット NVIDIA Jetson Nano B01互換機 レビュー

SBC(シングルボードコンピュータ)

シングルボードコンピューターNVIDIA Jetson Nano B01互換機のOKdo Nano C100がIoT本舗からやってきたので紹介します。

こちらはJetson Nano B01互換で、ほぼい一緒ながらストレージにeMMC搭載でMicroSDなしで単独起動できて、Jetson Nano B01よりも4~5千円ほど安くなっているのが特徴。

一時期、Jetson Nanoが5万円くらい、ラズパイは2~3倍の高値になっていたことを考えると最近はやっと定価の価格に戻ってきてシングルボードコンピューターも手に入れやすくなって嬉しいですね。

OKdo Nano C100(アマゾン商品ページ)

OKdo Nano C100(IoT本舗 商品ページ:価格19,800円)

  1. OKdo Nano C100 レビュー
    1. Jetson Nano B01互換機 Nano C100スペック
    2. ケース
    3. 開封
    4. M.2 Key Eポート(無線LAN用)を装着するにはメイン・ベースボード分離
    5. メイン・ベースボードの裏
  2. Nano C100 MicroSDにシステム インストール
    1. OSイメージファイルダウンロード
    2. イメージファイルを書き込むツール
    3. Nano C100に使うMicroSDカードをフォーマット
    4. EtcherでOSイメージファイル書き込み
  3. Nano C100 起動
    1. MicroUSBの場合はジャンパピンを抜く
    2. 初回起動
    3. Ubuntu起動
    4. 電源
    5. Ubuntu バージョンは18.04と古い
    6. GUI表示
    7. USBのWifiドングル
    8. Nvidia Jetoson デモ
    9. MicroSDカードを抜いて起動
  4. Jetoson Nano 2GBとNano C100 比較
    1. GPIOカラフルけど番号書いてない
    2. カメラポートが2ポートある!
    3. ポートの違い
    4. Unix Bench 比較
      1. Unix Bench インストール
      2. Nano C100
  5. Nano C100にSamba ディスクマウント
    1. SMB 1.0/CIFS ファイル共有サポートの有効化
    2. cifs-utilsインストール・マウントポイント作成
    3. Windows共有フォルダにアクセス
    4. アンマウント
    5. 自動接続 fstab
  6. MicroSD まるごとバックアップ
    1. DDコマンドでMicroSDにまるごとコピー
    2. Sambaフォルダに直接コピーする(未解決)
  7. apt upgradeするとおかしくなる
  8. Nano C100 まとめ
  9. Nano C100のMicroSDまるごとバックアップ 失敗例(おまけ)
    1. MicroSDカードはwsl –mountでLinuxファイルシステムをマウントできない
    2. WSLを使う、こちらもダメ
    3. Linux File System for Windows by Paragon SoftwareでLinuxファイルシステム マウント
    4. diskinternals linux reader
    5. Win32 Disk Imager
    6. WindowsのLinuxでGPartedでバックアップ(失敗)
    7. DD for Windows

OKdo Nano C100 レビュー

Jetson Nano B01互換機 Nano C100スペック

まずは簡単なスペックから。

  • ブランド:HRKZ
  • CPU:ARM Cortex A57 1.43GHz 4Core
  • GPU:NVIDIA Maxwell 128Core
  • メモリ:4GB(64bit LPDDR4 25.6GB/s)
  • ストレージ:eMMC 16GB(単独起動可能)・MicroSD
  • USB 3.0:4ポート
  • ディスプレイ:HDMI 2.0・DisplayPort 1.4
  • 有線LAN:Gigabit Ethernet・(無線LAN用M.2 Key Eポートあり別途必要)
  • カメラ:MIPI CSI-2 D-PHY 2ポート
  • インターフェイス:I2C, I2S,SPI, UART, SD/SDIO, GPIO
  • 電源:MicroUSB・DCプラグ5V4A(外径5.5mmφ、内径2.1mmφ)

Jetson Nano B01との主な違いはストレージにeMMC 16GBを搭載していて、初期設定を済ませればeMMCから単独機能が可能なところ。

Jetson Nano B01はMicroSDカードにOSが入ってないと起動しないので、Nano C100で開発後に本番環境でeMMCのみで運用できる。

ケース

ケースもJetson Nanoと同じようなケースで色がちょっと違う程度。

左側の黒い部分をスライドして開ける箱。

裏面にスペックが書いてあります。

開封

Radxaの封印、そういえばRadxa 5A予約(デポジット5ドル)してたんですけど入荷のメール登録してなくて売り切れで買えない・・・

無線LANカードのビスか?ビスが2本付いてました。

IoT本舗の方が教えてくださいました。こちらのビスは「ベースボードのカラムパイプ固定用です。」ということです。

こちらの↓ベース部分のメインボードを支えるパイプ部分にビスではなく接着剤で止まっているのをより確実に固定するためにビスが2つ付いているものでした。

USB3.0ポート4つもある。あとディスプレイはHDMIとDisplayPortもある。

M.2 Key Eポート(無線LAN用)を装着するにはメイン・ベースボード分離

奥のビス2つを外してベースボードからメインボードを取り外すと無線LAN用のM.2 Key Eポートが見えます。

M.2 Key Eの無線LANカードは今持ってないので装着しないでUSBの無線LANアダプターを使います。

MicroSDカードはメインボードではなく、ベースボードにさすようになっているところが違い。

メイン・ベースボードの裏

メインボード↓の裏はX型にCPUの周りにヒートシンクを止める金属とビス。

ベースボード↓は裏面にGPIOピンの番号が書いてあるのがちょっと不便、できれば表面に書いてあれば見やすかったのに。

Nano C100 MicroSDにシステム インストール

それではNano C100を使えるようにしていきましょう。最初はMicroSDにNano C100用のイメージを書き込んでOS(Ubuntu)を起動して初期設定します。

初回起動後はMicroSDカードを抜いて、内蔵ストレージのeMMC単独でも起動できるようになります。

詳しくは↓こちらのIoT本舗のページで説明されていますので、そのとおりにやってみます。

Nano C100の初期設定
OKdo Nano C100 開発キットの初期設定について解説します。

以下の作業はMicroSDカードにOSのイメージファイルを書き込む作業です。

作業はWindowsやMac、Linuxで行います。例としてWindows11での作業の様子を紹介します。

OSイメージファイルダウンロード

まずはNano C100用の以下のファイルをダウンロード、5分ほどかかります。

https://auto.designspark.info/okdo_images/c100.img.xz

イメージファイルを書き込むツール

こちらのツールはNano C100用のイメージファイルをMicroSDに書き込む時に使うツールです。

balenaEtcher - Flash OS images to SD cards & USB drives
A cross-platform tool to flash OS images onto SD cards and USB drives safely and easily. Free and open source for makers...

ラズパイや他のシングルボードコンピューターを使っている方にはもうおなじみのツールだと思います。(ちょっと古い記事ですがラズパイでEtcherの使い方も紹介しました。)

Windowsの場合はインストーラが用意されています。

Nano C100に使うMicroSDカードをフォーマット

MicroSDカードを用意しましょう。容量は32GBくらいあればOK。

MicroSDカードがフォーマットできていない場合は以下のツールを使ってフォーマットするとうまくいきます。

SDメモリカードフォーマッター Windows用 | SD Association
SDメモリカードフォーマッター Windows用のダウンロードサイトです。

もし、Windowsのエクスプローラーにマウントされない場合は、スタートメニュー左クリックでディスクの管理を選びます。

上記を右クリックで「ボリュームの削除」、続いてまた右クリックで「新しいシンプルボリューム」でファイルシステムの部分をNTFSから「exFAT」に変更してフォーマットします。

EtcherでOSイメージファイル書き込み

Etcherでのイメージファイルは3ステップ・選ぶだけでMicroSDカードにイメージを焼いてくれるので簡単です。

まずは先程ダウンロードしたc100.imz.xzを選びます。

続いてフォーマットしたMicroSDカードを選ぶ。

128GBのMicroSDカードを選ぶとなぜか『大きいドライブを消去しようとしている』と言われますが、構わず書き込みます。

イメージを書き終わると↓左のほうにFlas Completed!の表示になります。

これでMicroSDカードにイメージを書き込めたのでNano C100にさして起動してみましょう。

Nano C100 起動

MicroUSBの場合はジャンパピンを抜く

ここで大事なことをお伝えしておきます。Nano C100はDCプラグとMicroUSBの2つの電源があります。ジャンパピンをショート・抜くことによってそれぞれに対応しています。

  • MicroUSB 電源:ジャンパピンを抜く
  • DCプラグ 電源:ジャンパピンをさす(ショート)

上の状態はジャンパピンがささっている状態です。電源にMicroUSBを使う場合はこのピンを抜きましょう。

自分もMicroUSB電源でジャンパピンがささっている状態で起動したら、起動しないのでしばらくビビりました・・・

初回起動

初回起動時に内蔵ストレージのeMMCになにやら書き込むようなので少し時間がかかりますので、休憩しながら待ちましょう。

Ubuntu起動

GUIが起動するとUbuntuの初期設定画面になります。

日本語も選択可能です。

初期設定が終わると↓Jetoson Nanoの壁紙の画面に、左側にランチャーがあるのが違うところ。

4K表示も可能でした。

電源

右上のメニューにパワーモード選択項目がありました。5Wにすると5V1Aで低電力で重い作業不可なのでMAXNのままにしておいたほうが良さそう。

ただ、MicroUSB接続だと5V1A=5Wになるので、全性能を使いたい場合は5V4AのACアダプターを別途導入しましょう。

Ubuntu バージョンは18.04と古い

システムはUbuntu18.04で古いUbuntuでした。

Jetoson Nanoも18.04なので、そのあたりも互換と言える?

GUI表示

設定は英語表示でディレクトリの一部のみ日本語表示になっています。

USBのWifiドングル

USBのWifiドングルがあるので、コレでWifiに接続しました。

まずはUSBメモリでドライバーをダウンロードしておく。

sudo git clone https://github.com/xtknight/mt7610u-linksys-ae6000-wifi-fixes.git

USBメモリをNano C100のUSBにさして、mt7610u-linksys-ae6000-wifi-fixesをホームなどにコピーしたらシェルを起動して以下で再起動すればWifiがつながる。

cd mt7610u-linksys-ae6000-wifi-fixes
sudo make
sudo make install
sudo reboot

Nvidia Jetoson デモ

カメラ2つとGPUで動画認識をする用のシングルボードコンピューターなので、Nvidiaがデモをいくつか用意しています。

デスクトップにNvidiaの説明やデモツールが表示されています。

GPUとNVIDIAが提供するCUDA(GPUを使って並列処理を行うソフト)でどんな事ができるのかデモがあります。

こちらは↓輪郭を取得するデモのようです。このあたりはAI画像のStable Diffusionとかに応用されているようですね。

2023/5現在はAI画像ですが、もうすぐAI動画もできるようになるのかしら?

自分もRTX 3060買ってStable Diffusion勉強中です。Beヨンドでも近日中に紹介します。

MicroSDカードを抜いて起動

MicroSDカードを抜いて起動すると↓GUI(グラフィックユーザーインターフェース)無し、CUI起動でユーザー名nano・パスワードnanoでログインできます。

Jetoson Nano 2GBとNano C100 比較

自宅の環境をセンシングした母艦に使っているJetoson Nano 2GBがあるので筐体をちょっと比較してみましょう。

見た感じ↓はあまり変わりありませんが、USBポートの違いとJetoson Nano 2GBはUSB Type-Cポート電源、Nano C100はDCプラグの電源が違う。

左:Jetoson Nano 2GB・右:Nano C100

GPIOカラフルけど番号書いてない

GPIOはNano C100がカラフルで良いのですが、ピン番号が書いてないのでちょっと使いづらいかも。

左:Jetoson Nano 2GB・右:Nano C100

カメラポートが2ポートある!

Nano C100のほうがやはり高スペックでカメラが2つ装着できます。

Jetoson Nano 2GBは貧弱なのでカメラは1つしかつけられない。

ポートの違い

Nano C100のほうは電力を多く使うので?左側にDCプラグ(5V4A)でJetoson Nano 2GBのほうはUSB Type-Cになっています。

あとはNano C100がUSB3.0 4ポート、DisplayPortも追加されています。

Jetoson Nano 2GBのほうがスペック半分くらいで貧弱です。見た目はあまり変わりない。

Unix Bench 比較

Unix BenchでCPUのベンチマークをチェックしてみましょう。

手持ちのJetoson Nano 2GBと比べてみましたが、MicroUSB電源だと速度はそれほど変わり無いようですね。

  • OKdo Nano C100(5W MicroUSB電源):並列コピー439.6・4並列コピー1441.8
  • Jetoson Nano 2GB:並列コピー407.9・4並列コピー1101.3

今回はNano C100は5V4AのACアダプターがなかったので、MicroUSB電源のみでテストしました。

Nano C100のほうはACアダプター電源を導入すると3倍くらい高速になるようです。

Unix Bench インストール

sudo apt-get -y install git build-essential
git clone https://github.com/kdlucas/byte-unixbench
cd byte-unixbench/UnixBench

Nano C100

Nano C100でUnix Benchの結果全文

go@Nano-C100:~/byte-unixbench/UnixBench$ ./Run
make all
make[1]: Entering directory '/home/go/byte-unixbench/UnixBench'
make distr
make[2]: Entering directory '/home/go/byte-unixbench/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./tmp  exists
./results  exists
make[2]: Leaving directory '/home/go/byte-unixbench/UnixBench'
make programs
make[2]: Entering directory '/home/go/byte-unixbench/UnixBench'
make[2]: Nothing to be done for 'programs'.
make[2]: Leaving directory '/home/go/byte-unixbench/UnixBench'
make[1]: Leaving directory '/home/go/byte-unixbench/UnixBench'
sh: 1: 3dinfo: not found

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

------------------------------------------------------------------------------
   Use directories for:
      * File I/O tests (named fs***) = /home/go/byte-unixbench/UnixBench/tmp
      * Results                      = /home/go/byte-unixbench/UnixBench/results
------------------------------------------------------------------------------

Wide character in print at ./Run line 1643.
Wide character in printf at ./Run line 1674.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1722.

1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput  1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

1 x File Copy 256 bufsize 500 maxblocks  1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

1 x Process Creation  1 2 3

1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent)  1 2 3

1 x Shell Scripts (8 concurrent)  1 2 3
Wide character in printf at ./Run line 1574.

4 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10

4 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

4 x Execl Throughput  1 2 3

4 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

4 x File Copy 256 bufsize 500 maxblocks  1 2 3

4 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

4 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

4 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

4 x Process Creation  1 2 3

4 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

4 x Shell Scripts (1 concurrent)  1 2 3

4 x Shell Scripts (8 concurrent)  1 2 3
Wide character in printf at ./Run line 1574.

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: Nano-C100: GNU/Linux
   OS: GNU/Linux -- 4.9.253-tegra -- #1 SMP PREEMPT Sat Feb 19 08:59:22 PST 2022
   Machine: aarch64 (aarch64)
   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
   CPU 0: ARMv8 Processor rev 1 (v8l) (38.4 bogomips)

   CPU 1: ARMv8 Processor rev 1 (v8l) (38.4 bogomips)

   CPU 2: ARMv8 Processor rev 1 (v8l) (38.4 bogomips)

   CPU 3: ARMv8 Processor rev 1 (v8l) (38.4 bogomips)

   10:19:02 up 7 min,  2 users,  load average: 0.48, 0.94, 0.62; runlevel 2023-05-19

------------------------------------------------------------------------
Benchmark Run: 土  5月 20 2023 10:19:02 - 10:47:23
4 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       13658915.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1489.3 MWIPS (9.8 s, 7 samples)
Execl Throughput                               1140.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        192210.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           53789.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        529645.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              350940.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  52512.3 lps   (10.0 s, 7 samples)
Process Creation                               3475.7 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3604.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1245.6 lpm   (60.0 s, 2 samples)
System Call Overhead                         357635.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   13658915.9   1170.4
Double-Precision Whetstone                       55.0       1489.3    270.8
Execl Throughput                                 43.0       1140.8    265.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     192210.1    485.4
File Copy 256 bufsize 500 maxblocks            1655.0      53789.9    325.0
File Copy 4096 bufsize 8000 maxblocks          5800.0     529645.5    913.2
Pipe Throughput                               12440.0     350940.7    282.1
Pipe-based Context Switching                   4000.0      52512.3    131.3
Process Creation                                126.0       3475.7    275.8
Shell Scripts (1 concurrent)                     42.4       3604.9    850.2
Shell Scripts (8 concurrent)                      6.0       1245.6   2076.0
System Call Overhead                          15000.0     357635.0    238.4
                                                                   ========
System Benchmarks Index Score                                         439.6

------------------------------------------------------------------------
Benchmark Run: 土  5月 20 2023 10:47:23 - 11:16:05
4 CPUs in system; running 4 parallel copies of tests

Dhrystone 2 using register variables       54406527.3 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     5946.9 MWIPS (9.9 s, 7 samples)
Execl Throughput                               4216.3 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        721180.4 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          203977.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1962263.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1400729.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 159402.9 lps   (10.0 s, 7 samples)
Process Creation                              13461.4 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   9063.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1320.4 lpm   (60.0 s, 2 samples)
System Call Overhead                        1429847.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   54406527.3   4662.1
Double-Precision Whetstone                       55.0       5946.9   1081.2
Execl Throughput                                 43.0       4216.3    980.5
File Copy 1024 bufsize 2000 maxblocks          3960.0     721180.4   1821.2
File Copy 256 bufsize 500 maxblocks            1655.0     203977.1   1232.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    1962263.4   3383.2
Pipe Throughput                               12440.0    1400729.3   1126.0
Pipe-based Context Switching                   4000.0     159402.9    398.5
Process Creation                                126.0      13461.4   1068.4
Shell Scripts (1 concurrent)                     42.4       9063.9   2137.7
Shell Scripts (8 concurrent)                      6.0       1320.4   2200.7
System Call Overhead                          15000.0    1429847.8    953.2
                                                                   ========
System Benchmarks Index Score                                        1441.8

Nano C100にSamba ディスクマウント

以前作成したWindows11のファイルサーバーのHDDをNano C100にマウントしてみます。

マウントしたらバックアップイメージなどを保存しておけばMicroSDカードが壊れても安心で、他のLinux用のファイルもファイルサーバーに置くこともできて便利。

ということでBMAX B3 Plusに接続してあるハードディスク HDD3T↓をNano C100でマウントしてみます。

SMB 1.0/CIFS ファイル共有サポートの有効化

Windows11のファイルサーバー側でWindowsの機能からSMB1.0/CIFS ファイル共有サポートを有効にします。

コントロールパネル > プログラムと機能 >Windowsの機能の有効化または無効化を辿っていくと以下のウィンドウが表示される。

Windows同士だとSMBダイレクトだけチェックしてあったらファイルサーバーとして使えたのですが、Linuxからアクセスする場合はSMB1.0/CIFS ファイル共有サポートが必要みたい。

チェックしたら再起動します。

cifs-utilsインストール・マウントポイント作成

Windowsの共有フォルダにLinuxからアクセスするにはcifs-utilsが必要なのでインストールします。

sudo apt install cifs-utils
sudo mkdir /mnt/bmax

マウントするディレクトリも作っておく。↑例ではmntの中にbmaxのディレクトリを作った。

Windows共有フォルダにアクセス

以下のようにマウントしたらHDD3Tがマウントされました。

sudo mount -t cifs -o username=ユーザー名,password=パスワード //192.168.31.232/HDD3T /mnt/bmax

確認してみると↓ちゃんと(一番下の行)マウントされています。

df -h

Filesystem              Size  Used Avail Use% Mounted on
/dev/mmcblk0p1          114G   49G   62G  44% /
none                    950M     0  950M   0% /dev
tmpfs                   990M  340K  990M   1% /dev/shm
tmpfs                   990M   34M  957M   4% /run
tmpfs                   5.0M  4.0K  5.0M   1% /run/lock
tmpfs                   990M     0  990M   0% /sys/fs/cgroup
/dev/loop0               50M   50M     0 100% /snap/core18/2749
/dev/loop1               60M   60M     0 100% /snap/core20/1883
/dev/loop2              128K  128K     0 100% /snap/bare/5
/dev/loop3               50M   50M     0 100% /snap/core18/2724
/dev/loop4              7.2M  7.2M     0 100% /snap/gnome-clocks/452
/dev/loop5               60M   60M     0 100% /snap/core20/1856
/dev/loop7               25M   25M     0 100% /snap/barrier/687
/dev/loop8              7.3M  7.3M     0 100% /snap/gnome-clocks/456
/dev/loop6               68M   68M     0 100% /snap/core22/621
/dev/loop9               47M   47M     0 100% /snap/snapd/18940
/dev/loop10              47M   47M     0 100% /snap/snapd/19127
/dev/loop11              68M   68M     0 100% /snap/core22/637
tmpfs                   198M  8.0K  198M   1% /run/user/1000
//192.168.31.232/HDD3T  2.8T  722G  2.1T  26% /mnt/bmax

アンマウント

sudo umount /mnt/bmax

自動接続 fstab

起動時にMountコマンドをそのつど打つのが面倒なので常時マウントしておくためにfstabに登録しておきます。

sudo vim /etc/fstab
以下を追加
//192.168.31.232/HDD3T /mnt/bmax cifs username=ユーザー名,password=パスワード,defaults 0 0

fastabに書き込んだ内容をすぐに反映させます。

sudo mount -a

正常にマウントできていればWindows11のハードディスクHDD3Tが/mnt/bmaxのディレクトリにマウントされています。

MicroSD まるごとバックアップ

MicroSDカードに入っているUbuntuをバックアップしていきます。

DDコマンドでMicroSDにまるごとコピー

まずはimgファイルにコピーせずにMicroSDカードにそのまま現在のシステムをコピーする方法で、コピーしたMicroSDカードはそのまま使うことができる。

Nano C100のUSBポートにUSBアダプターを介してMicroSDカードをさして、バックアップしていきます。

まずはUSBアダプターのMicroSDはどこにマウントされているか調べる。

sudo fdisk -l

デバイス        開始位置  最後から    セクタ サイズ タイプ
/dev/mmcblk0p1     28672 243136511 243107840 115.9G Linux ファイルシステム
/dev/mmcblk0p2      2048      2303       256   128K Linux ファイルシステム
/dev/mmcblk0p3      4096      4991       896   448K Linux ファイルシステム
/dev/mmcblk0p4      6144      7295      1152   576K Linux ファイルシステム
/dev/mmcblk0p5      8192      8319       128    64K Linux ファイルシステム
/dev/mmcblk0p6     10240     10623       384   192K Linux ファイルシステム
/dev/mmcblk0p7     12288     13055       768   384K Linux ファイルシステム
/dev/mmcblk0p8     14336     14463       128    64K Linux ファイルシステム
/dev/mmcblk0p9     16384     17279       896   448K Linux ファイルシステム
/dev/mmcblk0p10    18432     19327       896   448K Linux ファイルシステム
/dev/mmcblk0p11    20480     22015      1536   768K Linux ファイルシステム
/dev/mmcblk0p12    22528     22655       128    64K Linux ファイルシステム
/dev/mmcblk0p13    24576     24959       384   192K Linux ファイルシステム
/dev/mmcblk0p14    26624     26879       256   128K Linux ファイルシステム
・・・省略
ディスク /dev/sda: 119.3 GiB, 128043712512 バイト, 250085376 セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0x9bf1bc2c
・・・省略
デバイス   起動 開始位置  最後から    セクタ サイズ Id タイプ
/dev/sda1          32768 250085375 250052608 119.2G 83 Linux

USBアダプターにさしたMicroSDは「/dev/sda1」というのが分かったので、以下のようにddコマンドでコピーします。

sudo dd bs=4M if=/dev/mmcblk0p1 of=/dev/sda1 conv=fsync status=progress

124457582592 bytes (124 GB, 116 GiB) copied, 4377 s, 28.4 MB/s
29676+1 レコード入力
29676+1 レコード出力
124471214080 bytes (124 GB, 116 GiB) copied, 4382.08 s, 28.4 MB/s

まるごとコピーはうまくいきました。

Sambaフォルダに直接コピーする(未解決)

Windows共有フォルダをマウントしたWindows共有フォルダに直接バックアップimgファイルを保存を試みます。

まずは共有フォルダにバックアップ用のフォルダ作成。

sudo mkdir /mnt/bmax/buckup

ddでバックアップ開始。

sudo dd bs=4M if=/dev/mmcblk0p1 of=/mnt/bmax/buckup/nano2023-5.img conv=fsync status=progress

sudo dd if=/dev/mmcblk0p1 of=/mnt/bmax/buckup/nano2023-5.img conv=fsync status=progress

転送量が多いせいでセキュリティ的にダメなのか?10~16GBくらいコピーしたあたりでなぜか途中でNano C100のWifi(USBアダプターのWifi)が切断される。(普段はWifiが切断されることはありません。)

apt upgradeするとおかしくなる

Nano C100のUbuntuはapt upgaradeを実行したらエラーがたくさん出るようになって使えなくなります・・・

ただ、apt updateは正常に実行できました。

sudo apt upgarade

「n」を押していくとエラーになり、Wifiが使えなくなる・・・

最終的に↓以下のようになりUpgradeはストップしました。

GUI画面↓でも以下のようなエラーが表示されました・・・

Nvidiaの各ツールは以下のようなバージョンになっています。

$ sudo apt show nvidia-jetpack
[sudo] password for go:
Package: nvidia-jetpack
Version: 4.6.3-b17
Priority: standard
Section: metapackages
Maintainer: NVIDIA Corporation
Installed-Size: 199 kB
Depends: nvidia-l4t-jetson-multimedia-api (>> 32.7-0), nvidia-l4t-jetson-multimedia-api (<< 32.8-0), nvidia-cuda (= 4.6.3-b17), nvidia-tensorrt (= 4.6.3-b17), nvidia-nsight-sys (= 4.6.3-b17), nvidia-cudnn8 (= 4.6.3-b17), nvidia-opencv (= 4.6.3-b17), nvidia-container (= 4.6.3-b17), nvidia-vpi (= 4.6.3-b17)
Homepage: http://developer.nvidia.com/jetson
Download-Size: 29.4 kB
APT-Sources: https://repo.download.nvidia.com/jetson/t210 r32.7/main arm64 Packages
Description: NVIDIA Jetpack Meta Package

N: 追加レコードが 2 件あります。表示するには '-a' スイッチを付けてください。

Nano C100をまともに使えなくなるのでUpgradeはしないほうがよさそう。

Nano C100 まとめ

Nano C100はJetson Nano B01互換機で内蔵eMMCがあるのでMicroSDなしで最小限のLinuxシステムを入れて使うには便利。

4GBのJetson Nano B01と同等の性能で安い+eMMCがあるので、Jetson Nano B01を導入するならばNano C100を選ぶという選択枠もある。

カメラを2つつなげて動画の顔認識システムや学習に使いたい方には低予算でできるのでピッタリではないでしょうか?

ただ、apt UpgradeするとNvidiaのツールがエラーになって、WifiもつながらなくなるのでUpgradeできないところが辛いところ。

OKdo Nano C100(アマゾン商品ページ)

OKdo Nano C100(IoT本舗 商品ページ:価格19,800円)

※この商品はサンプル提供していただいてレビューしています。

Nano C100のMicroSDまるごとバックアップ 失敗例(おまけ)

Linuxが入ったMicroSDカードを簡単にWindowsでバックアップできないか試したメモです。

結果的にやはり昔からあるLinuxのddコマンドでイメージを作ってバックアップとして保存するのが一番のようです。

MicroSDカードはwsl –mountでLinuxファイルシステムをマウントできない

管理者としてPowerShellを開いてまずはUSBカードリーダーにささっているMicroSDのDeviceIDをチェックする。(2通りのやり方があります。)


>GET-CimInstance -query "SELECT * from Win32_DiskDrive"
DeviceID           Caption                              Partitions Size          Model
--------           -------                              ---------- ----          -----
\\.\PHYSICALDRIVE0 CSSD-M2B2TPG3NF2                     3          2000396321280 CSSD-M2B2TPG3NF2
\\.\PHYSICALDRIVE1 Kingston UHSII uSD Reader USB Device 14         124481387520  Kingston UHSII uSD Reader USB Device

もしくは↓

> wmic diskdrive list brief
Caption                               DeviceID            Model                                 Partitions  Size
CSSD-M2B2TPG3NF2                      \\.\PHYSICALDRIVE0  CSSD-M2B2TPG3NF2                      3           2000396321280
Kingston UHSII uSD Reader USB Device  \\.\PHYSICALDRIVE1  Kingston UHSII uSD Reader USB Device  14          124481387520

IDがわかったのでマウントしてみると以下のようなエラーになってマウントされない・・・

> wsl --mount \\.\PHYSICALDRIVE1
指定されたドライブが見つかりません。
Error code: Wsl/Service/AttachDisk/0x8007000f

WSLを使う、こちらもダメ

USB デバイスを接続する
usbipd-win を使用してお使いの WSL 2 Linux ディストリビューションに USB デバイスを接続する方法について説明します。

PowerShellの「管理者として実行」で以下のコマンドを実行します。

> usbipd wsl list
BUSID  VID:PID    DEVICE                                                        STATE
1-9    8087:0029  インテル(R) ワイヤレス Bluetooth(R)                           Not attached
1-10   0b05:1939  AURA LED Controller, USB 入力デバイス                         Not attached
1-13   2e8a:0005  USB シリアル デバイス (COM10)                                 Not attached
1-14   1a86:5722  USB シリアル デバイス (COM4)                                  Not attached
2-1    328f:0021  USB 入力デバイス                                              Not attached
3-5    11b0:3307  USB 大容量記憶装置                                            Not attached
7-3    29bd:4101  USB 入力デバイス                                              Not attached
7-4    1a86:7523  USB-SERIAL CH340 (COM16)                                      Not attached
8-1    0853:0100  USB 入力デバイス                                              Not attached
8-2    046d:c52b  Logitech USB Input Device, USB 入力デバイス                   Not attached
8-3    0853:0117  USB 入力デバイス

USBメモリーカードリーダーは「3-5」のようです。

> usbipd wsl attach --busid 3-5
usbipd: info: Using default WSL distribution 'Ubuntu'; specify the '--distribution' option to select a different one.
usbipd: error: The selected WSL distribution cannot be reached via the WSL virtual switch; try restarting the WSL distribution.

だめでした・・・

Linux File System for Windows by Paragon SoftwareでLinuxファイルシステム マウント

代わりに以下のソフトを使って自動マウントでWindowsのエクスプローラーにマウントさせます。

Linux File Systems for Windows | Paragon Software
Windows上からExtFS/Btrfs/XFSパーティションへアクセス

このソフト、有料かParagon製品を買った方用で10日間だけ無料で使える。

インストールしたらJetson Nano 2GBのLinuxイメージがマウントされた!

Linux File System for Windows by Paragon Softwareという長ったらしいソフトを起動するとちょっとした設定もできる。↓

ただ、Linuxファイルシステムからはマウントされているのが見えないので使えない・・・

diskinternals linux reader

こちらはアプリのウィンドウではMicroSDカードをマウントできているものの、エクスプローラーではマウントされていないので、このアプリ内でしか操作不可。

Linuxのコマンドが使えないので今回は使えない。

Win32 Disk Imager

Linuxファイルシステムをコピーしようとしたら以下のエラーが出てダメだった。

WindowsのLinuxでGPartedでバックアップ(失敗)

WindowsのLinuxシェル(Linux用Windowsサブシステム)を起動しましょう。

sudo apt-get update
sudo apt-get install gparted

起動してみる

sudo gparted

GUIで以下のようなウィンドウが開きます。

ただ・・・エクスプローラー(Paragon Softwareでマウントした)でマウントできた状態なのにGPartedでは見えないようで使えませんでした。

DD for Windows

DD for WindowsはR2が最新ですが、エラーで使えなかった。

DD for Windows - Tech Info

こんなエラー↓なってコピー不可。

DDWin_Ver0998のほうが良いようですが・・・ドライブでNano C100が入ったMicroSDが認識されませんでした。

コメント