自行编译openwrt系统及LEDE、大雕等固件教程 持续更新。。

384次阅读
没有评论

共计 2920 个字符,预计需要花费 8 分钟才能阅读完成。

前言:首先编译固件目前已经做到很简单,但是还需要自己多动手才行,标准系统使用ubuntu系统,可以在自己的电脑上安装VM虚拟机,然后开ubuntu系统

首先装好 Ubuntu 64bit,推荐  Ubuntu  14 LTS x64
http://releases.ubuntu.com/14.04 … 5-desktop-amd64.iso

1.登陆ubuntu系统  ,进入ubuntu命令提示

 

首次编译命令

2. 命令行输入 sudo apt-get update ,然后输入

sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils autoconf automake libtool autopoint

 

3.下载项目源码到本地

git clone  https://github.com/coolsnowwolf/lede

 

命令下载好源代码,然后 cd lede 进入目录

4. 以此输入

./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig
5. 最后选好你要的路由,输入 
make -j1 V=s

(-j1后面是线程数。第一次编译推荐用单线程,国内请尽量全局兲朝上网)即可开始编译你要的固件了。

一.关于路由器型号选择
menuconfig选择system的常见芯片选择 :MT7620、MT7621、X86
1.例如 K2 (7620)K2P、新路由3等的(7621)等 MTK芯片的选择
先选择 MediaTiek Ralink MIPS
然后选择对应的芯片
2例如K2T
选择Atheros ATH79(DTS)

3  X86等软路由
直接选择X86就可以了
<*>,表示将软件包编译进固件,,<m>表示软件包会被编译,但不会编译进固件。


4.主要看芯片,比如高通、联发科、博通等在对应的里面找

二、编译完成后的固件在
编译完成后固件输出在/lede/bin/targets

三、单独编译包
假设在package/network/zigbeeservice_test目录下是要编译的代码。

先make menuconfig

找到对应的选项,然后配置该选项为’M’,保存退出

然后输入make package/network/zigbeeservice_test/compile即可编译出ipk文件。



2.第一次编译尽量用单线程,

这个应该没啥问题,开始我觉得用多线程可能比较快,但是会出错,有时是可以看编译完的结果,会报错让你用单线程,看报错内容也是很重要的

3.编译因为断网、linux待机终端的可以接着编译,没有问题

3.package在menuconfig的选择 ,一些应用列入$$R、sfe要预装的话可以参考一楼的表格

还有一个方法,可以从包的Makefile里面看,等下放个图
打开包源码的makefile然后

自行编译openwrt系统及LEDE、大雕等固件教程  持续更新。。 
4.内核的切换,一些packages例如sfe 加速会在高内核没有,所以切换到4.9内核就可以了
详情:
编译切换内核:
打开LEDE目录/target/linux/架构/Makefile
KERNEL_PATCHVER:=4.9
具体支持内核版本
include/kernel-version.mk
然后rm -rf ./tmp && rm -rf .config                                   

清除编译配置和缓存make menuconfig
进入编译配置菜单

如果切换内核编译错误,可以查看上面的代码回退试试!

5.酸酸乳的显示问题,酸酸乳被隐藏了,
开启代码:必须在后台输入 echo  0xDEADBEEF > /etc/config/google_fu_mode 命令后,重启后才能开启 $$Plus 隐藏界面。大家周知~~ 

群里的通知
6.源码回退(如果新版本不适合你的路由器,或者想找到某个以前有的东西,可以回退到指定版本)
git log                        查看源码更新日志
git reset –hard HEAD^         回退到上个版本
git reset –hard HEAD~3        回退到前3次提交之前,以此类推,回退到n次提交之前
git reset –hard commit_id     退到/进到 指定commit的sha码(可到大雕源码地址直接查询)具体到这个地址:https://github.com/coolsnowwolf/lede/commits/master

7.(编译保存你的配置)files大法:就是把你 改好的配置 直接编译进固件这样做的好处就是升级不需要保留配置,或者恢复出厂设置,缺省值就是你自己设置好的配置
固化某配置教程例子:
1.提取路由固件下的\etc\config\network
2.在编译机LEDE根目录下创建files目录
3.拷贝到\files\etc\config\network
这样编译完,network就是你自己配置好的network,注意提取的文件路径和权限要一致
\etc\config                                      各个LUCI配置
\etc\gfwlist                                     gfwlist目录
\etc\shadow                                      登录密码
\etc\firewall.user                               自定义防火墙规则
\usr\share\adbyby                                adbyby里的相关规则和设置
\usr\lib\lua\luci\view\admin_status\index.htm    主页样式文件,温度显示等等

X86架构固件的index,默认被大雕files强奸了,自己到源码里替换/lede/package/lean/autocore/files/index.htm
如果无效请make clean或者删除/lede/build_dir/target架构/autocore-1(编译其他失败同理)

8.K2T无法编译4.9内核,可以编译4.14.77之前的不会假死或者去除adbyby

9.梯子问题,这个很重要,有些资源下不下来,所以建议全局梯子,这样可以保证包下载没问题!

10.最新的K2P已经内置闭源的无线,所以更新到最新就可以使用k2p

11.IPV6,目前IPV6众多,这方面博主也不是很理解,有移动运营商分的IPV6,而且还有各种校园网分配的ipv6,大雕固件目前已经删除IPV6支持,原因是使用不方便而且和QOS、BBR加速冲突,所以大雕固件不用想了,其他的还需要多多搜索,看看有没有前人的教程

正文完
 
admin
版权声明:本站原创文章,由 admin 2019-09-15发表,共计2920字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码