在通用设备上安装原生openwrt
咱前阵子从海鲜市场淘了块收银机的主板来当软路由,打算上openwrt,但是突然发现,以前安装openwrt总是一些路由器或者其他嵌入式平台,x86上还真不知道怎么给这镜像装进去
所谓原生openwrt指的是直接从
openwrt.org
上获取的原始镜像
如果汝不想自己编译的话,咱建议无论如何选择稳定版构建!!!
这在之后安装额外的内核模块时(例如各种驱动)非常重要
因为虽然可以通过安装额外的内核ipk来兼容其他编译版本的软件包,但是内核模块不能这么干,无论如何内核模块都不能跨编译版本运行
在下载站点(downloads.openwrt.org) 选择需要的版本
openwrt的最终镜像文件是分类为各个平台的:
File Name File Size Date
apm821xx/ - Wed Nov 15 02:18:11 2023
armsr/ - Wed Nov 15 01:30:35 2023
at91/ - Wed Nov 15 03:10:28 2023
ath79/ - Wed Nov 15 02:46:31 2023
bcm27xx/ - Wed Nov 15 03:23:35 2023
bcm47xx/ - Wed Nov 15 03:14:38 2023
bcm4908/ - Wed Nov 15 02:23:36 2023
bcm53xx/ - Wed Nov 15 01:33:44 2023
bcm63xx/ - Wed Nov 15 03:03:27 2023
bmips/ - Wed Nov 15 03:10:00 2023
gemini/ - Wed Nov 15 00:53:01 2023
imx/ - Wed Nov 15 04:58:33 2023
ipq40xx/ - Wed Nov 15 03:06:47 2023
ipq806x/ - Wed Nov 15 01:39:29 2023
ipq807x/ - Wed Nov 15 01:43:37 2023
kirkwood/ - Wed Nov 15 00:50:33 2023
lantiq/ - Wed Nov 15 02:10:12 2023
layerscape/ - Wed Nov 15 02:52:41 2023
malta/ - Wed Nov 15 01:37:37 2023
mediatek/ - Wed Nov 15 03:00:12 2023
mpc85xx/ - Wed Nov 15 03:43:40 2023
mvebu/ - Wed Nov 15 02:51:17 2023
mxs/ - Wed Nov 15 02:32:16 2023
octeon/ - Wed Nov 15 03:51:20 2023
octeontx/ - Wed Nov 15 02:21:05 2023
oxnas/ - Wed Nov 15 02:48:35 2023
pistachio/ - Wed Nov 15 00:50:27 2023
ramips/ - Wed Nov 15 03:11:32 2023
realtek/ - Wed Nov 15 02:08:09 2023
rockchip/ - Wed Nov 15 01:34:40 2023
sifiveu/ - Wed Nov 15 04:01:12 2023
sunxi/ - Wed Nov 15 02:52:02 2023
tegra/ - Wed Nov 15 00:56:39 2023
x86/ - Wed Nov 15 02:47:34 2023
zynq/ - Wed Nov 15 00:54:14 2023
选择汝的设备型号/处理器型号/架构,每种不同的分类的镜像格式或内容都是不一样的,很多平台有独立的刷写机制,会生成特定格式的文件以便操作。这里咱们仅关注x86架构,显然,通用x86目标直接位于顶级目录,没有区分处理器或厂商
这个目录下还区分了几个子项:
File Name File Size Date
64/ - Wed Nov 15 02:13:04 2023
generic/ - Wed Nov 15 02:47:31 2023
geode/ - Wed Nov 15 02:10:06 2023
legacy/ - Wed Nov 15 01:34:48 2023
咱用的是x64(都4202年了!)
旧的
x86处理器,应该是为32位准备的Image for your Device sha256sum File Size Date
generic-ext4-combined-efi.img.gz 090187a632f80c90093417830701d9a7f391b7729b4942d7e620a8c8f4dedb30 11236.6 KB Wed Nov 15 02:10:23 2023
generic-ext4-combined.img.gz f8588a9937bd77010f88545ccd21bb59cf8b47462793d80ef7d49ad92ce8ab11 11052.6 KB Wed Nov 15 02:10:22 2023
generic-ext4-rootfs.img.gz b48df205150a4465b48a21f9449b3cb79d2dd3181feda0cb0ebd6693e1dc3596 5163.4 KB Wed Nov 15 02:10:21 2023
generic-kernel.bin 19ea5d644317bb77931a4f94030b8c2bbd1312c554ec1bf276e80cf4a02f36c6 5497.1 KB Wed Nov 15 02:10:03 2023
generic-squashfs-combined-efi.img.gz 3445abde9fb8371ae441dc947699cb397dda0cddc943e95bd4db5a89841fe5e7 10390.8 KB Wed Nov 15 02:10:22 2023
generic-squashfs-combined.img.gz 2fdaf53bf8ff264137a7950acec017a0f9f38664cee0b3c95357fdd05dc24c5f 10208.1 KB Wed Nov 15 02:10:22 2023
generic-squashfs-rootfs.img.gz 7d558743d6a8e8a85615242e14c92b5384839ecca55205a415f547702bf32039 4321.3 KB Wed Nov 15 02:10:20 2023
rootfs.tar.gz dc5379af73ebd6845da419ccf034987dc0c8b26e503cefd5231b05a1ff8cc26c 4207.5 KB Wed Nov 15 02:10:07 2023
这几个文件,先刨去rootfs.tar.gz
仅根文件系统和generic-kernel.bin
仅内核,它们可以用于更定制化的安装,流程也更为复杂(咱也没有用过qwq)
剩下四个文件显然分为两组,ext4
和squashfs
,
这是镜像的文件系统格式,对,这种安装镜像其实是一种硬盘镜像,自带分区表的那种
ext4,最常用的linux文件系统之一,不再赘述,倒是这里可以讲一下squashfs
squashfs
这种文件系统本身是只读的,所有对于它的写入和更改都将被存储至一个额外的分区
这意味着,如果汝把系统淦烂了,只要删除/清空这个额外的分区,系统将直接恢复到干净的状态,
openwrt本身的web界面中就提供这个恢复初始状态的功能
每个文件系统的镜像又分为ufi版本和非ufi版本,这没有任何系统功能上的区别,只要汝的设备支持ufi引导就用ufi版本,否则使用没有ufi的版本(废话)
咱这里选择的是generic-ext4-combined-efi.img
openwrt官网的.img.gz
文件不是标准的gz格式,在文件结尾会包含文件的签名
所以部分软件无法解压这个文件,例如7zip和physdiskwrite
咱的解决方案是直接扔进linux用gunzip解压,虽然扔会抛出错误,但是解压出的文件是可用的
openwrt的发布文件(.img)是一个磁盘的完整镜像,而不是像windows或其他linux那样的安装镜像
所以我们不需要刻录安装盘,而是将这个镜像直接刷写到目标设备的启动磁盘上
有很多软件可以进行这个操作(如果汝想,linux使用dd直接刷也行),这里,咱在windows下使用physdiskwrite
官网
.\physdiskwrite.exe -u openwrt-22.03.5-x86-64-generic-ext4-combined-efi.img
-u
参数的意义是解除安全覆盖限制*(默认情况下,该软件将拒绝对2G以上的磁盘进行写入)*
注意
如果没有差错,直接引导这个设备,那么一切都应就位!