Raspberry Pi 4B docker 安装 OpenWrt+HassIO & cockpit-machines 踩坑记录

CPU/显卡/打印机/USB设备等硬件问题
回复
jtshs256
帖子: 22323
注册时间: 2010-07-19 21:41
系统: OS X

Raspberry Pi 4B docker 安装 OpenWrt+HassIO & cockpit-machines 踩坑记录

#1

帖子 jtshs256 » 2021-07-18 14:41

诈尸,吃灰派(4G Ram)拿出来重新折腾了下,当个初级的 AIO,顺手记录 :Shame

系统选择了 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 地址可还是会打架,害… :Cry

安装 docker
先更新下系统

代码: 全选

sudo apt update
sudo apt upgrade
使用官方安装脚本:

代码: 全选

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
官网时不时抽风,要么找镜像源,要么就找一个dl的路由器(老外扔椅子.jpg)

加入组:

代码: 全选

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
然后网页浏览器登录吃灰派 ip 的 9090 端口就能装虚拟机玩了
(注意这里用的安装镜像不要跟给树莓派用的镜像搞混了,比如 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
此时应该会报错,缺少几个依赖,apparmor 之类,总之缺什么装什么就完了,比如:

代码: 全选

sudo apt install apparmor jq
脚本中途会提示覆盖 /etc/network/interfaces,先选 N,安装 OpenWrt 时一并配置
浏览器登录吃灰派 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
2.登录 OpenWrt 后在“网络”>“防火墙”中关闭“启用 SYN-flood 防御”,勾上 lan 口的“IP 动态伪装”
Samba 可以直接用 OpenWrt 里带的,省得再宿主机里装一遍了
躺平
回复