Openwrt编译入门
一、 安装 openwrt需要的编译环境
1. 批量命令安装
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev
2. 单条命令输入
sudo apt-get install g++
sudo apt-get install libncurses5-dev
sudo apt-get install zlib1g-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install unzip
sudo apt-get install autoconf
sudo apt-get install gawk
sudo apt-get install make
sudo apt-get install gettext
sudo apt-get install gcc
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install libz-dev
sudo apt-get install asciidoc
sudo apt-get install subversion
sudo apt-get install git
sudo apt-get install sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common
系统其他软件更新
sudoapt-get update
sudo apt-get install libssl-dev
注:不安装上边这个使用make menuconfig可能出现下边的错误:
Checking 'working-make'... ok.
Checking 'case-sensitive-fs'... ok.
Checking 'getopt'... ok.
Checking 'fileutils'... ok.
Checking 'working-gcc'... ok.
Checking 'working-g++'... ok.
Checking 'ncurses'... ok.
Checking 'zlib'... ok.
Checking 'gawk'... ok.
Checking 'unzip'... ok.
Checking 'bzip2'... ok.
Checking 'perl'... ok.
Checking '/usr/bin/python2.7'... ok.
Checking 'wget'... ok.
Checking 'git'... ok.
Checking 'gnutar'... ok.
Checking 'svn'... ok.
Checking 'libssl'... failed.
Checking 'openssl'... ok.
Checking 'gnu-find'... ok.
perl下载安装教程Checking 'getopt-extended'... ok.
Checking 'file'... ok.
Checking 'non-root'... ok.
Build dependency: Please install the openssl library (with development headers)
Prerequisite check failed. Use FORCE=1 to override.
make: *** [tmp/.prereq-build] Error 1
二、 下载源码
建议使用 subversion(SVN) ,因为Openwrt主要以 svn 来维护Openwrt系统的版本。另外,请注意Openwrt中不同的分支版本,一种是最新版但不是最稳定,也就是trunk版,一种是相对稳定的backfire版。
从trunk分支的补丁也在backfire版本中了,即包含修复补丁
1. Svn获取源码
#开发版
#svn co svn:///openwrt/trunk
#10.03
#svn co svn:///openwrt/branches/backfire
#12.09
#svn co svn:///openwrt/branches/attitude_adjustment
#14.07
svn co svn:///openwrt/branches/barrier_breaker
#指定svn版本
svn co svn:///openwrt/branches/barrier_breaker -r 42625
2. Git获取源码:
#开发版
git clone git:///openwrt.git
#14.07
git clone git:///14.07/openwrt.git
3. 下载源码
mkdir openwrt #创建openwrt文件夹
cd openwrt #进入openwrt文件夹
svn co svn:///openwrt/branches/backfire (稳定版)
f.f #将f.default修改为f:
或者是
svn co svn:///openwrt/trunk (测试版)
当前的开发版本分支(trunk)已包含最新的实验补丁。此分支或许还突破了Openwrt原来所不支持的硬件设备的限制哦,惊喜的同时也有风险存在。因此,编译trunk版,慎之
版本任选一个
4. 更新源码
更新源码要进入获取到的版本根目录内,如trunk、backfire文件夹内。
cd openwrt/trunk或者是cd openwrt/backfire
如果已是当前文件夹略过。
svn
./scripts/feeds update -a
./scripts/feeds install -a
因Openwrt的源代码随时都会变动,故此命令将确保您所获取得到的源码的最新性。
5. 下载LUCI包
进入到源码主目录-》script,在script目录中打开命令行输入 ./feeds update
继续在命令行中输入 ./feeds install -a -p luci安装LUCI
如果只是加装 Luci web UI,在barrier_breaker根目录打开命令行:
./scripts/feeds update packages luci
./scripts/feeds install -a -p luci
经过这个步骤,在 make menuconfig 里就有 LuCI 相关选项。
三、 编译
1. 生成默认配置
make defconfig
若可进行编译则生成默认配置:编译根目录下会有个 .config的文件(按Ctrl+h能看到)。
若defconfig回显提示缺少软件包或编译库等依赖,则按提示安装所缺软件包或库等即可。
2. 配置编译选项
里面可以选择芯片的型号,集成的组件等等,根据实际情况选择。
make menuconfig
输入上条命令后,出现下
Target System (Atheros AR7xxx/AR9xxx) --->CPU芯片型号选择
Subtarget (Generic devices with NAND flash) --->flash选择
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论