本文最后更新于 2025-02-18,文章内容可能已经过时。

在众多主流路由器固件中,OpenWrt以其独特的灵活性脱颖而出。它不仅仅是一个嵌入式的Linux发行版,更是一个提供了完全可写文件系统的平台,让用户可以根据需求自由选择和配置应用程序,从而实现设备的个性化定制。

以下是一篇关于如何编译专属Openwrt固件的文章,旨在帮助读者深入了解并掌握Lean大佬源码的定制过程。


编译专属Openwrt固件指南

一、准备工作

在开始编译前,您需要准备以下工具和系统环境:

  • 服务器系统:64位Ubuntu系统(推荐Ubuntu 20.04)

  • CPU:至少1核(编译时仅使用1线程)

  • 内存:4G

  • 硬盘:建议50G或以上,以确保编译过程中有足够的临时存储空间

二、配置并安装环境

在配置环境时,请注意以下几点:

  1. 不要使用root用户进行git操作和编译。

  2. 国内用户在编译前最好准备梯子,以确保编译过程的顺畅。

  3. 更改包源地址,推荐使用阿里源。

以下是更改源地址的命令:

vi /etc/apt/sources.list

替换为以下内容:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
# ...(其他行同理)

更新源并安装所需的相关包:

sudo apt-get update
sudo apt-get upgrade
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

三、下载Lean大OpenWrt源码

git clone https://github.com/coolsnowwolf/lede #下载源代码
cd lede #进入目录

接下来,缝合其他源:

sed -i '$a src-git kenzo https://github.com/kenzok8/openwrt-packages' feeds.conf.default
sed -i '$a src-git small https://github.com/kenzok8/small' feeds.conf.default
git pull
./scripts/feeds update -a
./scripts/feeds install -a

四、固件配置与编译

在固件配置时,您可以根据需要配置IPv6支持、VMware工具、LAN口默认IP地址等。此外,编译丰富插件时,建议调整内核分区和根文件系统分区的大小,以确保有足够的插件空间。

配置完成后,执行以下命令开始编译:

make menuconfig
make download -j8
export FORCE_UNSAFE_CONFIGRE=1
make V=s -j1

首次编译时间可能会较长,通常在4-8小时之间。编译完成后,固件将存放在~/lede/bin/targets/目录中。

五、总结

通过以上步骤,您将能够编译出专属于自己的Openwrt固件。编译完成后,记得使用默认的登录IP(192.168.1.1)和密码(password)进行配置。如果更改过IP,请使用新的IP地址登录。

编译Openwrt固件是一个充满挑战和乐趣的过程,希望本文能够为您提供帮助和指导。