openwrt 编译教程编译环境出现这个是什么意思

经验21146 米
威望1077 米
在线时间7982 小时
机型小米Note
签到次数173
MIUI版本6.6.1
本帖最后由 小墨灰 于
10:39 编辑
  现在有越来越多的Maker开始折腾OpenWrt,但作为一个Maker新手来讲,在网上还是很难找到一份系统的入门级资料。查找资料很辛苦,而且OpenWrt的门槛相对较高,希望这篇文章所提供的从零开始学OpenWrt编译 + 刷机 + 使用教程能降低新手们的入门难度,当然,编译过程非必须,一般的路由都可找到可用的稳定固件直接刷机。
  搭建编译环境
  1、安装Ubuntu(编译需要Linux环境),到其官网下载,版本根据自己所需选择即可。可以选择安装到虚拟机或者物理机,图形化安装而且是中文版,连安装都搞不定的,可以关闭本页面了;
  2、切记不要改动软件源,同时按住Ctrl + Alt + T,调出终端;
  3、逐条输入下列命令(及时验证是否安装成功):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 sphinxsearch
sudo apt-get install libtool
sudo apt-get install sphinx-common复制代码至此编译环境搭建完成。
  下载OpenWrt源码
  OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地创建文件夹:mkdir openwrt
sudo chmod 777 openwrt
cd openwrt复制代码选择你想要的版本然后执行下载命令,下载结束会显示版本号:
  Trunk版下载命令:svn co svn://svn.openwrt.org/openwrt/trunk/复制代码Backfire版下载命令:svn co svn://svn.openwrt.org/openwrt/branches/backfire/复制代码添加软件扩展包,将feeds.conf.default修改为feeds.conf:cp feeds.conf.default feeds.conf复制代码更新扩展,安装扩展:./scripts/feeds update -a
./scripts/feeds install -a复制代码注:如果不是刚下载的源码,为保持代码为最新状态,应定期运行svn update命令更新源码。
  测试编译环境:make defconfig复制代码到这里就可以开始编译自己的固件了。进入定制界面:make menuconfig复制代码如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。openwrt-make复制代码如果你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。
  开始编译:make
或者
make&&V=99
或者
make -j V=99复制代码make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上 -j 参数,第一次编译最好不带-j参数。
  编译过程保持联网(会从网上下载一些源码包),所以断网可能造成编译中断,编译所需时间与电脑CPU及网络环境有很大关系,第一次编译时间较久,快则半小时长则2、3个小时,之后的编译所需时间较短。编译完成后会在源码文件目录出现bin文件夹(如trunk/bin/XXXX),如果你手里的路由是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX-sysupgrade.bin升级用的,在升级界面升级即可。进到文件夹找到你需要的固件传出(通过邮箱、网盘、U盘等),开始刷机吧。
