大問題 Ubuntu Server raspberry pi4でmacvlanが使えません。
ubuntu for pi の 21.10ではmacvlan/macvtap/vlan などが使えませんでした。
docker / lxc / qemu / libvirt などで大問題です。仮想マシンのネットワークがうまく扱えません。
rpi4 ubuntuでmacvlanが使えない
まさか正式対応版がMacVLAN非対応と思わないです
macvlan を使おうと思ったら、「Error: Unknown device type.」 になります。
sudo ip link add dev macvlan1 link eth0 type macvlan mode bridge Error: Unknown device type.
20.04ならフル機能が使えた iproute2 だけど、アップグレートしたら動かなくなったのです。
モジュールが削られたんだと思います。20.04 LTSの方が使い勝手が良かったとかまさかです。
Ubuntu 21.10 から 正式対応でデフォルトでraspi USBブートに対応しているので、特に何もせずにUbuntu Serverを raspi imager で焼いてあげるとUSBブートするですが。そのためにアレコレ動かなくなるのは悲しかった。
解決策
そこで、モジュールを足してあげます。
sudo apt install linux-modules-extra-raspi
docker / lxc / qemu など macvlanが使えないと困ることは多いと思う。この他にもモジュールエラーが出てる気がする。
このインストールをしてあげないと、ubuntu@raspi は実力を発揮できないんじゃないかなと思います。
解決策が見つからなかった中で世界中でこの人だけが解決策を書いていた。
参考資料にしたのは、このブログでした。
sudo apt-file show linux-modules-extra-raspi
https://blog.jrehkemper.de/index.php/category/it-systeme/virtualisierung/
このブログをmacvlan で探すと、Google 検索で結果が1件だけ。Googleの検索結果がたった1とか奇跡に近い。
検索結果が1つとか珍しいので記念スクショ
ついでに vcgencmd を使えるようにする
raspberry pi 特有のコマンドを ubutun に導入する。
sudo apt install libraspberrypi-bin
このapt をインストールすれば、つぎの rpi 特有のコマンドをubuntu に導入することができる。
takuya@raspi-ubuntu:~$ sudo apt-file show libraspberrypi-bin | grep usr/bin libraspberrypi-bin: /usr/bin/dtmerge libraspberrypi-bin: /usr/bin/dtoverlay libraspberrypi-bin: /usr/bin/dtoverlay-post libraspberrypi-bin: /usr/bin/dtoverlay-pre libraspberrypi-bin: /usr/bin/dtparam libraspberrypi-bin: /usr/bin/raspistill libraspberrypi-bin: /usr/bin/raspivid libraspberrypi-bin: /usr/bin/raspividyuv libraspberrypi-bin: /usr/bin/raspiyuv libraspberrypi-bin: /usr/bin/tvservice libraspberrypi-bin: /usr/bin/vcgencmd libraspberrypi-bin: /usr/bin/vcmailbox
vcgencmd や tvservice とか便利ですよね。
参考資料
https://blog.jrehkemper.de/index.php/category/it-systeme/virtualisierung/