Openwrt学习总结(一)之开发环境的搭建
来源:互联网 发布:提高阅读速度软件 编辑:程序博客网 时间:2024/05/17 21:56
一、Openwrt开发环境的选择
Openwrt作为嵌入式一个开源的Linux开发系统,主要是应用在路由器上,使路由器更加智能。开发环境主要还是Linux,对于Linux开发的菜鸟来说,搭建好的一个开发环境是及其重要的。网上主要有这些选择
- Win7+虚拟机Linux
- 直接在Linux下开发
我的选择主要是Win7和虚拟机Linux,因为习惯了Win7还有就是很多软件是在Linux下没有的(比如没有稳定的QQ)。
二、虚拟机的选择以及系统选择
- VMware Workstation(我选择的是最近版本11)+Ubuntu 12.04(这是网上教程经常用的系统)
- VMware Workstation+redhat(或者其他的Linux发行版本)
- VirtualBox+其他的Linux
这里VMware Workstation是收费软件,而VirtualBox是开源,功能方面VMware Workstation比较简单强大些(毕竟是收费)。我的选择是第一个,当然如果你的熟悉Linux的操作或者你的电脑配置较低推荐你还是装单系统的Linux吧。
安装过程:
- 安装VMware Workstation11
- 安装Ubuntu 12.04
这里我使用VMware Workstation自动安装功能,实在是很方便,但是如果你想熟悉Ubuntu的安装过程就参考其他的教程,我就不详细书写了,Ubuntu的教程很多。
- 新建虚拟机,选择自定义
- 选择你的Ubuntu系统镜像的存放目录
- 填写你的虚拟机信息,接下来都是是默认设置,内存最好是选择2G。
- 硬盘选择50G,源码编译需要大一点空间。
- 新建完虚拟机后,右击设置,将网络断开,不然它自动下载语言包要很长时间,安装时间会很长。
三、Openwrt源码的同步
打开虚拟机,Ctrl+Alt+t调出终端,同时我们虚拟机的Ubuntu用完后挂起就行了,不用直接关闭,下次直接恢复,就不用再开机等待了,同时注意,Openwrt官网上要求编译时不要使用root用户,否则编译不了。
- 安装必要的依赖
sudo apt-updatesudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip
- 下载源码(同步较新的barrier breaker分支)
mkdir openwrtsvn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
- 安装第三方软件
cd barrier_breaker./scripts/feeds update -a(安装所有)./scripts/feeds install -a(更新下载的软件包)
- 检查环境并定制你的固件
make defconfig如果出错,检查错误。
make menuconfig(根据需要定制你的Openwrt固件)
- 编译
make V=s如果出现错误,可能是依赖环境没安装完全或者是你定制的功能的源码没有下载好(国内经常被墙,请自己从别的地方下载无法同步的源码包)。编译需要很长的时间,你可以干点别的事情。第一次编译没问题后,以后可以用
make V=s -j2
开多线程,加快编译速度,-j2和你分配的虚拟机CPU核数有关,好像是核数+1
- 固件生成
0 0
- Openwrt学习总结(一)之开发环境的搭建
- OpenWRT(一)开发环境搭建
- 我的openwrt学习笔记(二):OpenWrt 开发环境搭建
- Android开发学习 之 一、开发环境的搭建
- 从零开始学习OpenWrt(1)搭建开发环境
- 从零开始学习OpenWrt(1)搭建开发环境_补充
- openwrt开发环境搭建
- OpenWrt开发环境搭建
- OpenWRT开发环境搭建
- OpenWrt 开发 (二) 搭建开发环境
- 搭建自己的OpenWrt开发环境
- 搭建自己的OpenWrt开发环境
- 搭建自己的OpenWrt开发环境
- 【整理】搭建自己的OpenWrt开发环境
- Android学习笔记之(一)开发环境搭建
- Android学习笔记之(一)开发环境搭建
- Android学习笔记之(一)开发环境搭建
- Android学习笔记之(一)开发环境搭建
- android wifi调试(无线调试) 一步到位
- Raft算法完全理解手册
- 结构体 struct sockaddr_in, struct sockaddr, struct in_addr
- 使用FinalDb操作数据库出现SqliteConstraintException异常
- .NET中的六个重要概念:栈、堆、值类型、引用类型、装箱和拆箱
- Openwrt学习总结(一)之开发环境的搭建
- 利用Lucene对大文件进行预处理(可运行)
- 【Visual C++】游戏编程学习笔记之七:键盘输入消息
- opendaylight学习笔记
- c++ primer -- 顺序容器
- Struts+Spring之Spring注入失败
- PVOID 型指针
- eclipse修改JSP模板编码为UTF-8
- 凌大坑实验报告模板