Raspberry Pi 4B docker 安装 OpenWrt+HassIO & cockpit-machines 踩坑记录
发表于 : 2021-07-18 14:41
诈尸,吃灰派(4G Ram)拿出来重新折腾了下,当个初级的 AIO,顺手记录
系统选择了 raspios 64 位的镜像,虽然还算是测试版,不过稳定性也够日常使用了
https://downloads.raspberrypi.org/raspios_arm64/images/
用习惯的软件写进 tf 卡,比如官方的 Raspberry Pi imager
插网线、插电开机,启用ssh,i2c 之类的用得到的也一并开了(无显示器的话,写完 tf 卡就直接在 boot 分区中 touch 一个 ssh 的文件)
然后就可以把吃灰派丢一边继续吃灰,到常用的电脑上操作了
配置超频
虚拟机和高带宽下默认性能还是不够用,但要 24x7 跑还是调得保守点:
/boot/config.txt 中修改
(手里的ups+rtc扩展跟温控风扇+OLED小屏明明没占相同的 i2c 地址可还是会打架,害…
)
安装 docker
先更新下系统
使用官方安装脚本:
官网时不时抽风,要么找镜像源,要么就找一个dl的路由器(老外扔椅子.jpg)
加入组:
然后退出,重新登录
需要图形化管理界面的安装 Portainer:
安装 cockpit 及虚拟机插件
可选插件
默认网没起来,设置下
然后网页浏览器登录吃灰派 ip 的 9090 端口就能装虚拟机玩了
(注意这里用的安装镜像不要跟给树莓派用的镜像搞混了,比如 ubuntu 的镜像在这里下载:https://ubuntu.com/download/server/arm,文件是 .iso,树莓派的镜像是 .img )
安装 HassIO
此时应该会报错,缺少几个依赖,apparmor 之类,总之缺什么装什么就完了,比如:
脚本中途会提示覆盖 /etc/network/interfaces,先选 N,安装 OpenWrt 时一并配置
浏览器登录吃灰派 ip 的 8123 端口,HassIO 首次启动会等系统自动拉一堆镜像下来,等就行了
安装 OpenWrt 并设置成旁路由
参照 docker 镜像作者教程:
https://mlapp.cn/376.html
几处改变:
1.用了 64 位的官方源镜像:
2.登录 OpenWrt 后在“网络”>“防火墙”中关闭“启用 SYN-flood 防御”,勾上 lan 口的“IP 动态伪装”
Samba 可以直接用 OpenWrt 里带的,省得再宿主机里装一遍了

系统选择了 raspios 64 位的镜像,虽然还算是测试版,不过稳定性也够日常使用了
https://downloads.raspberrypi.org/raspios_arm64/images/
用习惯的软件写进 tf 卡,比如官方的 Raspberry Pi imager
插网线、插电开机,启用ssh,i2c 之类的用得到的也一并开了(无显示器的话,写完 tf 卡就直接在 boot 分区中 touch 一个 ssh 的文件)
然后就可以把吃灰派丢一边继续吃灰,到常用的电脑上操作了
配置超频
虚拟机和高带宽下默认性能还是不够用,但要 24x7 跑还是调得保守点:
/boot/config.txt 中修改
如果有温控风扇一类的外设也一并配置掉,具体参照各商家的文档over_voltage=2
arm_freq=1800
(手里的ups+rtc扩展跟温控风扇+OLED小屏明明没占相同的 i2c 地址可还是会打架,害…

安装 docker
先更新下系统
代码: 全选
sudo apt update
sudo apt upgrade
代码: 全选
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
加入组:
代码: 全选
sudo usermod -aG docker pi
需要图形化管理界面的安装 Portainer:
代码: 全选
docker pull portainer/portainer-ce
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
安装 cockpit 及虚拟机插件
代码: 全选
sudo apt install cockpit cockpit-machines qemu-system-arm bridge-utils
代码: 全选
sudo apt install cockpit-pcp cockpit-docker
代码: 全选
sudo virsh net-autostart default
sudo virsh net-start default
(注意这里用的安装镜像不要跟给树莓派用的镜像搞混了,比如 ubuntu 的镜像在这里下载:https://ubuntu.com/download/server/arm,文件是 .iso,树莓派的镜像是 .img )
安装 HassIO
代码: 全选
curl -Lo installer.sh https://raw.githubusercontent.com/home-assistant/supervised-installer/master/installer.sh
sudo bash installer.sh -m qemuarm-64
代码: 全选
sudo apt install apparmor jq
浏览器登录吃灰派 ip 的 8123 端口,HassIO 首次启动会等系统自动拉一堆镜像下来,等就行了
安装 OpenWrt 并设置成旁路由
参照 docker 镜像作者教程:
https://mlapp.cn/376.html
几处改变:
1.用了 64 位的官方源镜像:
代码: 全选
docker pull sulinggg/openwrt:rpi4
docker run --restart always --name openwrt -d --network macnet --privileged sulinggg/openwrt:rpi4 /sbin/init
Samba 可以直接用 OpenWrt 里带的,省得再宿主机里装一遍了