Widora的编译过程

做好的虚拟机

https://pan.baidu.com/s/1HyuF0Oe-rvca8KoufMXemg 分卷解压,系统密码:111111

搭建编译环境

编译OpenWrt需要Linux环境或mac环境。

Linux(建议使用Ubuntu16.04)https://mirrors.ustc.edu.cn/

注意1: 在Ubuntu18.04上编译将无法通过,所以推荐使用低版本编译
注意2: 如果提示找不到openjdk-8-jdk,可以试试openjdk-7-jdk
注意3: 十分不建议在WSL环境下编译,奇怪问题太多
编译前要安装以下依赖:

$ sudo apt-get update $ sudo apt-get install git g++ make libncurses5-dev subversion libssl-dev gawk libxml-parser-perl unzip wget python xz-utils vim zlibc zlib1g zlib1g-dev openjdk-8-jdk build-essential ccache gettext xsltproc

如果是64位,需要多操作如下步骤:

$ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

macOS(未测试Catalina)

首先从APP Store中安装Xcode command line tools,再安装[brew]工具,接下来使用brew安装依赖:

$ brew install coreutils findutils gawk gnu-getopt gnu-tar grep wget quilt xz

编译中极有可能碰到getopt和xgettext问题,碰到后做以下两步:

$ brew ln gnu-getopt --force $ ln -s /usr/local/Cellar/gettext/0.18.1.1/bin/xgettext xgettext

如果编译过程中有"date illegal option"错误,因为macos里默认的date不是GNU的date,参数有些差异,可以这样:

$ cd /usr/local/bin/ $ ln -s gdate date

重新打开终端后生效,此时

localhost:~ mango$ date --v date (GNU coreutils) 8.29 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David MacKenzie.

下载源码

下载代码,master分支

$ git clone https://github.com/widora/openwrt_widora.git

如果太慢就用镜像地址

$ git clone https://github.com.cnpmjs.org/widora/openwrt_widora.git

更新源码

$ git pull

更新完后,由于本地编译环境有上次的残留,会造成异常,最好做如下清理工作(在openwrt_widora文件夹目录内):

make clean /scripts/feeds update -a /scripts/feeds install -a rm -r tmp/ rm .config

重启ubuntu系统后

make menuconfig

编译
下载依赖

$make download V=s

在国内编译OpenWrt很困难,有很多包被墙无法下载。我们提供了一个dl镜像的链接:https://pan.baidu.com/s/1j9qZ2G7zyF7h5YF3nQJ4SA

更新并安装软件包

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

配置OpenWrt

$ rm .config $ make menuconfig

选择项 16MB+128MB配置(BIT3 BIT4,16MB FLASH):

Target System: Ralink RT288x/RT3xxx Subtarget: MT7688 based boards Target Profile: WIDORA16128

32MB+128MB配置(BIT3 BIT4,32MB FLASH):

Target System: Ralink RT288x/RT3xxx Subtarget: MT7688 based boards Target Profile: WIDORA32128

16MB+64MB配置(BIT5,16MB FLASH):

Target System: Ralink RT288x/RT3xxx Subtarget: MT7688 based boards Target Profile: WIDORA1664

32MB+64MB配置(BIT5,32MB FLASH):

Target System: Ralink RT288x/RT3xxx Subtarget: MT7688 based boards Target Profile: WIDORA3264

保存退出

发现有时候由于环境的差异,选择WIDORA后其他的依赖没有自动被处理好,这里上传一份我本地选择WIDORA32128后的".config"文件,方便大家出问题后替换。https://widora.io/_media/1.config.txt

快速编译命令是

$ make -j4

可能会由于环境或网络问题出错,想查看错误信息需要用 $ make V=s 命令
整个编译在dl文件夹完整的情况下持续1个小时左右,编译完会在bin/ramips目录生成固件,大概6MB,名字类似如下:

openwrt-ramips-mt7688-WIDORAxxxx-squashfs-sysupgrade.bin

__EOF__

本文作者甜腻
本文链接https://www.cnblogs.com/sbkill1r/p/14115667.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   甜腻  阅读(964)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示