Openwrt/LEDE编译那些事儿
编译Openwrt/LEDE系统,能够在保证兼容性和稳定性的前提下,定制出一个干净的、符合自己需求的固件。本文以lean维护的lede源码为例,讲述一个萌新的编译经历
准备
1、Ubuntu 14.04/16.04 LTS x64 所有操作在非root用户下执行
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
2、全局外网环境
# Ubuntu下设置代理,关闭终端后自动失效
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
# 手动取消代理
export -n http_proxy
export -n https_proxy
编译
1、首次编译
# 下载源码
git clone https://github.com/coolsnowwolf/lede
# 进入编译主目录
cd lede
# 更新并安装feeds源
./scripts/feeds update -a
./scripts/feeds install -a
# 打开配置
make menuconfig
# 开始编译
make -j1 V=s
2、非首次编译
# 进入编译主目录
cd lede
# 清理工作,根据需要选择
# 1、删除临时文件目录
rm -rf ./tmp
# 2、删除配置文件
rm -rf .config
# 3、删除bin、build_dir文件,即清理上次编译成果打包前后的文件
make clean
# 4、make clean再删除staging_dir、toolchain、logs,即清除编译结果、交叉编译链工具以及工具链目录
make dirclean
# 5、make dirclean再删除dl、.config,即清除除首次git下载外所有内容
make distclean
# 更新源码,更新并安装feeds源
git pull
./scripts/feeds update -a
./scripts/feeds install -a
# 打开配置
make menuconfig
# 开始编译, -j5的5为编译进程数量,可以设置为电脑cpu核心数+1
make -j5 V=s
固件路径
编译完成后,编译好的固件在lede目录下的bin/targets
中,ipk安装包则在lede目录下的bin/packages
中
20230812 现已直接偷懒使用在线定制网站https://supes.top/