OpenWRT学习笔记(1)环境部署代码下载及编译
来源:互联网 发布:网络创世纪uo官网 编辑:程序博客网 时间:2024/05/16 12:05
一 . 安装虚拟机,我选择安装ubuntu14.04版本。
二. 安装编译工具
更新ubuntu软件仓库中软件包的索引文件。
sudo apt-get update
安装如下工具:
sudo apt-get install subversion
sudo apt-get install g++ flex patch
sudo apt-get install libncurses5-dev zlib1g-dev
sudo apt-get install git-core
sudo apt-get install libssl-dev
sudo apt-get install gawk
sudo apt-get install xz-utils
subversion 版本管理工具。
g++ GNU 工程的c/c++编译工具。
FLEX (The Fast Lexical Analyzer) 一个快速词法分析工具。
patch 是将diff文件应用到原始文件的工具。打补丁。
libncurses5-dev 用于屏幕终端控制。
zlib1g-dev 是压缩及解压缩开发库。
git-core 大型工程的分布式管理工具。
libssl-dev 是openssl开发库。
gawk 是GNU工程实践的awk语言工具。
xz-util 是xz格式的压缩工具。
三. 下载代码
OpenWrt社区同时使用svn和git 两种工具来管理代码, svn管理代码通常会创建 tags,branches和truck 3个目录管理代码。
truck 目录用来保存开发的主线,一般最新的功能均在trunk目录提交。
braches目录存放分支,用于功能开发完成之后创建分支,修改bug及发布版本使用。
tags目录保存标签复制,一个标签是一个项目在某一时间点的快照,用来给发布版本的代码创建快照,以便多数开发人员基于这个版本进行开发。一般永远不再修改。
openwrt代码在2016年3月将代码库由svn彻底转到github提供的git托管空间上,因此我们使用git命令来下载代码。
openwrt 3个主要版本
增加大量的3G/4G调制解调器支持
Netfliter性能增加
网络栈多核支持
DNSSEC增强支持
增加procd新的preinit,init,热拔插及时间通知机制
原生IPV6支持
文件系统增强
UCI配置增强
网络功能增强
增加并行编译支持
使用密文密码
无线驱动更新及稳定性增强
新平台支持:ramips,bcm2708等等
我选择BB发布代码进行编译,因此使用目录bb下载代码
mkdir openwrt_bb
chmod 777 openwrt_bb
cd openwrt_bb
git clone git://git.openwrt.org/14.07/openwrt.git bb
四. 代码下载完成,开始配置和编译。
1. 更新和安装所有可选软件包
./scripts/feeds update //更新最新的包定义
./scripts/feeds install -a //安装所有包
feeds命令将安装扩展代码包编译选项,如果不运行该命令,在menuconfig配置时将没有选择这些扩展包的机会。
2. 进行编译配置
make defconfig
make menuconfig
选择自己所需的配置
3. 编译
make V=s 输出编译时每一个动作.
- OpenWRT学习笔记(1)环境部署代码下载及编译
- 我的openwrt学习笔记(六):MTK的OpenWrt系统编译以及下载
- 我的openwrt学习笔记(四):OpenWrt源代码下载
- openWrt从源码下载到编译(开发环境搭建)
- Openwrt 学习记录:编译环境安装及目录介绍(一)
- openWrt编译环境搭建及编译
- OpenWrt:openwrt的下载安装、建立编译环境
- OpenWrt 自学笔记(1)----源码下载
- openwrt 编译环境搭建及Makefile
- OpenWrt学习记录二固件编译和下载
- OpenWrt学习总结(2)编译OpenWrt过程中整理的软件包下载网址
- 一步一步学习OpenWrt(一)编译OpenWrt
- OpenWrt学习总结(1)搭建编译环境(2017年)
- 编译openwrt----搭建编译环境与下载源码
- vim学习笔记一(环境配置及编译文件)
- openwrt x86 编译部署
- 我的openwrt学习笔记(七):MTK的OpenWrt系统编译错误
- 我的openwrt学习笔记(二):OpenWrt 开发环境搭建
- 学习 find & chown & chmod
- 女生初级健身训练计划
- Remove Invalid Parentheses
- 轻量级的bug管理平台对比
- 线程
- OpenWRT学习笔记(1)环境部署代码下载及编译
- 为什么Maven Update Project JDK变回1.5
- internalresourceviewresolver返回奇怪的视图
- Pwning PHP mail() function For Fun And RCE
- c++实验五-计算一组数中正数和负数的和
- 'xx.bak' 上的媒体簇的结构不正确。SQL Server 无法处理此媒体簇。
- 周笔记(18/52)
- 轻量、简单、易容、免费的bug管理工具-delbug管理
- mybatis 用原始的dao方法开发