GNUisNotUnix 发表于 2023-4-5 23:57

写给新手小白进阶——应用篇

本帖最后由 edywh 于 2023-4-7 00:32 编辑

刚好放假,朋友想把他的旧笔记本电脑刷 OpenWrt,主要配置如下:
CPU:Intel Core i3 M330 2.1GHz,性能大致与 Celeron J1900 相当
https://www.cpubenchmark.net/com ... 00-vs-Intel-i3-330M
内存:4GB
硬盘:1TB
网卡:Broadcom BCM57780,只是博通对 OpenWrt 不是很友好,官网 stable release 不支持,需要单独编译
这个配置跑 OpenWrt 没问题,但考虑到 1TB 硬盘只跑 OpenWrt 有点浪费
所以决定先写入 Armbian,再安装 CasaOS 跑 qBittorrent / Transmission 和 Emby / Jellyfin,并通过 docker 部署 openwrt 容器;

1)下载 Armbian
https://www.armbian.com/uefi-x86/
建议选国内各镜像站,下载速度会快很多,比如清华 TUNA
https://mirrors.tuna.tsinghua.ed ... s/uefi-x86/archive/
目前最新的版本是 2 月 28 日 Armbian_23.02.2 基于 debian bullseye 内核 5.15.94
养成好习惯,下载完成后先验证哈希值

certutil -hashfile.\Armbian_23.02.2_Uefi-x86_bullseye_current_5.15.94.img.xz SHA256解压缩后,文件大小 4.14GB,用 Rufus / Etcher 写入 U 盘,找个大一点的 U 盘,建议 16GB 起,因为后续还要上传固件,要预留至少 4GB 容量;

2)安装和初始化设置 Armbian
插入 U 盘和网线,开机后先设置笔记本电脑 BIOS 从 USB 启动,保存设置再重启,耐心等待 Armbian 启动完成
选择 Armbian 是因为这台笔记本电脑的显卡有点问题,跑 Windows 时会过热死机,而 Armbian 可以不需要 GUI,安装也比 debian 简单,集成的驱动和软件也更多
Armbian 默认 root 密码 1234
https://docs.armbian.com/#common-features
为了截图方便,选择 ssh 登录完成相关操作
从 Router 后台获得 Armbian 的 IPv4 地址:192.168.10.235,使用 MobaXterm 或 Xshell 等软件,或系统自带终端 ssh 远程登录
ssh <a href="mailto:root@192.168.10.235" target="_blank">root@192.168.10.235</a>实际上,在笔记本电脑上完成初始化设置更方便
创建新的 root 密码并选择 zsh,因为 zsh 的功能比 bash 更多,而且只是个人用,所以 Ctrl+C 取消创建普通用户

简单看一下系统信息

以及硬件相关

使用 WinSCP 软件将解压缩后的镜像文件 Armbian_23.02.2_Uefi-x86_bullseye_current_5.15.94.img 上传到 U 盘 /root 目录
注意:这部分忘记截图了,之所以上传到 /root 目录而不是 /tmp 目录,因为 Linux 系统中 /tmp 目录对应的是内存,大小只有系统内存的一半,
这台笔记本电脑内存 4GB,所以 /tmp 目录只有 1.9GB,放不下解压缩后的镜像文件 4.14GB
通过 lsblk 和 df 命令,查看到 1TB 硬盘接口是 /dev/sda

后补的截图,注意看 /tmp 目录大小
使用 dd 命令写入硬盘
注意:dd 写入也没截图,但一定要结合实际情况,确认要写入的是不是 /dev/sda,再运行 dd 命令
dd if=/root/Armbian_23.02.2_Uefi-x86_bullseye_current_5.15.94.img of=/dev/sda耐心等待,写入时间比较长,毕竟硬盘 1TB,当提示写入完成后,运行 poweroff 关机,拔掉 U 盘(否则重启后还是从 U 盘启动)
再次开机,笔记本电脑会从硬盘启动,第一次启动会比较慢,耐心等待启动完成
再次 SSH 登录完成初始化设置,下一步将软件仓库源更换为国内源
https://mirrors.tuna.tsinghua.edu.cn/help/armbian/
可以直接使用清华 TUNA 提供的一键命令
sed -i.bak 's#<a href="http://apt.armbian.com" target="_blank">http://apt.armbian.com</a>#https://mirrors.tuna.tsinghua.edu.cn/armbian#g' /etc/apt/sources.list.d/armbian.list然后更新和升级全部软件
apt update
apt upgrade -y注意:修改配置文件,让笔记本电脑合盖不休眠
nano /etc/systemd/logind.conf找到
#HandleLidSwitch=suspend
取消注释,并修改为 ignore
HandleLidSwitch=ignore

Ctrl+X 退出时根据提示保存修改后重启
reboot重启完成后,即便笔记本电脑的盖子合上,系统也不会自动休眠

3)安装 CasaOS
https://github.com/IceWhaleTech/CasaOS
使用官方提供的一键脚本
wget -qO- <a href="https://get.casaos.io" target="_blank">https://get.casaos.io</a> | sudo bash
安装 CasaOS 时会自动安装 docker 及相关依赖

耐心等待安装结束,如果安装过程报错,再跑一次一键脚本

安装完成后,根据提示,浏览器访问 Armbian 的 IPv4 地址:192.168.10.235,创建用户名和密码,即可进入 CasaOS 后台


4)部署 openwrt 容器
https://hub.docker.com/r/sulinggg/openwrt

