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