20230813001533.webp

OpenWrt可以被描述为一个嵌入式的 Linux 发行版。(主流路由器固件有 dd-wrt,tomato,openwrt三类)对比一个单一的、静态的系统,OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。

本文为捣鼓以Lean大佬的源码定制编译专属于自己的Openwrt固件。

需要准备的工具:

  • 服务器系统:64位Ubuntu系统
  • 系统环境
    系统要求:Ubuntu 20.04
    CPU:1 核即可,因为编译时只用 1 线程
    内存:4G
    硬盘:建议直接 50G或更大,防止因临时存储不足导致编译失败
    配置并安装环境
  • 首先要注意:
    不要用 root 用户 git 和编译!!!
    国内用户编译前最好准备好梯子
  • 更改包源地址
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
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  • 更新源
sudo apt-get update
sudo apt-get upgrade
  • 安装所需相关包
apt update
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
make menuconfig
ESC :wq Enter #编辑完成后vim的保存并退出命令
  • 更新及安装软件源
cd /home/kls/lede
./scripts/feeds update -a && ./scripts/feeds install -a
  • 固件配置
make menuconfig

基本则需配置

  • 其他参数配置支持 iPv6:
    1、Extra packages —> ipv6helper (选定这个后下面几项自动选择了)
Network —> odhcp6c
Network —> odhcpd-ipv6only
LuCI —> Protocols —> luci-proto-ipv6
LuCI —> Protocols —> luci-proto-ppp

2、打开适用于VMware的VM Tools

Utilities —> open-vm-tools #打开适用于VMware的VM Tools
Utilities —> open-vm-tools-fuse #打开适用于VMware的VM Tools

3、更改LAN口的默认IP地址

cd lede
vi package/base-files/files/bin/config_generate
##大概在99行找到我们默认的原IP地址(192.168.1.1),按“i”把对应的IP更改即可然后按shift+: 输入wq回车保存退出

4、编译丰富插件时,建议修改下面两项默认大小,留足插件空间。( x86/64 )!!!

Target Images —> (16) Kernel partition size (in MB) #默认是 (16) 建议修改 (256)
Target Images —> (160) Root filesystem partition size (in MB) #默认是 (160) 建议修改 (512)

菜单对照

菜单对照

OpenWrt Configuration【OpenWrt配置】Target System (x86) —> 目标系统(x86)
Subtarget (x86_64) —> 子目标(x86_64)
Target Profile (Generic) —>目标配置文件(通用)
Target Images —> 保存目标镜像的格式
Global build settings —> 全局构建设置
Advanced configuration options (for developers) —- 高级配置选项(适用于开发人员)
Build the OpenWrt Image Builder 构建OpenWrt图像生成器
Build the OpenWrt SDK构建OpenWrt SDK
Package the OpenWrt-based Toolchain打包基于OpenWrt的工具链
Image configuration —>图像配置
Base system —> 基本系统
Administration —> 管理
Boot Loaders —>引导加载程序
Development —> 开发
Extra packages —> 额外包
Firmware —>固件
Fonts —>字体
Kernel modules —> 内核模块
Languages —>语言
Libraries —> 图书馆
LuCI —> LuCI
Mail —>邮件
Multimedia —>多媒体
Network —>网络
Sound —> 声音
Utilities —>实用程序
Xorg —>Xorg
  • 首次编译-
./scripts/feeds update -a #更新软件源
./scripts/feeds install -a #安装软件
make menuconfig #固件配置
make download -j8 #下载dl库(国内请尽量全局科学上网)
export FORCE_UNSAFE_CONFIGRE=1 #root账户下需要输入 变量后在执行 
输入 make V=s -j1 (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了
make download -j8
make V=s -j5

root账户下需要输入 变量后在执行 'export FORCE_UNSAFE_CONFIGRE=1'

首次编译时间较长,根据配置和网络决定一般4-8小时不定
编译完成后,固件将被存放在【~/lede/bin/targets/】目录中。
本文编译的是x86软路由固件,故固件存放在【~/lede/bin/targets//x86/64】中。
注:默认登陆IP 192.168.1.1, 密码 password #更改过的请使用更改ip

标签:openwrt编译路由器系统
文章End结束

本文标题:自编译openwrt打造个人定制路由

本文链接:https://kls.red/38.html

除非另有说明,本作品遵循CC 4.0 BY-SA 版权协议

声明:转载请注明文章来源。

最后修改:2024 年 08 月 22 日
如果觉得我的文章对你有用,请随意赞赏