如何从头开始编译OpenWRT(LEDE)固件【精益大源码】
2019 年 10 月 6 日 0 条评论 16.76k 次阅读 6 人喜欢该博主
1.编译环境,我使用的是Deepin15.7系统(64位版本),也可以使用Ubuntu16.04LTS64位版本
2.按CTRL+ALT+T进入终端,更新软件列表,下载并安装更新。
(注意:只能使用非root账户,用root用户编译会出错。)
sudo apt-get update
sudo apt-get upgrade
3、安装基础环境:
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
4、下载源码,完善工作目录,进入工作目录。
使用
git clone https://github.com/coolsnowwolf/lede
下载源代码的命令,
然后输入cdlede单步进入工作目录lede
5.更新软件包(feeds是一些插件)
./scripts/feeds update -a
./scripts/feeds install -a
6.测试编译环境:
make defconfig
7. 配置固件菜单:
make menuconfig
选择Soc,型号,表示将软件包编译成固件,表示软件包会编译,但不会编译成固件。
Tim选择选择CPU型号和路由器型号,表示软件包会编译到固件中,表示软件包会被编译,但不会编译到固件中。
这里以斐讯K2PSG1218为例:
目标系统-->MediaTekRalikMIPS
子目标-->MT7620 主板
目标图像-->斐讯PSG1218
添加luci网页界面
LuCI-->收藏-->luci
添加繁体英语
LuCI-->模块-->翻译-->中文(zh-cn)
添加网页界面主题
LuCI-->主题-->luci-theme-openwrt(选择你喜欢的主题)
设置完成后,保存,最后选择退出。
8.提前下载dl库,防止下载导致编译失败。
make download V=s
9. 文件下载完成后,开始编译固件。
make V=99 -j2
#-j参数设置为全速编译(-j参数可能会导致系统死机LEDE编译源码选项,不建议使用旧机器)
----编译进行中----
再次漫长的等待,更长的第一次。
10.生成的bin文件路径:bin/targets/系列名/
11、编译出来的固件名称格式为lede-xxxx-generic-xxx-squashfs-sysupgrade.bin,将bin文件复制到U盘或者笔记本电脑桌面,在breed下刷入固件,登录192.168.1.1在浏览器中,使用LEDE管理界面。
12、如果再次编译,需要先删除build_dir目录下的配置文件。 或者执行命令makeclean
以下是个性化设置:
x86 编译点
1、编译所有文件系统支持,包括ext2/ext3/ext4、NTFS、甚至LVM;
2、添加文本编辑器,比如vim或者nano,因为日常使用中需要使用文本编辑器来更改各种配置文件;
3、添加无线网卡的所有驱动、模块以及各种支持程序;
4.其他一些常见的应用——蓝牙、加密、PGP、SSL、SSH、虚拟**、USB支持、3G网卡;
5、编译时需要从网上下载相关源码,所以尽量不要选择编译以后可以下载的包;
6、编译后的文件在当前目录的bin文件夹中。 如果是brcm-2.4,可以在lsbin/brcm-2.4/中看到很多熟悉的文件。
设置上述组件时,仅简化了该模型未使用的 USB 模块和 IPv6 支持,以便为英语和 Material 主题腾出空间。 其他没改,所以第一次登录还是中文界面LEDE编译源码选项,需要自动选择英文。 为了方便起见,您可以在源代码中更改默认语言、主题、时区、主机名、IP地址、wifi等。
要更改默认语言主题:
更改 vimfeeds/luci/modules/luci-base/root/etc/config/luci 文件
config core main
option lang "zh_cn"
option mediaurlbase /luci-static/material
option resourcebase /luci-static/resources
config internal languages
option zh_cn "普通话 (Chinese)"
config internal themes
option Bootstrap "/luci-static/bootstrap"
option Material "/luci-static/material"
更改主机名、设置时区、IP 地址
换地点:
vim package/base-files/files/bin/config_generate
生成静态系统(){
在uci-qbatchFileTransfer中选择
卷曲
获取
【两个下载工具】
在网络->IP 地址和名称中选择
绑定挖掘
ddns-scripts_No-IP_com。 (用于支持no-ip.com的ddns服务)
一是测试工具; 另一种是某个ddns支持,还有其他ddns支持,也可以酌情选择。
在网络->路由和重定向中选择
ip 完整
这个非常重要。
在网络中选择
iperf3
IP集
一是测试工具;
另一个是ipset,用于支持基于域的xx。
如果需要使用 SS,则 Network->WebServers/Proxies 选择这些 SS。
实用工具->选择的编辑器
nano(也可以选择vim)
在“实用程序”->“外壳”中选择
巴什
单击“保存”以另存为 .config。
一路退出即可退出。 输入make开始编译。