VMware下用Ubuntu编译自己的Openwrt——②

2021-11-01 14:51:36 10点赞 78收藏 15评论

本次编译是记录自己根据大神们的资料折腾的所有过程,包括VMware——Ubuntu——首次编译全过程!本文为Openwrt首次编译全过程。

一、固件源码

1、Lean的固件源码

首先我选择的是恩山大神Lean的固件源码(自己网上找),Lean大神的源码是根据原版OpenWrt项目,整合优化了很多适合国内使用的插件,可根据自己需求编译进自己的固件。

VMware下用Ubuntu编译自己的Openwrt——②

2、注意事项

1)、不要用 root 用户进行编译!!!

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

3)、默认登陆IP 192.168.1.1 密码 password

二、首次编译:

1、准备工作

已经在VMware下用Ubuntu编译自己的Openwrt——①搭建好需要的环境,包括虚拟机装好 Ubuntu 20.04 LTS x64。

VMware下用Ubuntu编译自己的Openwrt——②

2、更新组件

打开终端(ctrl+alt+t)输入

输入代码:sudo apt-get update

VMware下用Ubuntu编译自己的Openwrt——②

3、下载安装编译环境

输入代码: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

VMware下用Ubuntu编译自己的Openwrt——②

显示this may take some time…done就是部署完成了

VMware下用Ubuntu编译自己的Openwrt——②

4、拉取源代码

输入代码:git clone (openwrt的源码,注意空格)

如果没有安装git,执行此命令会报错,请输入代码apt install -y git或者输入代码sudo apt-get install git进行安装。

VMware下用Ubuntu编译自己的Openwrt——②

5、进入源码目录

输入代码:cd lede

VMware下用Ubuntu编译自己的Openwrt——②

6、添加部分插件

添加部分插件源,以添加Helloword插件为例,不需要的可跳过这步。

6.1、修改lede目录下feeds默认配置

输入代码:vi feeds.conf.default

VMware下用Ubuntu编译自己的Openwrt——②

6.2、追加源地址

输入代码:src-git helloworld (hellowrld插件地址,注意空格)

按i进行编译,拷贝进去后esc退出编译,注意前面没有#号,输入:wq回车退出 *前面没有#为可执行,前面有 #为不可执行。

VMware下用Ubuntu编译自己的Openwrt——②

6.3、删除旧配置

输入代码:rm -rf ./tmp && rm -rf .config

6.4、清理 feeds

输入代码:./scripts/feeds clean

VMware下用Ubuntu编译自己的Openwrt——②

7、更新Feeds

输入代码:./scripts/feeds update -a

VMware下用Ubuntu编译自己的Openwrt——②

8、安装Feeds

输入代码:./scripts/feeds install -a

VMware下用Ubuntu编译自己的Openwrt——②

9、进入编译配置菜单

输入代码:make menuconfig

注意窗口大小,如果有报错,大概率是因为你的窗口太小,拉大点,不然不够显示编译窗口的。

VMware下用Ubuntu编译自己的Openwrt——②

9.1、进入编辑器

VMware下用Ubuntu编译自己的Openwrt——②

9.2、固件空间设置

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

进入 Target Images

VMware下用Ubuntu编译自己的Openwrt——②

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

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

VMware下用Ubuntu编译自己的Openwrt——②

9.3、支持ipv6

进入Extra packages

VMware下用Ubuntu编译自己的Openwrt——②

进入 Extra packages —— ipv6helper

VMware下用Ubuntu编译自己的Openwrt——②

9.4、LuCI编译插件(重点)

选择LuCI目录

VMware下用Ubuntu编译自己的Openwrt——②

选择Applications选择插件

VMware下用Ubuntu编译自己的Openwrt——②

Applications 目录下按照需要配置插件,可参照恩山OpenWrt 编译 LuCI -> Applications 添加插件应用说明-L大这篇文章选择插件。

选项操作:使用空格键选择: * 代表编入固件,M 表示编译成模块或者IPK包,空 不编译 。

VMware下用Ubuntu编译自己的Openwrt——②

10、下载dl库(速度很慢,需耐心等待)

输入代码:make -j8 download V=s

VMware下用Ubuntu编译自己的Openwrt——②

11、开始编译

输入代码: make -j1 V=s

-j1 后面是线程数。第一次编译推荐用单线程以后可以使用make -j$(($(nproc) + 1)) V=s。

VMware下用Ubuntu编译自己的Openwrt——②

编译完成

编译完成后文件存在根目录lede-bin-targets-x86-64文件夹内。

总结

由于网络原因我单线程编译了4个小时,正常应该在2.5-3个小时编译完成,二次编译使用命令make -j$(($(nproc) + 1)) V=s ,可在20分钟左右完成编译,二次编译详情可关注下一篇文章。

展开 收起
15评论

  • 精彩
  • 最新
  • 就成功过一次,后来还是放弃了。

    校验提示文案

    提交
    很简单 前提有梯子

    校验提示文案

    提交
    该有的都有,经常报一些莫名其妙的错误,看也看不懂,也没办法找问题,就放弃了

    校验提示文案

    提交
    还有6条回复
    收起所有回复
  • 其实用hyper-v也可以

    校验提示文案

    提交
  • 请问自己编译的和下下来的有什么区别吗

    校验提示文案

    提交
    总体没什么大区别,该有的基础功能都有。自己编译可能会有一定的成就感,自己编的固件可以更精简。

    校验提示文案

    提交
    自己编译更安全 不怕后门

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大佬,求推荐个好梯子,每次都卡在下库的环节,某个库死活下不来导致流程就卡了

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
78
扫一下,分享更方便,购买更轻松