ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

转:Ubuntu下编译openwrt

2022-06-17 07:31:07  阅读:223  来源: 互联网

标签:git make dev 编译 Ubuntu feeds openwrt


从网上找的资料,还有自己出现的错误和解决方法,合并整理一下。

不要关掉,请看下去,

很多安装时出错以及找解决方法的过程,已经放在另一篇文章里了,Ubuntu下编译openwrt的过程出错及解决_m0_60027682的博客-CSDN博客

我是个小白,很多都不懂,只想把自己做的过程写得仔细一些,不要喷我啊!只是希望大家遇到我这种问题可以先看我的解决办法,就不用打开很多网页去查找了,其次也是想记录一下自己在这个过程中的心情。

我是跟着视频里面学的,然后这个文章的内容也很多是这位大佬的,只不过我将其他的资料也一起写入了我的文章,没有别的,我就想留着做笔记,并且分享给大家

可以看一下这几个编译的教程

在Ubuntu中编译openwrt(全过程) - 勤劳小虾米 - 博客园

『299』 傻瓜式编译OpenWrt固件全流程丨Ubuntu下基于Lean源码编译融合各种插件_哔哩哔哩_bilibili

从零开始:编译自己的openwrt超详细教程

1、首先装好 Ubuntu 64bit,推荐 Ubuntu 20.04 LTS x64

2、安装之前最好先更新下组件包:

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

或者(我是用的上面的)

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autocnf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git-cor gaw asciido libz-dev

最好再更新一下

sudo apt-get update

sudo apt-get install libssl-dev

3、 使用命令下载好源代码(选其一)

(1)、(官网)下载好后,linux里面建一个目录,上传到Linux,解压(官网下载教程Ubuntu下编译openwrt的过程出错及解决_小蚂蚁t的博客-CSDN博客_编译openwrt出错)

mkdir openwrt//建一个目录
cd openwrt//进去
rz //弹出的框里选择下载好的文件,反正就是把下载的压缩包上传到linux
tar -zxvf openwrt-b2ae423.tar.gz//解压

cd openwrt-b2ae423//进入这个文件

(2)、新建一个openwrt目录,使用命令:

mkdir openwrt

sudo chmod 777 openwrt

接下来的所有命令都在/openwrt目录下运行(编译系统的绝对路径中不能含有空格)。

通过git来下载

从官方源下载:git clone git://git.openwrt.org/openwrt.git

或者:git clone https://github.com/openwrt/openwrt.git

或者下载15.05的: git clone git://git.openwrt.org/15.05/openwrt.git,下载时间比较漫长,请耐心等待。

进入目录

输入 ls ,检查其中有没有scripts目录(没有就从重新下载源码开始)可以看到下一步我的有,哈哈,终于下载对了

 

4、缝合一些其他插件(可不做)

原地址:https://github.com/kenzok8/openwrt-packages

添加下面代码复制到 lede源码根目录 feeds.conf.default 文件

src-git kenzo https://github.com/kenzok8/openwrt-packages

src-git small https://github.com/kenzok8/small

添加软件扩展包,将feeds.conf.default修改为feeds.conf:(别的地方有,但是我没做这步)

cp feeds.conf.default feeds.conf

vim feeds.conf.default(别的地方有,但是我没做这步)

建议删掉最后一行最前面的#号,

像这样子

src-git helloworld https://github.com/fw876/helloworld

5、更新软件包,安装最新包,

更新包列表:./scripts/feeds update -a

集成到menuconfig:./scripts/feeds install -a

测试编译环境:make menuconfig

6、编译前关于平台、核心、型号的设置(第一二三大项);

这里是一个插件应用说明

https://www.right.com.cn/forum/thread-344825-1-1.html

更多设置放在后面。

然后更改选项Target system项、Subtarget项 以及 Target Profile项(回车进入,上下移动,后面不再重复),根据你所选用的设备来进行更改。

7:第一次编译耗时非常长也主要是因为要下载各种包(主要取决于网速),第二次就快很多了

make V=99(这个就行,下面都不用了,注意是大写的V)

make -j8 download V=s

make -j1 V=s

make V=s

(-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。

编译完后

 

编译完成后的文件地址

 

(略)scp -r 用户名@服务器地址:/openwrt/source/bin/targets/ramips/mt7620/本地地址

再次编译

make clean

make V=99

其他设置
开启IPV6

选上extra packages——ipv6helper

在 Network – Firewall – ip6tables 下启用 ip6tables-extra 和 ip6tables-mod-nat 项。

更改LAN口的默认IP地址

cd lede

vim package/base-files/files/bin/config_generate

大概在99行找到我们默认的原IP地址(192.168.1.1),按“i”把对应的IP更改即可

然后按shift+: 输入wq回车保存退出

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

Target Images ---> (16) Kernel partition size (in MB) #默认是 (16) 建议修改 (256)

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

如果需要 Cloudflare DDNS 组件

默认情况下 Open­Wrt 中并没有 Cloud­flare DDNS 功能,就算勾选了DDNS也不包含cloudflare运营商。所以需要在编译时选择相应的组件,其位置在 Network→IP Addresses and Names →ddns-scripets_cloudflare.com-v4
————————————————
版权声明:本文为CSDN博主「小蚂蚁t」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_60027682/article/details/120974979

 

原帖链接:Ubuntu下编译openwrt_小蚂蚁t的博客-CSDN博客_ubuntu编译openwrt

标签:git,make,dev,编译,Ubuntu,feeds,openwrt
来源: https://www.cnblogs.com/cnls/p/16384320.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有