docker 默认只有 bridge/host/none 三种网络模式,因此需要新建 macvlan 网络模式,使容器获得独立的 IPv4 地址,以便和 LAN 内其他设备互通
https://docs.docker.com/network/macvlan/
docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=enp2s0 macvlannetwork拉取 x86_64 镜像并部署 OpenWrt 容器
docker run --restart always --name openwrt -d --network macvlannetwork --privileged sulinggg/openwrt:x86_64 /sbin/init
进入 OpenWrt 容器
docker exec -it openwrt bash
修改容器的 IPv4 地址
https://openwrt.org/docs/guide-u ... wrt_as_clientdevice
uci set network.lan.ipaddr=192.168.10.2
uci set network.lan.gateway=192.168.10.1
uci set network.lan.dns=192.168.10.1
uci commit network
service network restart
浏览器访问新指定 IPv4 地址:192.168.10.2,即可进入 OpenWrt 容器的 luci 后台
用户名 root 无密码

修改语言和主题,配置 OpenWrt 容器,因为只有一个网卡,LAN 可以取消桥接,并将接口固定到 eth0(该容器的 DHCP 服务默认已关闭)


配置 OpenWrt 容器,因为笔记本只有 LAN 所以防火墙取消 SYN-flood 防御


完成相关设置,此处略去八百字,使用 curl 命令检查能否访问 nf,enjoy~


5)总结
该方法可用于任意 X86 设备,同样也适用 ARM 设备,但建议 RAM 不要太低,如果部署的容器较多,那内存建议 4GB 起
之所以选择 Armbian+CasaOS/docker 主要是因为该方案比 OpenWrt+docker 在部署 App 上更容易

CasaOS 默认的商店提供的 App 非常多,基本上都是一键傻瓜式部署
当然,除了 CasaOS 的管理后台,还可以通过 docker 部署其他容器管理工具,比如:Portainer 或 Yacht


又及,关于功耗,找个了功率计量插座,待机时功耗在 18-20W 之间

以 20W 计,50 个 hour 消耗一度电(1000Whour),30 天消耗约 15 度电
一度电在 CNY 0.5-0.8 之间,所以一个月电费约 CNY 7.5-12
突然想起来,今天是 KFC 疯狂星期四,这点电费还不够 Vme50

lqbz2006 发表于 2023-4-6 00:09

写的非常好,手动点赞,容我我买个笔记本先https://www.right.com.cn/forum//mobcent//app/data/phiz/default/01.png

lamhui 发表于 2023-4-6 00:24

好人热心人https://www.right.com.cn/forum//mobcent//app/data/phiz/default/23.png

Limitpea 发表于 2023-4-6 00:30

虽然废物利用总是好的
但是还想问一下
这CPU打得过J1900 D525吗:L 功耗有这些低吗

霍森布鲁茨老爷 发表于 2023-4-6 07:24

多谢分享,学习

XanaduNWH 发表于 2023-4-6 07:24

这功耗不得顶十来个j1900啊

badcrazy 发表于 2023-4-6 08:27

op下有tr有qt,也能跑docker,直接op下跑不是可以省掉一个armbain?

badcrazy 发表于 2023-4-6 08:29

另外armbian是debian的arm版,虽然也有x86,还是推荐装debian

badcrazy 发表于 2023-4-6 08:34

XanaduNWH 发表于 2023-4-6 07:24
这功耗不得顶十来个j1900啊

35w而已,哪来10来个?在桌面u普遍65w的年代,笔记本u的功耗你觉得会上100w?

XanaduNWH 发表于 2023-4-6 12:39

badcrazy 发表于 2023-4-6 08:34
35w而已,哪来10来个?在桌面u普遍65w的年代,笔记本u的功耗你觉得会上100w?

那五六个也是有的,笔记本的外设应该不会比j1900板子省电,而且现在的板子的能耗设计肯定比老本子要强。

GNUisNotUnix 发表于 2023-4-6 13:06

Limitpea 发表于 2023-4-6 00:30
虽然废物利用总是好的
但是还想问一下
这CPU打得过J1900 D525吗 功耗有这些低吗

性能基本持平,待机功耗功能多 10W 左右

GNUisNotUnix 发表于 2023-4-6 13:17

XanaduNWH 发表于 2023-4-6 07:24
这功耗不得顶十来个j1900啊

J1900 待机一般 7-10W,多出来的 10W 功耗,有 CPU 制程的部分(32nm vs 22nm),还有 1TB 机械硬盘;以 20W 待机功耗计,一个月电费 CNY 8-12 ,J1900 待机功耗以 10W 计,一个月电费 CNY 4-6 之间,一个月少喝两瓶快乐水,而且黄鱼上二手 J1900 小主机大多 CNY 200-300,是多少个月的电费,别忘了算 J1900 的功耗

GNUisNotUnix 发表于 2023-4-6 13:21

badcrazy 发表于 2023-4-6 08:27
op下有tr有qt,也能跑docker,直接op下跑不是可以省掉一个armbain?

是可以的,但 openwrt 作为 Host OS 对 docker 有些兼容性问题,有些容器在 21.02 部署没问题,到 22.03 就有问题,而且部署 qBittorrent / Transmission 和 Emby / Jellyfin 时,还有目录映射的问题

GNUisNotUnix 发表于 2023-4-6 13:30

badcrazy 发表于 2023-4-6 08:29
另外armbian是debian的arm版,虽然也有x86,还是推荐装debian

armbian 和 ubuntu 一样,都是基于 debian 的衍生,armbian 的驱动和软件更多,debian 还要添加 sudo,以及配置允许 root 用户 SSH 登录;而且 armbian 支持的架构也更多,除了 X86 和 ARM,armbian 也支持 RISC-V,debian 在这部分更麻烦;这台笔记本还有一个问题是显卡过热,GUI 安装时会卡死

刘加仕 发表于 2023-4-9 12:12

绝对干货    感谢分享手动点赞一波
页: [1] 2
查看完整版本: 写给新手小白进阶——应用篇