PVE安装ImmortalWrt

下载地址 immortalwrt

下载完成后上传到pve镜像库,先建立配置虚拟机后(不要配置硬盘),通过镜像挂载的方式挂载磁盘

配置安装

处理器 2核

机型 q35

内存 2G

磁盘 无

挂载镜像盘

1
qm importdisk 100 /var/lib/vz/template/iso/xx.img local-lvm

100为系统的vmid,挂载磁盘完成后,进入vm硬件配置中,启动镜像盘,将启动顺序调整为第一个,最后启动系统

配置网络

1
2
vi /etc/config/network
reboot # 重启

配置镜像源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#src/gz openwrt_core https://downloads.openwrt.org/releases/23.05.5/targets/x86/64/packages
#src/gz openwrt_base https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/base
#src/gz openwrt_luci https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/luci
#src/gz openwrt_packages https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/packages
#src/gz openwrt_routing https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/routing
#src/gz openwrt_telephony https://downloads.openwrt.org/releases/23.05.5/packages/x86_64/telephony


src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/targets/x86/64/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/base
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.2/packages/x86_64/telephony

更新

1
opkg update

主题包

安装argon主题包

搜索安装luci-theme-argon、luci-app-argon-config、luci-i18n-argon-config-zh-cn、 luci-compat、 luci-lib-ipkg、luci-theme-argon-config

扩容磁盘(添加新磁盘)

配置虚拟机

首先需要在pve对应的虚拟机的硬件中添加新硬盘并设置硬盘容量,启动虚拟机

image-20250308105944997

安装扩容(ImmortalWrt自带)

1
2
3
opkg update
# opkg install block-mount
opkg install fdisk # cfdisk e2fsprogs lsblk

查看盘

1
fdisk -l

挂载磁盘

1
2
3
fdisk /dev/sdb
n 新建磁盘
w 最后保存

格式化磁盘

1
mkfs.ext4 /dev/sdb1

进入系统菜单挂载点=》生成配置
点击磁盘编辑=》选择根目录=》保存 =》 最下面再次点击保存

执行下面代码

1
2
3
4
5
6
7
8
9
mkdir -p /tmp/introot
mkdir -p /tmp/extroot
mount --bind / /tmp/introot
mount /dev/sdb1 /tmp/extroot
tar -C /tmp/introot -cvf - . | tar -C /tmp/extroot -xf -
umount /tmp/introot
umount /tmp/extroot

reboot # 重启

扩容磁盘(原磁盘)

配置虚拟机

首先需要在pve对应的虚拟机的硬件中对磁盘进行扩容操作,启动虚拟机

image-20250308105901334

安装软件包

1
2
opkg update
opkg install parted losetup resize2fs

官方脚本

官方地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Configure startup scripts
cat << "EOF" > /etc/uci-defaults/70-rootpt-resize
if [ ! -e /etc/rootpt-resize ] \
&& type parted > /dev/null \
&& lock -n /var/lock/root-resize
then
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \
'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DISK="/dev/$(basename "${ROOT_BLK%/*}")"
ROOT_PART="${ROOT_BLK##*[^0-9]}"
parted -f -s "${ROOT_DISK}" \
resizepart "${ROOT_PART}" 100%
mount_root done
touch /etc/rootpt-resize
reboot
fi
exit 1
EOF
cat << "EOF" > /etc/uci-defaults/80-rootfs-resize
if [ ! -e /etc/rootfs-resize ] \
&& [ -e /etc/rootpt-resize ] \
&& type losetup > /dev/null \
&& type resize2fs > /dev/null \
&& lock -n /var/lock/root-resize
then
ROOT_BLK="$(readlink -f /sys/dev/block/"$(awk -e \
'$9=="/dev/root"{print $3}' /proc/self/mountinfo)")"
ROOT_DEV="/dev/${ROOT_BLK##*/}"
LOOP_DEV="$(awk -e '$5=="/overlay"{print $9}' \
/proc/self/mountinfo)"
if [ -z "${LOOP_DEV}" ]
then
LOOP_DEV="$(losetup -f)"
losetup "${LOOP_DEV}" "${ROOT_DEV}"
fi
resize2fs -f "${LOOP_DEV}"
mount_root done
touch /etc/rootfs-resize
reboot
fi
exit 1
EOF
cat << "EOF" >> /etc/sysupgrade.conf
/etc/uci-defaults/70-rootpt-resize
/etc/uci-defaults/80-rootfs-resize
EOF

将以上脚本命名为expand-root.sh

或者直接下载

1
2
wget -U "" -O expand-root.sh "https://openwrt.org/_export/code/docs/guide-user/advanced/expand_root?codeblock=0"
. ./expand-root.sh

执行扩容脚本

执行会生成两个脚本文件/etc/uci-defaults/70-rootpt-resize、/etc/uci-defaults/80-rootfs-resize

1
sh expand-root.sh

分别执行/etc/uci-defaults/70-rootpt-resize、/etc/uci-defaults/80-rootfs-resize两个脚本,执行后会重启

1
2
3
sh /etc/uci-defaults/70-rootpt-resize

sh /etc/uci-defaults/80-rootfs-resize

查看扩容结果

1
lsblk
1
2
-rw-r--r--    1 root     root             0 Mar  8 11:05 rootfs-resize
-rw-r--r-- 1 root root 0 Mar 8 11:05 rootpt-resize

安装WIFI

1
2
opkg install pciutils
lspci | grep -i network # 查看pci设备是否有网卡

安装包

在软件包中搜索安装或者命令行安装以下包

1
opkg install kmod-mac80211 kmod-cfg80211 kmod-iwlwifi hostapd hostapd-common iw iwinfo wireless-tools wireless-regdb

重启 reboot

下载驱动包

intel驱动网站上找相关驱动包下载

1
2
3
4
5
6
7
8
9
10
11
wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/snapshot/linux-firmware-20241110.tar.gz -O linux-firmware.tar.gz

tar -xzvf linux-firmware.tar.gz # 解压
# 通过dmesg命令系统启动后的内核消息,用于插看驱动是否有报错,查看wifi缺少哪些驱动文件
dmesg
dmesg|grep -i wifi
# 将linux-firmware/下的xx.ucode和xx.pnvm复制到/lib/firmware/文件夹下,根据自己实际硬件需要的驱动复制
cp ./linux-firmware/iwlwifi-so-a0-gf4-a0-72.ucode /lib/firmware/
cp ./linux-firmware/iwlwifi-so-a0-gf4-a0.pnvm /lib/firmware/
reboot # 重启完成后通过dmesg命令查看是否还有报错
# 用命令 lsmod 查询是否有相关驱动

配置WIFI

工作频率

模式 N 带宽2.4 GHz 信道 8 通道宽度40 MHz

高级配置

无线信号覆盖密度 非常高

无线安全

加密 WPA2-PSK