刷机TP TP-Link-WDR5660【持续更新】
上文中简单介绍了:路由器刷机TP-Link tp-link-WDR5660 路由器升级宽带速度-CSDN博客
步骤如下:
第一步:安装Linux系统
本文使用virtualBox 安装Ubuntu的debian系统,本文不在讲述章
请自行参考:Kali 安装之腾讯云经验遇到坑_腾讯云安装kali-CSDN博客
第二步: 更新Ubuntu中镜像文件,命令如下:
sudo apt update -y
--fix missing 意思是:ignore missing
sudo apt full-upgrade -y
问题 :Error: Sub-process /usr/bin/dpkg returned an error code (1)
参考文章问题二十二:Kali系统(Debian 10.3) 遇到的问题_kali卸载mariadb-CSDN博客
第三步: 安装需要的编译依赖,执行如下命令(一条命令)
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libglib2.0-dev libgmp3-dev libltdl-dev \
libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libreadline-dev libssl-dev libtool lrzsz \
mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pyelftools \
libpython3-dev qemu-utils rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip \
vim wget xmlto xxd zlib1g-dev
qemu-utils : 依赖: libaio1t64 (>= 0.3.93) 但是它将不会被安装
依赖: libglib2.0-0t64 (>= 2.78.0) 但是它将不会被安装
依赖: libgmp10 (>= 2:6.3.0+dfsg) 但是 2:6.2.1+dfsg-3 正要被安装
依赖: libgnutls30t64 (>= 3.8.2) 但是它将不会被安装
依赖: libhogweed6t64 但是它将不会被安装
依赖: libnettle8t64 (>= 3.9~) 但是它将不会被安装
依赖: liburing2 (>= 2.3) 但是 2.1-2 正要被安装
推荐: qemu-block-extra (= 1:9.2.0+ds-2) 但是它将不会被安装
subversion : 依赖: libsvn1 (= 1.14.5-1) 但是 1.14.2-1 正要被安装
依赖: libapr1t64 (>= 1.5.0) 但是它将不会被安装
依赖: libaprutil1t64 (>= 1.3.2+dfsg) 但是它将不会被安装
swig : 依赖: libstdc++6 (>= 13.1) 但是 12-20220428-1 正要被安装
texinfo : 依赖: libtext-unidecode-perl 但是它将不会被安装
依赖: libxml-libxml-perl 但是它将不会被安装
依赖: texinfo-lib (>= 7.1.1-1) 但是它将不会被安装
依赖: tex-common 但是它将不会被安装
uglifyjs : 依赖: node-uglify-js (= 3.17.4-2) 但是它将不会被安装
依赖: nodejs 但是它将不会被安装
upx-ucl : 依赖: libstdc++6 (>= 13.1) 但是 12-20220428-1 正要被安装
vim : 依赖: vim-common (= 2:9.1.0861-1) 但是 2:8.2.3995-1 正要被安装
依赖: vim-runtime (= 2:9.1.0861-1) 但是 2:8.2.3995-1 正要被安装
wget : 依赖: libgnutls30t64 (>= 3.8.1) 但是它将不会被安装
依赖: libnettle8t64 但是它将不会被安装
依赖: libpsl5t64 (>= 0.16.0) 但是它将不会被安装
xmlto : 依赖: docbook-xml (>= 4.2-8) 但是它将不会被安装
依赖: docbook-xsl (>= 1.64.1.0) 但是它将不会被安装
依赖: sgml-base 但是它将不会被安装
推荐: dblatex 但是它将不会被安装 或
fop 但是它将不会被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
出现如下错误(如上提示含有9个依赖 安装失败):①qemu-utils ②subversion ③swig ④texinfo ⑤uglifyjs ⑥upx-ucl ⑦vim ⑧wget ⑨xmlto 将如上9个依赖分别拆开成4个命令安装
sudo apt install -y qemu-utils subversion
sudo apt install -y swig texinfo uglifyjs
sudo apt install -y vim wget xmlto
sudo apt install -y upx-ucl
根据提示运行命令
apt --fix-broken install
sudo apt install -y qemu-utils subversion
sudo apt update
重新运行: sudo apt install -y qemu-utils subversion
sudo apt install -y swig texinfo uglifyjs
如果遇到按照提示,运行:sudo apt update
按照提示运行
sudo apt-get update
sudo apt install -y vim wget xmlto
sudo apt install -y upx-ucl
第四步:检查是否安装成功git,并且下载源代码
1、检查是否安装git
git --version
2、创建openwrt目录,并且进入,用于存放源码
cd openwrt
3、打开科学上网工具,最好全局!以下源码三选一下载,也可以使用其他团队的源码!
git clone https://github.com/openwrt/openwrt 官方版本
git clone https://github.com/coolsnowwolf/lede lede版本
git clone -b 22.03 --single-branch https://github.com/Lienol/openwrt lienol版本
官方版本:内核非常新 追求新版本推荐
lede版本:插件比较多 推荐(使用人多)
lienol版本:追求速度和稳定 推荐
方法1:先从github clone下来
git clone https://github.com/openwrt/openwrt
方法2:如果比较慢或者不能clone可以换成
git clone git://git.openwrt.org/openwrt/openwrt.git
问题1:Failed to connect to github.com port 80 after 21039 ms: Could not connect to server
为了解决这个引出问题2 error: 键名没有包含一个小节名称:x
具体如下:1、重启dns命令:sudo /etc/init.d/dns2tcp restart
2、编辑全局代理:命令1:nano ~/.gitconfig (添加[http] proxy = <https://www.111.net>:<443>)
命令2:git config --global --edit
问题2:error: 键名没有包含一个小节名称:x
解决办法
方法1:先从github clone下来
git clone https://github.com/openwrt/openwrt
方法2:如果比较慢或者不能clone可以换成
git clone git://git.openwrt.org/openwrt/openwrt.git
方法3,直接github官网上下载ZIP包丢入Linux系统中了切换到文件目录
如需指定openwrt版本,可以使用以下命令
git tag 查看稳定版,回车键拉到最低,按Q结束!
git checkout v22.03.3 指定版本,红色部分位版本号
第五步:打开openwrt文件夹,找到feeds.conf.default文件打开,添加到最下面!
必须添加
src-git amlogic https://github.com/ophub/luci-app-amlogic
Alist插件
src-git alist https://github.com/sbwml/luci-app-alist
其他插件(可不添加)
Alist插件
src-git alist https://github.com/sbwml/luci-app-alist
src-git passwall_packages https://github.com/xiaorouji/openwrt-passwall.git;packages
src-git passwall_luci https://github.com/xiaorouji/openwrt-passwall.git;luci
src-git kenzo https://github.com/kenzok8/openwrt-packages
主题
src-git argonnew https://github.com/jerrykuku/luci-theme-argon.git;main
第六步: 更新源码
1、修改文件权限
chmod -R 775 feeds
2、 ls -l 查询文件
3、更新源码
./scripts/feeds update -a
4、拷贝源码
./scripts/feeds install –a
第七步: 定制openwrt系统
target:openwrt 的源码可以编译出各个平台适用的二进制文件,各平台在这个目录里定义了 firmware 和 kernel 的编译过程。
Config.in 在include/toplevel.mk
中我们可以看到,这是和make menuconfig
相关联的文件。
make menuconfig
- make -s -C scripts/config mconf: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on
- make: *** [/home/openwrt/include/toplevel.mk:108:scripts/config/mconf] 错误 1
- make-s-C scripts/config mconf:构建失败。请使用-j1 V=s或V=sc重新运行make以获得更高的详细程度,以查看发生了什么
- make:***[/home/openwrt/include/toplevel.mk:108:scripts/config/mconf]错误说明1
chmod -R 775 /home/openwrt/scripts/getver.sh
chmod -R 775 /home/openwrt/scripts/get_source_date_epoch.sh
chmod -R 775 /home/openwrt/scripts/config.guess
chmod -R 775 /home/openwrt/scripts/command_all.sh
sudo make menuconfig
如上问题使用如下命令:make menuconfig -j1 V=sc
sudo apt-get install libncurses5-dev
sudo apt-get install pkg-config
如上问题
解决办法:安装后他会下载并且解压linux-source进入目录后,运行make menuconfig ,使用如下命令:
apt-get install linux-source
一定要要解压在 /usr/src 并且需要注意压缩包类型和版本,比如我这里是 -6.11.tar.xz ;其他也可能是-X.X.tar.bz2,两种都解压方式不通
-6.11.tar.xz和-X.X.tar.bz2 解压命令,并且解压在 /home 目录下:
tar -xf linux-source-6.11.tar.xz -C /home/
tar -xvjf linux-source-X.X.tar.bz2 -C /home/
然后进入linux-source目录下,命令:cd /home/linux-source-6.11
然后运行命令 命令:sudo make menuconfig
#必须设置项目(CPU架构,镜像文件格式)
必须了解路由器CPU架构 暂无
*** 必选软件包(基础依赖包,仅保证打出的包可以写入EMMC,可以在EMMC上在线升级
*** Wifi基础包,打出的包可支持博通SDIO无线模块,Firmware不用选,因为打包源码中已经包含了来自Armbian的firmware,会自动覆盖openwrt rootfs中已有的firmware
红色为选填,如果你需要!USB3.0转千兆网卡(型号:亚信asix-ax88179)则必选!
*** 插件和主题,语言设置选项,根据需求设置,为了减少编译失败的概率,除了必要的晶晨插件,其他都不要安装,主题也是。可以编译成功后单独编译插件在安装。
########################如果需要重新配置############################
方法:使用命令
rm -rf ./tmp && rm -rf .config
make menuconfig
make V=s -j$(nproc)
了解中 查资料中