はじめに
Raspberry Pi3B+でVxWorksを動かしてみたくなり、試してみました。いろいろ参考にしたけれど、3B+が旬を過ぎたせいか、どの情報も不十分でした。下記の情報を元に、実際に動かすところまでの手順をメモとして残します。
環境
ターゲット
- Raspberry Pi3B+
- 有線LAN接続
- Wi-Fiコンバータ可
開発環境
- CPU: Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
- RAM: 2GB
- Storage: OS + tool + 6GB (Total:13GB)
- OS: Debian系Linux
- Bodhi 6.0 (GNU/Linux 5.4.0-72-generic x86_64)
- Linux version 5.4.0-72-generic (buildd@lcy01-amd64-019) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #80-Ubuntu SMP Mon Apr 12 17:35:00 UTC 2021
- lubuntu
- Bodhi 6.0 (GNU/Linux 5.4.0-72-generic x86_64)
- 2022年4月にlubuntuで動作確認し、8月にbodhiでSDカード作成手順を再確認しています。
SDカードイメージ作成手順
基本は上記のREADMEです。
下記をコピペしながら、淡々と進めてください。
# Prerequisite(s)
sudo apt install build-essential libc6:i386
# for u-boot
sudo apt install gcc-aarch64-linux-gnu bison flex libssl-dev git
# pyftpdlib
sudo apt install python3-pip
sudo pip install pyftpdlib
# making sdcard image (require 6GB)
mkdir sdcard
mkdir sdcard/vx
# firmware
wget https://github.com/raspberrypi/firmware/archive/1.20200212.tar.gz
tar xf 1.20200212.tar.gz
cp -rp firmware-1.20200212/boot/* sdcard
# u-boot
git clone https://gitlab.denx.de/u-boot/u-boot.git
cd u-boot
git checkout v2019.10
git show -s --format=%H
#61ba1244b548463dbfb3c5285b6b22e7c772c5bd
CROSS_COMPILE=aarch64-linux-gnu- make rpi_3_b_plus_defconfig
CROSS_COMPILE=aarch64-linux-gnu- make
cp -p u-boot.bin ../sdcard/kernel8.img
cd ..
# SDK
wget https://d13321s3lxgewa.cloudfront.net/wrsdk-vxworks7-raspberrypi3b-1.6.tar.bz2
tar xf wrsdk-vxworks7-raspberrypi3b-1.6.tar.bz2
cp -rp wrsdk-vxworks7-raspberrypi3b/vxsdk/sdcard/* sdcard
cp -p wrsdk-vxworks7-raspberrypi3b/vxsdk/bsps/rpi_3_0_1_1_2/uVxWorks sdcard/vx
# disk usage
du -sh u-boot
#383M u-boot
du -sh firmware-1.20200212
#401M firmware-1.20200212
du -sh wrsdk-vxworks7-raspberrypi3b
#4.0G wrsdk-vxworks7-raspberrypi3b
du -sh sdcard
#191M sdcard
ここまでできれば、あとはFAT32でフォーマットしたてのSDカードをマウントして、sdcardフォルダの内容を丸々SDカードのルート以下にコピーするだけです。
Pi3B+にカードを挿して電源を入れたら、telnetで接続します。IPアドレスの調べ方は以下の記事を参考にしてください。
おわりに
UARTケーブルが必須だと思い込んで買ってしまいましたが、UART接続でわかるのは、telnet接続に必要なIPアドレスくらいで、その後はftp含めて有線LANポート経由で繋がっていないと、ほぼ何もできませんでした。有線LAN環境がない作業場所で動かすためにはUARTケーブルではなく、「Wi-Fiコンバータ」が必要でした。有線の口があれば、LANケーブルだけで大丈夫です。