欢迎光临
我们一直在努力

openwrt基本编译

openwrt基本编译

本文由明月永在原创,复制或者引用请注明出处www.myopenwrt.org

编译首先得搭建编译环境,一般推荐用Ubuntu系统,对新手较易上手,使用的人多,碰到问题也容易解决。

特别提醒 一下,编译是一个相当复杂的过程,尤其是新手可能会碰到N多的错误提示,所以提示全是英文的,如果英语水平,根本 看不懂提示内容,你还是不要玩编译的好,要玩几乎是在自虐。还有编译得用linux系统,要求有一定的linux基础,如果你连终端在哪里,隐藏文件怎么看,简单的一些命令都不懂,也不要玩了哈。

Ubuntu系统的安装可在自行搜索,也不难,主要注意下分区时,如果原来硬盘有文件,不要选择全部来安装,否则会数据丢失。

本人使用的是Ubuntu12.04 64位系统,当然也可以用新系统。要编译首先得弄好编译环境,也就是安装一些编译所必须用到的软件。编译openwrt一般是交叉编译,交叉编译就是指编译非x86的软件,和编译所用到的系统的架构不一样的。所编译出来的软件也不能直接在编译的系统里运行。

打开终端,输入以下命令sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev  gawk

这里需要提示一下,上面这个命令是针对Ubuntu12.04系统的,新的系统有些软件的版本可能不一样,比如旧的是1.0版本,Ubuntu14.10可能是1.5版本,所以不能完全生搬硬套。要灵活运用。还有些openwrt版本,比如开发版本,在编译时可能会提示少其它的软件,根据提示安装所缺少的软件即可,一般来说如果少一个aaa软件,安装时,最好把aaa.dev也同时装上。新安装的Ubuntu系统最好设置好并更新升级了所有软件后,才安装以上软件,要不可能会提示软件没有。

装好编译环境后,就到
https://dev.openwrt.org/wiki/GetSource
openwrt官网查找自己所需要的版本来编译。获取源码的方式 有两种,一种是用git,一种是svn,这两种方式 都得安装软件,如果没有就得搜索一下再安装好。本人一般都用svn来获取源码 。编译openwrt的过程里会生成很多的临时文件,体积非常大,虽然固件才几M,编译过程 所生成的文件一般是10G级的,如果你编译多个平台和多个型号,就需要更多的空间。加安装系统最少需要10G,至少 得预留40G+以上的空间。不然编译到一半时,提示没有空间,是非常郁闷的事。

以下的svn获取源码的命令:
attitude_adjustment就是所说的AA,上一个稳定版本,当前的稳定版本是barrier_breaker,trunk版本是大家所说的CC,建议用BB来编译。

SVN

You can checkout the source from the OpenWrt Subversion repository using one of the following commands:

  • Development branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/trunk/
    
  • Barrier Breaker 14.07 branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
    
  • Attitude Adjustment 12.09 branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment
    
  • Backfire 10.03 branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/branches/backfire
    
  • Kamikaze 8.09 branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/branches/8.09
    
  • Kamikaze 7.09 branch: ChangeLog
    svn co svn://svn.openwrt.org/openwrt/tags/kamikaze_7.09
    

如果用BB源码 ,则在终端输入

svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
之后会,自动下载源码。
源码下载完后
cd barrier_breaker
安装 luci,openwrt源码默认是不带luci的,得用命令来安装
./scripts/feeds update -a 
./scripts/feeds install -a 

完成之后,就可以在终端执行make menuconfg来选择自己所需要的软件
软件选择可以参考一下恩山的教程
http://www.right.com.cn/forum/thread-83746-1-1.html
当年我也是从这里起步的。
第一次编译不要选太多东西,选择好型号后,必选luci界面下的一些软件,要不登录会
没界面。其它软件可以尽量少选,先尝试下是否能编译出固件。能成功生成固件,说明编译环境没有问题。

配置好后退出 保存,建议用以下命令来编译

make -j5 V=99 2>&1 |tee build.log |grep -i error

这个命令可以生成日志,日志名为buil.log,保存在最高目录下。以方便出错查找原因。-j5参数是4核cpu使用的,其它cpu可以使用内核数量N+1来相应 修改。

输入这个命令后,经过漫长的等待就会出来固件,如果中途有错,查找日志解决后,再执行以上命令就行,一般不必要重新再来。

在编译的过程中,会自动下载应用软件的源码到dl目录下面,选择的软件越多,所需要下载的数据会越大,这些软件的源码 基本都在国外的,所以下载速度极其的慢,甚至有些软件被墙了的,根本下载不了。首次编译一般会耗时几小时,视网络下载速度而定。如果下载不了打看编译日志,来找到错误所在的地方,可以搜索***来定位,有错误的地方一般以这个为标示。然后再找到软件的下载网址,会在出错报告的前面,有ftp或者http链接,里面包含有相应软件名的网址,然后手动下载之后放到dl目录即可。

像我用四核的cpu,全部编译一个16M固件得花一个多小时,不包括下载的时间。由于很多源码在墙外,所以强烈建议大家在弄好翻wall之后,再编译。

新手应该还要注意,openwrt官方所设定的固件大小是按路由出厂的闪存来定的,起步为4M,小于4M的官方都不会支持。所以有一些型号,基本加不了软件,加了软件就会不出固件,因为超出了最大的体积。碰到这种情况,可以少选一些软件。如果已经硬 改过的,需要修改相应的文件来改变默认固件的大小。

还有新手在配置软件时,千万要注意一点,选择软件时会自动选上所依赖的文件,保存之后,下次再去除这个软件,所选的依赖文件并不会自动取消。这样会残留一些没有用的软件在固件里,对于空间非常小的闪存来说,这是很不应该的。所以配置一定要小心,弄好的配置做个备份。

Free Download WordPress Themes
Download WordPress Themes Free
Download WordPress Themes Free
Download Best WordPress Themes Free Download
free online course
download lenevo firmware
Download Premium WordPress Themes Free
udemy course download free
赞(0) 打赏
未经允许不得转载:顶好爱迪 » openwrt基本编译
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

顶好爱迪 更专业 更方便

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