编译TP-LINK WR841 V8 的openwrt 23.05 固件


电子维修员
原创
发布时间: 2026-03-20 15:07:11 | 阅读数 0收藏数 0评论数 0
封面
最近玩路由器有点上瘾,研究了一下怎么编译openwrt固件,今天就来编译一个TP-LINK WR841 V8 的openwrt 23.05 固件。

准备工作:

材料:

一台装有ubuntu系统的PC,或虚拟机也可以。

一台路由器

1

安装编译环境

在Linux中打开终端输入命令:

sudo apt update

sudo apt install build-essential clang flex bison g++ gawk \

gcc-multilib g++-multilib gettext git libncurses-dev \

libssl-dev python3 rsync unzip zlib1g-dev file wget

2

下载源码

在Linux终端输入命令:

git clone https://github.com/openwrt/openwrt

cd openwrt

git checkout v23.05.6

我编译的是这个版本,根据自己需要下载。

完成后会在当前目录下生成一个openwrt文件夹,如果你是从网页下载的包,需要解压。

然后cd到openwrt文件夹里面,更新扩展的软件包feeds:

./scripts/feeds update -a

./scripts/feeds install -a

3

硬件改动后的配置

如果你跟我一样硬改过路由器的硬件,还需要修改配置文件。

我的这个路由改成16M的FLASH,64M的内存。

在openwrt文件夹下输入命令列出和wr841有关联的文件:

grep -lri wr940 target/

显示的文件:

target/linux/ath79/image/tiny-tp-link.mk

target/linux/ath79/dts/qca9533_tplink_tl-wr841-v12.dts

target/linux/ath79/dts/qca9533_tplink_tl-wr841-v11.dts

target/linux/ath79/dts/qca9533_tplink_tl-wr841-v10.dts

target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts

target/linux/ath79/dts/ar7241_tplink_tl-wr841-v7.dts

target/linux/ath79/dts/ar7240_tplink_tl-wr841-v5.dts

target/linux/ath79/dts/qca9533_tplink_tl-wr841-v9.dts

target/linux/ramips/image/mt76x8.mk

target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v13.dts

target/linux/ramips/dts/mt7628an_tplink_tl-wr841n-v14.dts

target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds

target/linux/ramips/mt76x8/base-files/etc/board.d/02_network

这里需要修改的文件:

target/linux/ath79/image/tiny-tp-link.mk

target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts


然后一个一个查看修改:

打开文件:vim target/linux/ath79/image/tiny-tp-link.mk

把 4mlzma 改成 16mlzma。图2


打开文件:vim target/linux/ath79/dts/ar9341_tplink_tl-wr841-v8.dts

这个文件主要修改3处如图3:

1,把art:partition@3f0000改为art:partition@ff0000

2,把0x3d0000 改为 0xfd0000,

3,把0x3f0000 改为 0xff0000,

4

配置openwrt

首先cd到openwrt文件夹里面,输入命令:

make menuconfig

在打开的配置界面中选择目标,

常规操作:

target System-->你的路由器芯片型号的系列类别。

Subtarget --> 根据路由器硬件分出的类别,比如这个841v8 就被归类到小FLASH里了.

Target Profile --> 你的路由器型号。

LuCI --> Collections -->luci(用空格键勾选上*)

LuCI --> Modules -->Translations -->Chinese Simplified (zh_hans)


配置你要的应用,你可以根据自己的需求,再配置别的选项。

最后一定记得保存,再退出。:qQ

5

编译

配置完成后,先更新配置:make defconfig

编译: make -j8 数字表示用个CPU内核去编译,一般选择核数加1即可。

第一次编译会慢一点,我的电脑大约40分钟,因为第一次编译里面会编译工具链之类的东西,第二次就会很快,几分钟的事情。

6

刷机

编译完成后,固件会在你的openwrt-->bin-->targets-->ath79(根据你路由器型号)-->tiny(配置步骤中的硬件类别,一般是通用和小FLASH)。

然后把固件考出到Windows上刷机,也可以在Linux上直接刷,我认为一般在Windows上比较方便而已。

具体的刷机操作在这里就不再赘述了。

阅读记录0
点赞0
收藏0
禁止 本文未经作者允许授权,禁止转载
猜你喜欢
评论/提问(已发布 0 条)
评论 评论
收藏 收藏
分享 分享
pdf下载 下载
pdf下载 举报