OpenWRT文章翻译之(二)----OpenWRT Buildroot安装(转)
OpenWRT文章翻译之(二)----OpenWRT Buildroot安装
简介
OpenWRT Buildroot是创建OpenWRT系统首选的工具链。OpenWRT Buildroot要求使用GNU Linux的发行版本,独立安装到PC机上,或是虚拟机里面都行。
但是Cygwin则可能会出错,而BSD或是MacOSX,有可能使用OpenWRT Buildroot成功生成目标系统镜像,但是这并不能保存生成的镜像的正确性,汗一个,看来大家还是使用原版的Linux吧,因为这个水有点深了,,,
系统需求
1. 350MB的空间用于下载源代码文件
2. 3~4GB空间用于生成交叉编译工具链和OpenWRT系统镜像.
安装过程
1. 安装svn,这个是用来获取服务器的OpenWRT源代码的
下面就按Ubuntu的来安装吧,其它版本的自己Google,百度一下吧
sudo apt-get update
sudo apt-get install subversion build-essential
build-essential好像是安装gcc之类的编译器跟环境,subversion,就是svn。
2. 通过svn下载OpenWRT的源代码
mkdir ~/openwrt
cd openwrt
svn co svn://svn.openwrt.org/openwrt/trunk/
cd trunk
包括OpenWRT Buildroot脚本的OpenWRT源代码会下载到trunk文件夹里面。
3. 下载安装feeds脚本
这一项是可选的,不过feeds也是很有用的一个工具,可以往OpenWRT里面添加软件包,安装方法如下:
./script/feeds update -a
./script/feeds install -a
4. 检查使用Buildroot编译OpenWRT源代码所需要安装的软件包,进入源代码根目录,运行下面三条语句中任意一条
make defconfig
make prereq
make menuconfig
检查之后,它会列出系统需要安装的软件包,根据这个列表来安装编译OpenWRT所需的软件。
下面仅列出Ubuntu所需要安装的包
Ubuntu:
$ sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk flex |
Ubuntu 9.10,需要安装下列软件包(30-03-2011):
$ sudo apt-get install gcc-multilib bison autoconf screen gcc g++ binutils patch bzip2 flex make gettext unzip libc6 git-core |
Ubuntu 11.10:
$ sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt |
Ubuntu 12.04LTS:
$ sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl |
Ubuntu 64bit:
$ sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext |
下面是各个Linux发行版本编译OpenWRT所需要安装的软件包列表
Prerequisite | Debian | Suse | Red Hat | OS X (via MacPorts) | Fedora | NetBSD |
---|---|---|---|---|---|---|
asciidoc | asciidoc | asciidoc | asciidoc | asciidoc | asciidoc | ? |
bash | bash | bash | ? | bash | ? | bash |
binutils | binutils | binutils | binutils | binutils | binutils | ? |
bzip2 | bzip2 | bzip2 | bzip2 | bzip2 | bzip2 | ? |
fastjar | fastjar | fastjar | libgcj | fastjar | libgcj | ? |
flex | flex | flex | ? | flex | flex | ? |
git | git-core | git-core | ? | ? | ? | ? |
g++ | g++ | gcc-c++ | gcc-c++ | ? | gcc-c++ | ? |
gcc | gcc | gcc | gcc | ? | gcc | ? |
getopt | util-linux | util-linux | ? | getopt | ? | getopt |
GNU awk | gawk | gawk | gawk | gawk | gawk | ? |
gtk2.0-dev | libgtk2.0-dev | ? | gtk2-devel | gtk2 | gtk2-devel | ? |
intltool-update | intltool | intltool | intltool | intltool | intltool | ? |
jikes | — | jikes | ? | jikes | — | ? |
libz, libz-dev | zlib1g-dev | zlib-devel | zlib-devel | zlib | zlib-devel | ? |
make | make | make | ? | gmake | make | gmake |
ncurses | libncurses5-dev | ncurses-devel | ncurses-devel | ncurses | ncurses-devel | ? |
openssl/ssl.h | libssl-dev | libopenssl-devel | openssl-devel | openssl | openssl-devel | ? |
patch | patch | patch | ? | patchutils | patch | ? |
perl-ExtUtils-MakeMaker | perl-modules | perl-ExtUtils-MakeMaker | perl-ExtUtils-MakeMaker | p5-extutils-makemaker | perl-ExtUtils-MakeMaker | ? |
python2.6-dev | python2.6-dev | python-devel | ? | python26 | ? | ? |
rsync | rsync | rsync | ? | rsync | rsync | ? |
ruby | ruby | ruby | ? | ruby | ruby | ? |
sdcc | sdcc | sdcc | ? | sdcc | sdcc | ? |
unzip | unzip | unzip | ? | unzip | unzip | ? |
wget | wget | wget | wget | wget | wget | ? |
working-sdcc | — | ? | ? | ? | — | ? |
xgettext | gettext | ? | ? | gettext | gettext | ? |
xsltproc | xsltproc | libxslt | ? | libxslt | libxslt | ? |
zlib, zlib-static | zlib1g-dev | zlib-devel | ? | ? |