LEDE 编译

参考链接

https://www.jianshu.com/p/2a9aa7d841a3

https://www.maxlicheng.com/openwrt/42.html

https://p3terx.com/archives/openwrt-compilation-steps-and-commands.html

http://www.5lazy.cn/post-147.html

https://github.com/coolsnowwolf/lede

欢迎来到Lean的OpenWrt和软件包的git源代码

中文:如何编译自己需要的OpenWrt固件

==注意: 1.不要用root用户git和编译!!! 2.国内用户编译前最好准备好梯子 3.默认登陆IP 192.168.1.1,密码密码==

编译命令如下:

1.首先装好Ubuntu 64bit,推荐Ubuntu 14 LTS x64

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

sudo apt-get -y 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 upx libelf-dev autoconf automake libtool autopoint
git clone https://github.com/coolsnowwolf/lede  #命令下载好源代码
cd lede #进入目录
git pull https://github.com/coolsnowwolf/lede   #更新本地源码
./scripts/feeds update -a 
./scripts/feeds install -a
make menuconfig 

3.最后选好你要的路由,输入

make -j1 V = s

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

本套代码保证肯定可以编译成功。里面包括了R9所有源代码,包括IPK的。

4. 检查依赖软件

运行下面的命令(3选1!),让OpenWrt编译系统检查编译环境中缺失的软件包:

make menuconfig         # 总体配置,推荐使用此命令
make defconfig                  # 默认配置
make prereq                         #
如果以上3个命令都运行了,编译会出错!

根据提示安装对应的软件。如果以前没装过build-essential这个包的话,这次也要安装这个包。

5. 总体配置

make menuconfig 输入以上命令之后,会进入一个命令行图形界面,界面最上面是用法。

<*> 该代码将被放入固件中 (on the SqashFS partition)
< > 该代码将不会被编译
<M> 该代码将被交叉编译,生成的ipk软件包将被放在 /buildsystem/bla/bla/bla, 但该软件包不会放入固件中

以下是我的一些配置。

选择 CPU 型号

Target System 选为 Atheros ARM7xxx/ARM9xxx

选择路由器型号

Target Profile 选为 TP-LINK TP-WR720N

启用 Web 管理界面 LuCI

LuCI → Collections → 选中 luci

添加 LuCI 中文支持

LuCI → Modules → Translations → 选中 Chinese (zh-cn)

添加支持USB自动mount功能

添加USB相关支持
Kernel modules —> USB Support —> <*> kmod-usb-core.
Kernel modules —> USB Support —> <*> kmod-usb-ohci.
Kernel modules —> USB Support —> <*> kmod-usb-uhci.
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2.
添加USB挂载
Base system —> <*>block-mount
添加自动挂载工具
Utilities —> Filesystem —> <*> badblocks
添加文件系统支持
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)
Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)
Kernel modules —> Filesystems —> <*>kmod-NTFS(NTFS选择,具体是什么忘记了,总之有NTFS字样的)
添加UTF8编码,CP437编码,ISO8859-1编码
Kernel modules —> Native Language Support —> <> kmod-nls-utf8
Utilities  ---> disc ---> <> fdisk............. manipulate disk partition table
Utilities  ---> <*> usbutils.................... USB devices listing utilities

6. 内核配置

make kernel_menuconfig 进入文本行图形界面后,开启FPU。

Kernel type → 选中 MIPS FPU Emulator
1.修改主机名,设定时区,IP地址

打开/package/base-files/files/bin/config_generate文件,修改如下

generate_static_system() {
uci -q batch <<-EOF
delete system.@system[0]
add system system
set system.@system[-1].hostname='LEDE'#修改主机名
set system.@system[-1].timezone='Asia/Shanghai'#修改默认时区
lan) ipad=${ipaddr:-"192.168.1.1"} ;;#修改默认IP
2.修改WIFI信息

打开/package/kernel/mac80211/files/lib/wifi/mac80211.sh文件,修改如下

set wireless.radio${devidx}.disabled=0#改为0自动打开wifi
set wireless.default_radio${devidx}=wifi-iface
set wireless.default_radio${devidx}.device=radio${devidx}
set wireless.default_radio${devidx}.network=lan
set wireless.default_radio${devidx}.mode=ap
set wireless.default_radio${devidx}.ssid=LEDE#wifi名称
set wireless.default_radio${devidx}.encryption=psk2#wifi加密方式,没有是none
set wireless.default_radio${devidx}.key=password#wifi密码
3.SSH/TELNET显示信息修改方式:

打开/package/base-files/files/etc/banner文件,修改如下图 openwrt

4.修改路由连接数

打开/package/base-files/files/etc/sysctl.conf文件,修改如下

net.netfilter.nf_conntrack_max=65535#连接数
5.修改默认主题

打开/feeds/luci/collections/luci/Makefile文件,修改如下

LUCI_DEPENDS:= \
	+uhttpd +uhttpd-mod-ubus +luci-mod-admin-full +luci-theme-argon \
	+luci-app-firewall +luci-proto-ppp +libiwinfo-lua \
	+rpcd-mod-rrdns

如下图: theme

6.去除进入管理后台跳转/cgi-bin/luci时页面的输出

打开/package/feeds/luci/luci-base/root/www/index.html文件,修改如下图

index.html

7.去除luci-app-ssr-plus的彩蛋

打开/package/lean/luci-app-ssr-plus/luasrc/controller/shadowsocksr.lua这个加密文件,下载下面的文件解压替换加密的shadowsocksr.lua文件。

下载地址:shadowsocksr.lua.zip

8.WNDR4300开启128兆flash

打开/target/linux/ar71xx/image/legacy.mk文件,修改如下图

flash

==TIPS:修改源码后重新编译需要删除build_dir目录跟staging_dir目录还有tmp目录。==