概述:
根据github大神提供的教程,用人家的编译代码输入命令行逐步执行就好了!(中间输入自己路由的cpu架构和cpu型号以及路由的型号),如果要装插件,位置在luci -application里,自己选择就好了了!
Github大神提出的编译注意事项:
- 不要用 root 用户进行编译!!!
- 国内用户编译前最好准备好梯子
- 默认登陆IP 192.168.1.1 密码 password
官方的简要编译文档
官方文档
初次编译:
-
首先装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x642.更新软件目录 sudo apt-get update
-
安装必要软件 sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3 python2.7 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 upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf wget curl swig rsync clang
-
更新和安装feeds 使用 git clone git@github.com:openwrt/openwrt.git 命令下载好源代码,然后 cd lede 进入目录
-
./scripts/feeds update -a
-
./scripts/feeds install -a
-
-
配置内核信息(路由器芯片和型号etc) make menuconfig
-
开始编译 make -j8 download V=s 下载dl库(国内请尽量全局科学上网),中途如果报错,可能需要临时切换到单线程编译,之后再切换到多线程编译,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。本套代码保证肯定可以编译成功。里面包括了 R21 所有源代码,包括 IPK 的。
二次编译
-
cd openwrt
-
git pull
-
./scripts/feeds update -a && ./scripts/feeds install -a
-
make defconfig
-
make -j8 download
-
make -j$(($(nproc) + 1)) V=s
如果需要重新配置:
- rm -rf ./tmp && rm -rf .config
- make menuconfig
- make -j$(($(nproc) + 1)) V=s
编译完成后输出路径:bin/targets
由于wsl的PATH路径中包含带有空格的Windows路径,有可能会导致编译失败,请在将make -j1 V=s或make -j$(($(nproc) + 1)) V=s改为
首次编译:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j1 V=s
二次编译:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin make -j$(($(nproc) + 1)) V=s
对了,如果你有安装第三方插件的需求,可以按照下面的命令:
在ubuntu输入命令make menuconfig进入编译页面(如果进不去,是忘了输入cd lede了,没有指定路径),插件都是装在luci-application里面的,接下来就是在github上找到插件的仓库地址,然后命令如下:
cd package/lean/
git clone +XXXX
cd ..
cd ..
make menuconfig
make package/lean/插件名称/compile V=s
插件名称就替换成你要装的那个插件的名字!
注意: 上面初次编译的第6步就是编译固件了,过程需要6个小时左右,非常慢,我编译了两次,不知道怎么回事,始终没有bin后缀的编译文件,不知道哪里出错了,如果是第一次编译,尽量不要选择太多的插件,就默认也好,先走一遍流程,尽量确保第一次成功,不然后面失败率据说有点高,第一次教程说挺重要的!我的这个就暂时不弄了,太慢了,这个文章也是写下来做个记录,不然就很快忘了!
总结:
到这里基本就是等编译结果了,如果编译结束你看代码没有出现任何ERROR的字样,那大概率可能成功了,如果出现了可能就失败了,我以为我的会成功,因为他编译了整整6个小时,结果结果中两次都带有ERROR字样,所以果不其然,根本找不到bin后缀的编译固件,其他插件等ipk文件等倒是都在,简单总结就是,第一步首先安装ubuntu,应该是模拟linux环境,然后就找github大神提供的代码逐步执行就好了,简直是保姆级教学,不过我找了老毛子固件的编译,好像没有写这么详细的,期间遇到什么命令行输入出错之类的,后来就没继续了,因为教程写的不够详细,作为小白出错率就非常高了!大致就这些内容,就当个记录,不然虽然编译了一遍,不记录估计很快就忘了!