ubuntu/debian 下自行编译 OpenWRT 固件

首先声明,自行编译是一个自我折腾的过程,没时间或精力就不要试了,这里介绍个人尝试在ubuntu/debian 下编译OpenWRT固件和应用SDK 的过程。

一般推荐 ubuntu 系统,最新的 LTS 版即可。系统要求,内存 1-4 GB(编译x86固件需要4GB内存),空间20GB以上。关键是外网连接速度要快,否则一天一夜都下不完。建议在国外VPS里编译。

ubuntu/debian 下自行编译 OpenWRT 固件或 SDK

安装依赖

添加用户,必须在非 root 用户下编译

1
adduser qwe

切换到 root 用户,运行 visudo 命令

找到 root ALL=(ALL) ALL ,在下面添加一行 xxx ALL=(ALL) ALL 其中 xxx 是要加入的用户名称

1
2
3
4
5
6
apt-get update
sudo apt-get install git-core build-essential libssl-dev libncurses5-dev unzip gawk zlib1g-dev python python-dev openssl
sudo apt-get install flex bison autoconf texinfo asciidoc
sudo apt-get install ccache
sudo apt-get install libmnl-dev
sudo apt-get install libevent-dev

下载源码

1
2
git clone https://github.com/openwrt/openwrt.git
cd openwrt

如果要编译其它的包,如果没有就略过下面一步

1
2
3
cd package
git clone https://github.com/xxx.git
git clone https://github.com/xxxx.git

更新下载并安装所有可用的 feeds

1
2
3
4
cd ~/openwrt

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

构建基础环境

1
make menuconfig

  • Target System 选中’(Atheros AR7xxx/AR9xxx)’
  • Subtarget 选中 ‘(Genaric devices with NAND flsh)’
  • Target Profile 选中’(NETGEAR WNDR3700v4/WNDR4300)’

选择好路由器型号之后 save,则可以执行

1
make defconfig

可选配置

再次执行:

1
make menuconfig

选择自己所需要安装的包。

1
save -> exit

执行 scripts/diffconfig.sh > diffconfig 保存修改内容至 diffconfig 文件

开始编译

1
make -j1 V=s

在虚拟机中大概编译了一个半到二个小时,大多数时间都在下载,所以要保持网络通畅

编译好了之后可在 bin/xxx 目录找到生成的固件 openwrt-xxx-squashfs-factory.binopenwrt-xxx-squashfs-sysupgrade.bin

已经安装了 OpenWrt 那么可用 sysupgrade 固件进行升级,会保留用户数据(也可选不保留) factory 固件在第一次刷机的时候使用

本文网址: https://pylist.com/topic/210.html 转摘请注明来源

Suggested Topics

Ubuntu 或其它 GNU/Linux 系统下安装 Debian

家有老电脑不用就折腾不止,前段时间曾折腾一台老电脑,2007年上市,只支持 i386 系统,不支持U盘启动,在 winxp 系统下装了 Ubuntu,现在突发奇想,要在 Ubuntu 上安装 Debian。...

Ubuntu/Debian 查看CPU温度的方法

刚 DIY 一个小主机,因为使用功率很低的CPU,买了一个金钱豹2U散热器,风扇声音很大,就把风扇拆下来,只使用下面的铜块。就得对CPU问寒问暖,时刻了解它的温度。...

WNDR4300 固件升级到 OpenWrt 最新版

Netgear WNDR4300 (v1) 是最经典的能刷openwrt及其分支的路由器,属于性价比比较好的一款。经得起折腾,升级、变砖、恢复,能折腾的都试了。确实是实战中一款耐刷的路由战斗机。...

Openwrt 路由上开启BBR

BBR 是一种协议算法,在 Openwrt 路由上启用 BBR 还是有一定作用的。 Openwrt 18.* 后都自带模块 `kmod-tcp-bbr` 安装就可以。...

Ubuntu 16.04.6 LTS 系统上安装 Python 3.6.3

自己的阿里云一个 VPS 用的是系统 Ubuntu 16.04.6 LTS,自带的python版本是 `2.7.12` 与 `3.5.2`,有时候要用到 python `3.6`,又不想卸掉原来版本。下面介绍安装 python 3.6.3 的过程,因为版本较旧,遇到一些坑,这里记录一下。...

Leave a Comment