本帖最后由 hztbhtbh 于 2024-10-6 20:00 编辑
我前年入手一款X86软路由,从此走上折腾之路
经过去年在网络上搜索和咨询现在出一个视频教程,
指定编译内核版本的openwrt的软路由系统,
包括大版本和小版本,比如你想编译5.4.234等等
视频是以x86为例,其它平台请自行测试,
第一次录制,纯属业余非专业,有不到之处请小伙伴谅解,
一:视频教程:
请点击这里跳转youtube
请点击这里跳转bilibili
二:图文教程:
指定编译内核版本的openwrt软路由系统,这里以L大的lede源码编译X86为例,其它平台请自行测试。
1.打开编译环境在命令行窗口(我是用putty工具)输入: cd lede #进入lede目录 git pull #更新L大源码
2:在游览器中打开以下网址,比如你要编译大版本号为5.10,下面5.4替换为5.10,这里以5.4为例:
3.在打开的网址内容中找到小版本号为234为例:5.4.234点击打开(上图) 再打开网址中获取最后一个斜杠后的一串数字替换下面xxx位置(下图): git checkout xxx
替换后就是下面这一段,复制粘贴到命令行(我是putty工具)回车 git checkout 84f10c38ce381c8f8856959469b17fa5705e359a 4.用工具winscp登录编译环境进入到lede/target/linux/x86目录
打开Makefile文件修改,修改后记得保存。 KERNEL_PATCHVER:=5.15 #5.15修改成5.4 KERNEL_TESTING_PATCHVER:=6.1 #6.1不用修改,也可以修改高一个版本5.10
5.如果输入命令(第3步)没有出现如图显示(第3步图)翻译过来:就是要隐藏Makefile文件, 那就要用工具winscp登录编译环境进入到lede/target/linux/x86目录,直接删除Makefile文件而不是修改, 然后再命令行(我是putty)输入: git checkout 84f10c38ce381c8f8856959469b17fa5705e359a 回车后就会出现(第3步图)显示 然后再lede/target/linux/x86目录刷新一下,会出现被删除的Makefile文件又出现了,
打开修改见第4步,(如第3步后有如上图显示就忽略第5步,直接到第6步继续)
6.输入以下命令: make dirclean #内核改变,编译前建议清理下 如果编译失败在输入以下命令: make clean #缓存问题 删除 bin 目录和 build_dir 等目录
7.输入以下命令编译固件 make -j$(($(nproc) + 1)) V=s #默认使用多线程编译固件(编译固件)
8.编译过程需要2小时左右,结束后你就得到了你指定内核版本的openwrt系统.
9.如果编译失败就需要使用单线程编译查找报错原因 make -j1 V=s #编译失败必须使用单线程查看原因
#golang版本过低 解决办法:./scripts/feeds install -a 操作之后替换 golang 为 1.22.x 版本: rm -rf feeds/packages/lang/golang
#缺少libopenssl-legacy依赖:
sed -i 's/ +libopenssl-legacy//g' feeds/small/shadowsocksr-libev/Makefile
在此感谢L大免费开源的lede源代码:
|