编译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 autopoint2、全局外网环境

# 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=s2、非首次编译

# 进入编译主目录

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/