海运的博客

Ubuntu/CentOS下编译OpenWRT固件

发布时间:August 10, 2012 // 分类:OpenWrt // 2 Comments

Ubuntu安装编译环境:

apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils\ 
subversion libncurses5-dev ncurses-term zlib1g-dev 

CentOS安装编译环境:

yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext make ncurses-devel patch \
unzip wget zlib-devel

编译以非root用户运行,新建用户:

useradd -m openwrt
su -l openwrt

获取源码:

#开发版
#svn co svn://svn.openwrt.org/openwrt/trunk 
#10.03
#svn co svn://svn.openwrt.org/openwrt/branches/backfire
#12.09
#svn co svn://svn.openwrt.org/openwrt/branches/attitude_adjustment
#14.07
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker
#指定svn版本
svn co svn://svn.openwrt.org/openwrt/branches/barrier_breaker -r 42625 
cd barrier_breaker
./scripts/feeds update -a
./scripts/feeds install -a

或Git获取源码:

#开发版
git clone git://git.openwrt.org/openwrt.git
#14.07
git clone git://git.openwrt.org/14.07/openwrt.git

更多见:
http://wiki.openwrt.org/doc/howto/buildroot.exigence#trunk_main_development_tree
https://dev.openwrt.org/wiki/GetSource
进入编译选项:

make menuconfig

可以在编译前添加/修改配置文件,所在目录:

package/base-files/files/

编译固件,编译成功后固件在当前目录bin目录下,可以先编译x86使用vmware测试openwrt固件

make
-j n #多线程,可使用CPUx2
V=99 #详细输出

编译单个软件,进入编译选项选择要编译的软件后,如果没有make需执行以下:

make tools/install
make toolchain/install

然后编译指定的软件:

make package/name/compile

遇到的问题:
/target-i386_i486_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyynyyyyyyyynyyyynyyyynnyynnnyyyy] Error 2
编译gcc的问题,使用系统自带gcc正常,见https://dev.openwrt.org/ticket/17805
然后又遇到barrier_breaker/include/toplevel.mk:171: recipe for target 'world' failed
删除之前gcc编译生成的文件,见https://dev.openwrt.org/ticket/11175

make dirclean

标签:centos, openwrt, ubuntu, openwrt编译环境

有 2 条 关于" Ubuntu/CentOS下编译OpenWRT固件 "的评论

  1. 索玛科技 索玛科技

    你好能加你QQ吗 我遇到问题了能进入配置界面 无法编译centos6.4

  2. Duuge Duuge

    遇到相同的问题,但未能解决,请求帮助。
    1、遇到的问题:
    /target-i386_i486_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyynyyyyyyyynyyyynyyyynnyynnnyyyy] Error 2

    不知道解决办法。未能解决。
    2、又遇到barrier_breaker/include/toplevel.mk:171: recipe for target 'world' failed

    请求博主放出解决过程,谢谢了。

评论已关闭

分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面