编译 Openwrt 固件

前期准备

安装好 Ubuntu 64bit,推荐 Ubuntu 18 LTS x64(虚拟机,物理机都可以)

更新系统

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

下载 LeanOpenWrt 源码

git clone https://github.com/coolsnowwolf/lede

注意!!!

不要用 root 用户 git 和编译!!!

国内用户编译前最好准备好梯子

默认登陆IP 192.168.1.1, 密码 password

 

添加插件源

修改 feeds.conf.default ,添加 LienolOpenWRT 插件源

src-git lienol https://github.com/Lienol/openwrt-package

添加 luci-app-serverchan 

cd lede
cd package
git clone https://github.com/tty228/luci-app-serverchan.git

更新插件

cd lede
./scripts/feeds update -a
./scripts/feeds install -a

进入菜单

make menuconfig

 

开始定制

本次以编译软路由固件为教程

进入 Target System (x86)

编译 Openwrt 固件

上下方向调整到 x86 并按 Enter 键选择

编译 Openwrt 固件

进入 Subtarget (x86_64)

编译 Openwrt 固件

上下方向调整到 x86_64 并按 Enter 键选择

编译 Openwrt 固件

进入 Target Images

编译 Openwrt 固件

选择编译输出固件格式,一般用默认设置即可

如果固件用于虚拟机环境下,需要选择相应虚拟机环境的文件格式

编译 Openwrt 固件

配置固件支持 ipv6 ,进入 Extra Packages

编译 Openwrt 固件

上下方向调整到 ipv6helper 并按 Space 空格键键选择

编译 Openwrt 固件

以下模块为自动选择

Network  --->  odhcp6c
Network  --->  odhcpd-ipv6only
LuCI  --->  Protocols  --->  luci-proto-ipv6
LuCI  --->  Protocols  --->  luci-proto-ppp

若固件用于 ESXI 或者 VMware ,则需要安装 open-vm-tools-fuse

进入Utilities

编译 Openwrt 固件

上下方向调整到 open-vm-tools-fuse 并按 Space 空格键键选择

编译 Openwrt 固件

进入 Luci-->Applications

编译 Openwrt 固件

编译 Openwrt 固件

选择安装相应的插件

Applications 添加插件应用说明

编译 Openwrt 固件

选择完成后保存设置,方向键选择到 Save,保存配置

编译 Openwrt 固件

编译 Openwrt 固件

开始编译

下载 dl 库,(国内请尽量全局科学上网)

make -j8 download V=s

开始编译(-j1 后面是线程数。第一次编译推荐用单线程),首次编译时间比较长,请耐心等待,之后二次编译会快很多。

make -j1 V=s

编译成功

编译 Openwrt 固件

编译成功后,固件位置在 /lede/bin/targets/x86/64

编译 Openwrt 固件

 

二次编译

cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s

如果需要重新配置,则

rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s

 

本文作者:Drixn

本文链接:https://www.drixn.com/2368.html

版权申明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

文章有些内容具有时效性,如有问题,可留言联系博主!