OpenWrt 开发 (二) 搭建开发环境
来源:互联网 发布:软件开发基础知识 编辑:程序博客网 时间:2024/06/05 09:49
本文主要介绍如何搭建 OpenWrt 的开发环境,大部分资源都来自网络,你可以将它看成是一个资源整理帖,节省搜索时间。OpenWrt 开发环境的搭建大致分为以下几步:
- 安装虚拟机
- 安装 Linux-ubuntu 系统
- 安装和检查编译环境
- 下载 OpenWrt 源码
- 编译
- 部署
一、VirtualBox 和 Ubuntu
1,VirtualBox
我选择的虚拟机是开源免费的 VirtualBox ,你可以在其 官网 方便地下载最新的安装版本和增强包(Extension Pack),而且官网也有 “用户手册”。如果觉得开英文麻烦,可以参考这个 中文教程 。值得注意的是,一定要安装和配置增强包。此外,在各个虚拟机的“设备->增强功能”需要单独安装。如果需要设置“共享文件夹”,可以参考这个链接
2,Ubuntu
同样地,Ubuntu也可以在其 官网 下载,推荐使用32位版本 —— ubuntu-16.04-desktop-i386,它相对占用资源要少,在虚拟机里运行不卡。
- 中文安装教程
- sourcelist总结
- 如何修改sourcelist
- Ubuntu 更新软件源
- 编译环境安装
需要注意的是:
1,更新软件源后,需要运行以下命令进行更新:
sudo apt-get update
关于最新的 source list ,推荐使用 baidu 搜索,难得一次它比 google 的搜索结果更好。
2,《智能路由开发指南》中推荐这样配置编译环境:
sudo apt-get install subversionsudo apt-get install g++ flex patchsudo apt-get install libncurses5-dev zliblg-devsudo apt-get install git-coresudo apt-get install libssl-devsudo apt-get install gawksudo apt-get install xz-util
此外,在 openwrt 源码包中的 README文件中也包含了一份编译环境配置的工具清单。重要的是:需确认这些工具都安装成功了。
一、OpenWrt 源码下载和编译
1,源码下载
OpenWrt社区同时使用SVN和Git两种版本管理工具,其中SVN查看和下载命令如下:
svn list svn://svn.openwrt.org/openwrt/branches/svn co svn://svn.openwrt.org/openwrt/branches/backfire/
SVN版本连接不稳定,推荐使用Git版本,它直接托管在github上,下面的链接给出了各个版本的下载地址:github-openwrt
2,配置和编译
源码编译的过程事实上分为三步:更新软件包、编译配置和make,这些步骤都可以通过读“README”获知。
./scripts/feeds update -a./scripts/feeds install -a
以上命令更新软件包
make defconfig
以上命令检查编译配置
make menuconfig
以上命令开启配置菜单。配置完成后,保存并退出配置菜单,然后就可以开始编译了。
make V=s
以上命令开始编译源码,其中“V=s”是一个编译选项,s - step,它会显示编译过程,方便定位编译错误。
这一部分的内容主要参考 从零开始学习OpenWrt
注意:
编译的过程中一般出现的错误都是“下载某个第三方开源包失败”,这是因为 OpenWrt 的源码中不包含第三方开源包,而只包含链接,在第一次编译的时候会去相干链接上下载,而这些第三方开源包的服务器大多位于境外,经常会导致失败。
如果下载失败,你可以根据错误信息提示自行搜索对应的软件包,下载并放到源码根目录下的 “dl”文件夹中,然后重新 make 。网上有不少这类 OpenWrt 依赖包下载链接,比如 Index of OpenWrt15.05.1
- OpenWrt 开发 (二) 搭建开发环境
- openwrt开发环境搭建
- OpenWrt开发环境搭建
- OpenWRT开发环境搭建
- 我的openwrt学习笔记(二):OpenWrt 开发环境搭建
- OpenWrt mw4530r 开发环境搭建
- centos 搭建Openwrt开发环境
- openwrt开发<2>环境搭建
- OpenWRT(一)开发环境搭建
- 【OpenWRT】快速搭建开发环境
- 搭建OpenWrt开发环境(包括编译过程)
- 从零开始学习OpenWrt(1)搭建开发环境
- 从零开始学习OpenWrt(1)搭建开发环境_补充
- 搭建OpenWrt开发环境(包括编译过程)
- Openwrt学习总结(一)之开发环境的搭建
- 搭建OpenWrt开发环境(包括编译过程)
- 搭建OpenWrt开发环境(包括编译过程)
- 搭建OpenWrt开发环境(包括编译过程)
- jQuery 第一天
- 对CNN中pooling的理解
- Permutations II -Leetcode
- cpu之Memory_Writeback
- windows 下apache安装nts非线程安全的php版本需要的配置
- OpenWrt 开发 (二) 搭建开发环境
- requests入门
- StringBuilder类与string类的区别
- EM算法学习
- (c++)数据结构与算法之图:邻接矩阵、深度广度遍历、构造最小生成树(prim、kruskal算法)
- 每天一个linux命令(3):pwd命令
- Python 递归实现决策树算法
- FreeBASIC学习笔记——8.3 指针与数组
- Authentication failed (rejected by the remote node), please check the Erlang cookie