本文转载自:
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
已有&2&人评分
感谢分享^_^
MIUI 因你更精彩!
经验101 米
在线时间7 小时
积分 117, 距离下一级还需 83 积分
积分 117, 距离下一级还需 83 积分
机型三星I9300
MIUI版本5.5.2
通过手机发布
经验1569 米
在线时间111 小时
版本6.5.26
积分 1902, 距离下一级还需 98 积分
积分 1902, 距离下一级还需 98 积分
机型红米Note2 移动/标准
签到次数55
MIUI版本6.5.26
通过手机发布
经验4163 米
在线时间136 小时
版本5.10.22
积分 4570, 距离下一级还需 430 积分
积分 4570, 距离下一级还需 430 积分
机型Google Nexus 7
签到次数144
MIUI版本5.10.22
谢谢,继续学习
在线时间1 小时
积分 43, 距离下一级还需 7 积分
积分 43, 距离下一级还需 7 积分
谢谢,继续学习
经验133 米
在线时间10 小时
版本V7.2.5.0.LXACNDA
积分 182, 距离下一级还需 18 积分
积分 182, 距离下一级还需 18 积分
机型小米手机2/2S
MIUI版本V7.2.5.0.LXACNDA
干的漂亮&&怎么安装并发多波插件
经验608 米
在线时间7 小时
版本JMACNBL18.0
积分 619, 距离下一级还需 1381 积分
积分 619, 距离下一级还需 1381 积分
机型小米手机1/1S
签到次数72
MIUI版本JMACNBL18.0
有人编译一个应该所有的小米路由都通用吧,怎么没有高人弄呢
经验1892 米
在线时间19 小时
版本6.5.26
积分 1918, 距离下一级还需 82 积分
积分 1918, 距离下一级还需 82 积分
机型小米Note 双网通版
签到次数113
MIUI版本6.5.26
经验121 米
在线时间11 小时
版本6.4.14
积分 136, 距离下一级还需 64 积分
积分 136, 距离下一级还需 64 积分
机型小米手机4c
MIUI版本6.4.14
svn地址下载没有响应&&有没有其他方法?
MIUI 3000万
MIUI 3000万发烧友纪念勋章
MIUI 2000万
MIUI 2000万发烧友纪念勋章
1000万用户纪念勋章
MIUI1000万用户纪念勋章
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
小米平板首发纪念勋章
小米平板首发纪念勋章
小米手机2终身荣誉勋章
小米手机2终身荣誉勋章
MIUI三周年
MIUI三周年纪念勋章
百万壁纸评审纪念勋章
已关注极客秀微信
已关注微信
疾风测评勋章
资源疾行活动限定勋章
MIUI6 荣誉勋章
MIUI6 荣誉勋章
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
MIUI 100周
100周发布纪念勋章
MIUI俱乐部发烧友
MIUI俱乐部发烧友
社区VIP贵宾专属
小米手机元器件合体活动勋章
小米求合体勋章
Copyright (C) 2016 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分113阅读权限10帖子精华可用积分113 信誉积分392 专家积分0 在线时间138 小时注册时间最后登录
白手起家, 积分 113, 距离下一级还需 87 积分
帖子主题精华可用积分113 信誉积分392 专家积分0 在线时间138 小时注册时间最后登录
论坛徽章:0
好不容易下载了整个源码,老是编译出问题,通过查看makefile根本就看不出来是哪里使用这个ld
make[3]: Entering directory `/home/openwrt-dreambox/package/hostapd'
CFLAGS=&-I/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/usr/include/libnl-tiny -I/home/openwrt-dreambox/build_dir/target-mips_r2_eglibc-2.8/hostapd-supplicant-full/hostapd-/src/crypto -I/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/usr/include -I/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/include -I/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/usr/include -I/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/include -I/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/usr/include/madwifi -I/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/usr/include/mac80211 -DCONFIG_LIBNL20 -D_GNU_SOURCE -Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -ffunction-sections -fdata-sections& make -C /home/openwrt-dreambox/build_dir/target-mips_r2_eglibc-2.8/hostapd-supplicant-full/hostapd-/wpa_supplicant AR=mips-openwrt-linux-gnu-ar AS=&mips-openwrt-linux-gnu-gcc -c -Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time -fhonour-copts -msoft-float -ffunction-sections -fdata-sections& LD=mips-openwrt-linux-gnu-ld NM=mips-openwrt-linux-gnu-nm CC=&mips-openwrt-linux-gnu-gcc& GCC=&mips-openwrt-linux-gnu-gcc& CXX=&mips-openwrt-linux-gnu-g++& RANLIB=mips-openwrt-linux-gnu-ranlib STRIP=mips-openwrt-linux-gnu-strip OBJCOPY=mips-openwrt-linux-gnu-objcopy OBJDUMP=mips-openwrt-linux-gnu-objdump SIZE=mips-openwrt-linux-gnu-size CONFIG_DRIVER_NL80211=y CONFIG_DRIVER_MADWIFI= CONFIG_DRIVER_HOSTAP= CONFIG_IEEE80211N=y CONFIG_IEEE80211W=y CONFIG_DRIVER_WEXT=&&CONFIG_DRIVER_ROBOSWITCH= LIBS=&-L/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/usr/lib -L/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/lib -L/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/usr/lib -L/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/lib -Wl,--gc-sections -lm -lnl-tiny&&&wpa_cli wpa_supplicant
make[4]: Entering directory `/home/openwrt-dreambox/build_dir/target-mips_r2_eglibc-2.8/hostapd-supplicant-full/hostapd-/wpa_supplicant'
make[4]: `wpa_cli' is up to date.
/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/usr/lib/gcc/mips-openwrt-linux-gnu/4.3.3/../../../../mips-openwrt-linux-gnu/bin/ld: can not make stub section: File format not recognized
/home/openwrt-dreambox/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_eglibc-2.8/usr/lib/gcc/mips-openwrt-linux-gnu/4.3.3/../../../../mips-openwrt-linux-gnu/bin/ld: failed to set dynamic section sizes: File format not recognized
collect2: ld returned 1 exit status
make[4]: *** [wpa_supplicant] Error 1
make[4]: Leaving directory `/home/openwrt-dreambox/build_dir/target-mips_r2_eglibc-2.8/hostapd-supplicant-full/hostapd-/wpa_supplicant'
make[3]: *** [/home/openwrt-dreambox/build_dir/target-mips_r2_eglibc-2.8/hostapd-supplicant-full/hostapd-/.built] Error 2
make[3]: Leaving directory `/home/openwrt-dreambox/package/hostapd'
make[2]: *** [package/hostapd/compile] Error 2
make[2]: Leaving directory `/home/openwrt-dreambox'
make[1]: *** [/home/openwrt-dreambox/staging_dir/target-mips_r2_eglibc-2.8/stamp/.package_compile] Error 2
make[1]: Leaving directory `/home/openwrt-dreambox'
make: *** [world] Error 2
makefile文件如下:
wpa_supplicant_multi.a: .config $(BCHECK) $(OBJS) $(EXTRA_progs)
& & & & $(Q)$(CC) -c -o wpa_supplicant_multi.o -Dmain=wpa_supplicant_main $(CFLAGS) main.c
& & & & @$(E) &&&CC & $&
& & & & @rm -f $@
& & & & @$(AR) cr $@ wpa_supplicant_multi.o $(OBJS)
wpa_supplicant: .config $(BCHECK) $(OBJS) $(EXTRA_progs)
& & & & @echo &1&
& && && && & $(Q)$(LDO) $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS)
& & & & @$(E) &&&$(LD) & $@
有编译过的兄弟和大师麻烦帮忙解答解答!不胜感激
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分135阅读权限10帖子精华可用积分210 信誉积分424 专家积分0 在线时间168 小时注册时间最后登录
白手起家, 积分 135, 距离下一级还需 65 积分
帖子主题精华可用积分210 信誉积分424 专家积分0 在线时间168 小时注册时间最后登录
论坛徽章:2
all go through well, no any other thing happen, thanks.
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处用Ubuntu15.04编译Netgear WNDR4300 的openwrt固件 - 简书
下载简书移动应用
写了10218字,被11人关注,获得了5个喜欢
用Ubuntu15.04编译Netgear WNDR4300 的openwrt固件
注意:1.除了更新系统和安装依赖软件外,不要用“root”账户做任何事;2.所有openwrt编译版的发布都必须在&buildsystem root(编译系统root)&目录中令进行,如:~/openwrt/trunk/;3.在编译版的路径中不能够出现空格;4.在下载有openwrt源码的目录,属主需要改为普通用户,而非root用户,命令为:(sudo chown -R user:user /openwrt/)。
一、编译环境部署
建议使用Ubuntu操作系统,系统要么进行标准安装,要么在虚拟机里创建。
建议系统有20GB磁盘空间,编译openwrt需要1-4GB内存(编译x86固件需要至少4GB内存)。
1.1更新系统
sudo apt-get update
1.2安装编译依赖软件
sudo apt-get install git-core subversion mercurial build-essential libssl-dev libncurses5-dev unzip
二、编译固件过程
2.1从openwrt官网下载源码包
git clone git://git.openwrt.org/openwrt.git
这个命令会在本地当前目录下创建一个openwrt目录,目录中就包括了编译系统环境。
2.2下载和更新feeds
cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a
2.3测试和编译
用如下命令进行环境测试,并配置所需要的固件类型、配置、软件和功能。make defconfig
make prereq
make menuconfig如果没有任何问题,将进入定制界面,在定制界面可以选择芯片的型号、集成的组件、安装的软件包、界面等,根据实际情况选择即可。
2.4编译过程
输入如下命令开始编译,第一次编译的时间很长,大约会3-4小时,这取决于计算机的硬件配置和网络速度。make V=99
三、生成器打包
如果没有什么特殊要求,可以直接用镜像生成器直接打包,方便快捷,几分钟生成一个镜像包。镜像生成器下载
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
选择支付方式:

我要回帖

更多关于 openwrt交叉编译环境 的文章

 

随机推荐