一、搭建linux环境
我使用的是VirtualBox创建Ubuntu虚拟机,创建过程不多说。
虚拟机创建完成后,安装编译Openwrt需使用的软件包。Ctrl+Alt+T打开终端控制器。
首先安装svn工具:
sudo apt-get install subversion
过程中需要输入密码,密码输入时不同于windows系统,并无*显示,此处无需担心,正常输入即可。
而后,安装各种依赖软件包:
过程与安装subversion相同。
软件包 | 说明 |
subversion | 一个自由,开源的版本控制系统 |
gcc | C语言编译器 |
g++ | C++编译器 |
binutils | 一整套的编程语言工具程序,用来处理许多格式的目标文件 |
patch | 会利用一种名叫 patch file(有时直接被称为 patch)的文字档案,来更新文字档案 |
bzip2 | 数据压缩算法及程序 |
flex | 好像是某种网络协议 |
bison | 一个解析器生成程序(Parser generator),其将 CFG 转换为 LALR(1)解析表,兼容 yacc(Yet Another Compiler Compiler) |
make | 这个……不用说了吧 |
autoconf | 用于生成可以自动地配置软件源代码包以适应多种Unix类系统的 shell脚本的工具 |
gettext | 是GNU国际化与本地化(i18n)函数库。它常被用于编写多语言程序 |
texinfo | Texinfo是一个文档系统,它通过单个源文件同时生成在线信息文档和可打印的输出 |
unzip | 解压 |
sharutils | 真心的不知道是什么啊 |
ncurses-term | 提供字符终端处理库,包括面板和菜单 |
libncurses-dev | |
zlib1g-dev | 解压的包 |
git | 开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理 |
gawk | awk 是一个程式语言,对於资料的处理具有很强的功能。对於文 字档里的资料做修改、比对、抽取等的处理,awk 能够以很短的程式 轻易地完成。 |
二、获取Openwrt源代码
使用svn工具获取源代码:
创建openwrt目录:
mkdir openwrt
cd openwrt
获取源代码:
svn checkout svn://svn.openwrt.org/openwrt/trunk 或
svn checkout svn://svn.openwrt.org/openwrt/branches/attitude_adjustment
源代码会保存在home/用户名/openwrt/trunk目录下。
三、编译前的设置
进入trunk目录
cd trunk
检测编译环境
make defconfig
如报错,可以查看所缺少的软件包,安装后继续测试。
更新openwrt软件包
./scripts/feeds update –a
./scripts/feeds install –a
下载并安装openwrt目前全部的软件包,安装之后并不意味着需要编译,具体编译那些软件包由用户在buildroot中的设置为准。
建议:制作虚拟机备份,以防出现问题。(问题出现的几率比较大)
四、编译
make menuconfig
之后会出现buildroot界面,可选择相应的编译选项。
如,运行失败,可在make指令后加入V=s显示详细信息。
make menuconfig V=s
选择
make V=s
编译,会很慢,很慢,很慢……
主要是需要下载很多东西,而国外的某些ftp速度真的是堪忧,等待的过程可以去睡一觉,或者出去吃吃饭,唱唱歌什么的:)