AVNET Ultra96-V2(1)
これは仕事である。
XilinxのFPGAが載った評価ボードを動かす必要がありやり方をまとめた。このFPGAボードはSDカードスロットがあり、そこからOSが起動する仕組みになっている。CPUはARMらしいがそれがFPGAの中にあるのか、それとも別にARMのCPUが実装されているのかどうかは知らない。
電源はDC12Vを外部から供給する。インターフェイスはUSB3が2つ、Mini Displayportが一つ、あとASATAのインターフェイスみたいのが一つある。Wifiのモジュールも実装されている。
OSのイメージのダウンロード
結構手間取った。Web上の情報は錯綜している。
https://qiita.com/harmegiddo/items/bba9b967a86fa716f680
まず見たのはここ。Peta Linuxというのはよくわからないが、デフォルトで用意されているOSなのか。
↓ここにUltra96-V2 Installationのインストラクションがある
https://www.96boards.org/documentation/consumer/ultra96/ultra96-v2/installation/
↓ここにOSのダウンロードページがあり、
https://www.96boards.org/documentation/consumer/ultra96/ultra96-v2/downloads/
現時点(2021年3月18日)には、
https://qiita.com/harmegiddo/items/bba9b967a86fa716f680
まず見たのはここ。Peta Linuxというのはよくわからないが、デフォルトで用意されているOSなのか。
↓ここにUltra96-V2 Installationのインストラクションがある
https://www.96boards.org/documentation/consumer/ultra96/ultra96-v2/installation/
↓ここにOSのダウンロードページがあり、
https://www.96boards.org/documentation/consumer/ultra96/ultra96-v2/downloads/
現時点(2021年3月18日)には、
- Linux --> ultra96v2_oob_2020_1_210303_8GB.zip
- OpenSUSE
- Xilinx PYNQ --> ultra96v2_v2.6.0.zip
がダウンロードできるようになっている。矢印の右側はダウンロードされるファイル名。OpenSUSEは知らん。
インストール(Peta Linux)
まずデフォルトっぽいultra96v2_oob_2020_1_210303_8GB.zipを試してみることにする。解凍すると、
-rw-r--r-- 1 pi pi 7.5G 3月 3 21:10 ultra96v2_oob_2020_1_210303_8GB.img -rwxr-xr-x 1 pi pi 521M 3月 18 10:37 ultra96v2_oob_2020_1_210303_8GB.zip
このように521MBのzipファイルが7.5GBの巨大なイメージになる。
16GBのマイクロSDカードを用意し、Unixマシン(今回はラズパイを使った)から次のようにしてイメージを焼く。
sudo dd if=./ultra96v2_oob_2018_3_190917_8GB.img of=/dev/<YOUR_DISK> bs=64M
なお↑の<YOUR_DISK>のところは/dev/sdbとかである。/dev/sda1ではない。よく考えればパーティションでなく、メディア全体を指定するはずなのであるが、最初/dev/sdb1としてうまくゆかず悩んだ。
起動
このようにして作ったuSDカードをUltra96-V2に刺し、電源を接続し、電源ボタン(わかりづらい。USBポートの奥側の上のボタン)を押すと起動開始する。いろいろランプが点くが、何となく点滅が収まったら起動終了のようである。SDカードスロットの近くの青いLEDが点灯すればよいらしい。
ネットワーク接続
ここも悩んだ。いろいろなページを検索すると、JTAGをシリアルポートに変換する基板を使って、まずはPCと有線接続するらしい。SSHで192.168.2.1(root/root)らしいが、変換基板を持ち合わせていない。
ところがこれは実は簡単で、よくあるパターンだが起動時にWifiのAPになるらしい。ノートPCの無線LANのリストにUltra96うんちゃらかんちゃらというネットワークが出現し、パスワードなしで接続される。
そこでブラウザの検索窓に192.168.3.1と入れればなんか出てくる。SSHでも接続可能で192.168.3.1、ID/Passwdはroot/rootである。
ブラウザの画面でWifiの設定が可能で、そこでネットワーク接続の設定をすると、APから子機モードになり、DHCPでネットワークに接続されるようである。この設定は再起動しても保持される。これまでハッキングしてきた監視カメラと似ている。元に戻すのはどうすればいいかわからないが、おそらく同じようにブラウザで設定するものと思われる。
OSは?
OSの正体は何だろうか。
root@ultra96v2-2020-1:~# uname -a Linux ultra96v2-2020-1 5.4.0-xilinx-v2020.1 #1 SMP Mon Mar 1 21:23:49 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux root@ultra96v2-2020-1:~# lsb_release -a LSB Version: n/a Distributor ID: petalinux Description: PetaLinux 2020.1 Release: 2020.1 Codename: zeus
だそうである。よくわからんが、やっぱりPetaLinuxというものらしい。
ディスクの消費量は?
root@ultra96v2-2020-1:~# free -h total used free shared buff/cache available Mem: 1.9Gi 166Mi 1.5Gi 21Mi 255Mi 1.7Gi Swap: 0B 0B 0B
メモリは2GBのようである。166MBを使っている。uSDカードは/dev/mmcblk0らしい。
root@ultra96v2-2020-1:~# fdisk -l /dev/mmcblk0 Disk /dev/mmcblk0: 14.94 GiB, 16022241280 bytes, 31293440 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x4bcb6c1e Device Boot Start End Sectors Size Id Type /dev/mmcblk0p1 * 8192 417791 409600 200M c W95 FAT32 (LBA) /dev/mmcblk0p2 417792 15564799 15147008 7.2G 83 Linux
パーティションが二つに分けられ一つはブートセクタ(?)FAT32、残りはext4のようである。8GBのメモリ用のイメージだったようで、16GBの半分は使われていない。
root@ultra96v2-2020-1:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 7.0G 1.7G 5.0G 26% / devtmpfs 739M 18M 721M 3% /dev tmpfs 995M 212K 995M 1% /run tmpfs 995M 136K 995M 1% /var/volatile /dev/mmcblk0p1 197M 15M 183M 8% /media/sd-mmcblk0p1
こんな感じ。