公開されているプリビルドイメージを確認できなかったので、 Raspberry Pi image specs を使用して自分で作成する。
まだ鋭意開発中のようです。
- Debian Buster amd64(VMware)
- Raspberry Pi 3B
- UART-USB 変換アダプタ(CP2102モジュール)
以下は、シリアルコンソールでの初回起動を前提としています。(rootユーザは空パスワードなのでIPアドレスがわかってもSSHからは初回ログイン不能。公開鍵を設定すればログインできる。)
sudo コマンドのインストールと、パスワードなしでrootになれるユーザを用意しておく。 ここではそのユーザを debianとする。以下のコマンドを root権限で実行
# bash -xeu << 'END_OF_SNIPPET'
NEW_USER=debian
apt-get install -y sudo
cat > /etc/sudoers.d/wheel_user << EOS
$NEW_USER ALL=(ALL) NOPASSWD:ALL
EOS
chmod 600 /etc/sudoers.d/wheel_user
END_OF_SNIPPET
$ sudo apt install git vmdb2 parted dosfstools debootstrap qemu-user-static schroot
$ git clone --recursive https://salsa.debian.org/raspi-team/image-specs.git
$ cd image-specs
以下はdebianユーザで実行
こちらは 957f6ed をベースにしている。
実行例
$ NAME=raspi3
$ sudo sh << EOS
mkdir -p $NAME
vmdb2 \
--rootfs-tarball=$NAME/raspi3.tar.gz \
--output $NAME/raspi3.img \
--log stderr \
$NAME.yaml | tee $NAME/raspi3.log 2>&1
chown -R $(id -u):$(id -g) $NAME
EOS
USB-MicroSDアダプタを刺して、デバイスを確認、この例の場合 /dev/sdd
$ lsblk -o NAME,SIZE,VENDOR,MODEL
sdd 7.3G BUFFALO BSCR17TU3_-2
書き込み /dev/sddを自分の環境に合わせること
$ sudo dd if=$NAME/raspi3.img of=/dev/sdd bs=64k oflag=dsync status=progress
問題 957f6ed版
ディスクアクティビティーランプが点滅しません。
起動時に eth0 が upしない問題があったが、以下の方法で対処できた。現在日々制作が進んでいるようなので、この問題はそのうち解決されると思います。
$ mkdir -p /etc/iptables
$ touch /etc/iptables/rules.v4
$ touch /etc/iptables/rules.v6
- ベースは raspi3.yaml
- ミラーをさくらインターネットに
- 無線LAN関連のソフト・ドライバを削除
- eth0が有効になるように調整
- GPUメモリを16MBに
- 日本時間に設定
- vim, git, wget, curl の導入
実行例
$ NAME=rpi3-mamemo-2
$ curl -L https://gist.githubusercontent.com/mamemomonga/e1992b3c72918a5b734c3a10e2c31013/raw/rpi3-mamemo-2.yaml > $NAME.yaml
$ sudo sh << EOS
mkdir -p $NAME
vmdb2 \
--rootfs-tarball=$NAME/raspi3.tar.gz \
--output $NAME/raspi3.img \
--log stderr \
$NAME.yaml | tee $NAME/raspi3.log 2>&1
chown -R $(id -u):$(id -g) $NAME
EOS
デバイス確認
$ lsblk -o NAME,SIZE,VENDOR,MODEL
sdd 7.3G BUFFALO BSCR17TU3_-2
書き込み /dev/sddを自分の環境に合わせること
$ sudo dd if=$NAME/raspi3.img of=/dev/sdd bs=64k oflag=dsync status=progress
なお、再作成には $NAME フォルダを削除する必要がある。
Raspberry Pi 3B に刺して起動。モニタはシリアルコンソール。
ログインは User: root Password: なし シリアルコンソールでログインし、公開鍵を設定後SSHでログイン。