when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
有好长时间不更新博客了,其实折腾还是在折腾的,就是每次折腾都不深入,于是就没有什么特别的内容值得被记录,这篇也是犹犹豫豫,迟疑之中写的。一方面是因为涉及到了一个新的工具 qemu,在命令行里开虚拟机这还是第一次,另一方面也是希望把最初在 debian 上用 docker 部署 qemu 容器,容器里部署 fnOS 这部分内容做一个备份。这两个方面的折腾都花了不少时间,只是硬件限制,所以两层套壳的部署方案最终被直接在 debian 上运行 qemu 部署 fnOS 替代了
下面 4 个步骤是我在飞牛论坛上找到的,原文链接在这里,我做了一些修改和补充
创建 compose.yml,内容如下
1 | services: |
关于这个镜像,还有更多的参数可用,可以看这里
创建 macvlan 网络
在缺省网络模式下,qemu 里运行的 fnOS 无法通过 IP 从外部访问,可以运行以下命令创建:
1 | # 假设内网是 192.168.0.* |
启动容器
安装 fnOS
浏览器访问 192.168.0.10:8006,按提示完成 fnOS 安装
安装完成后,打开 192.168.0.10:5666 体验 fnOS
飞牛数据盘的内容,是无法直接在 debian 上读取的,数据盘在 debian 上的显示是一个 data2.img
如果本机没有使用有线网卡,说是 macvlan 网络并不是那么合适 —— 关于这个问题,我用 gemini 做了一次 deepsearch,结果可以看这里
可行,但困难重重
可行的地方是,fnOS 的 iso 镜像里已经包含了所有的依赖和工具,可以直接解压获取相应的 rootfs,直接用来构建
困难重重的地方是,我确实构建出来了一个 docker 镜像
但由于没有排除不必要的文件和目录,导致镜像体积有 5GB 之多
通过这个镜像,我找不到 fnOS 的 webUI 服务
虽然发现了 webUI 的蛛丝马迹,但由于 fnOS 的服务是由 systemd 管理的,而要给 docker 容器加入对 systemd 的支持,这不是我能最快解决的方式了
确实也找到了一个现成的 docker 镜像以及对应的 compose.yaml,从这个 compose.yaml 里可以看到,这个镜像是启用了 systemd 的,但不好用
1 | # 修改前 |
登陆 webUI 的时候也有一些 bug
debian 不能访问数据盘
最后尝试直接在 qemu 中部署 fnOS,以下面这个 qemu 命令,成功启动了 fnOS
1 | $ qemu-system-x86_64 \ |
使用 qemu 部署过程中还是遇到了很多问题:
这应该是个 shell 的语法问题,\ 之后有空格或者注释,导致换行作用实效,命令解析失败
1 | $ qemu-system-x86_64 \ |
fnOS 中通过挂载共享目录的方式,无法在 webUI 中看到路径,需要先创建存储空间,通过在存储空间的位置进行挂载共享目录,才可以在网盘下载文件时看到共享目录
以下 qemu 问题由于我还没有展开研究,所以先仅做记录
网卡目前显示半双工,应该如何修改配置
vnc 设置了无密码,但是在 macOS 上进行访问时依然提及需要密码
网卡 tap 和 user 模式的区别
be slow to promise and quick to perform.