【openwrt学习笔记一】从搭建编译环境到编译openwrt全过程 搭建编译环境 ubuntu 环境下操作 打开终端terminal 应用程序--附件--终端 更新 apt
编译环境准备 安装编译需要的组件(逐条执行):
这样编译环境搭建已经完成 编译前准备 创建一个openwrt文件夹
进入openwrt文件夹
下载官网的源码
[OpenWrt Wiki] OpenWrt 版本历史 [OpenWrt Wiki] 版本发布 feeds 脚本配置 vim feeds.conf.default 打开文件后,注释掉一些不需要的源,一般使用前三个源即可 src-gitpackages https://github.com/openwrt/packages.git;for-14.07 src-git luci https://github.com/openwrt/luci.git;luci-0.12src-git routing https://github.com/openwrt-routing/packages.git;for-14.07 #src-git telephony https://github.com/openwrt/telephony.git;for-14.07 #src-git management https://github.com/openwrt-management/packages.git;for-14.07 #src-git oldpackages http://git.openwrt.org/14.07/packages.git #src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package #src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone #src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl #src-svn xorg svn://svn.openwrt.org/openwrt/feeds /xorg #src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop #src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce #src-svn Ixde svn://svn.openwrt.org/openwrt/feeds/lxde#src-link custom /usr/src/openwrt/custom-feed 更新软件包
安装软件包
定制剪裁openwrt 进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择)
一般只要选择板型或芯片型号,即可,其他默认 将Target Profile 设置为 可支持硬件板子 Target Profile 我的开发板是MT7628的选择1. Multiple devices (TARGET_MULTI_PROFILE) //多种硬件 > 2. Broadcom SoC, BCM43xx WiFi (b43, brcmfmac, default) (TARGET_bcm53xx_generic_Generic) //博通的Soc 3. ASUS RT-AC56U (TARGET_bcm53xx_generic_DEVICE_asus_rt-ac56u) //华硕主板 4. ASUS RT-AC68U (TARGET_bcm53xx_generic_DEVICE_asus_rt-ac68u) 5. ASUS RT-AC87U (TARGET_bcm53xx_generic_DEVICE_asus_rt-ac87u) 6. ASUS RT-N18U (TARGET_bcm53xx_generic_DEVICE_asus_rt-n18u) 7. Buffalo WXR-1900DHP (TARGET_bcm53xx_generic_DEVICE_buffalo_wxr-1900dhp) //我不认识这个了 8. Buffalo WZR-600DHP2 (TARGET_bcm53xx_generic_DEVICE_buffalo_wzr-600dhp2) 9. Buffalo WZR-900DHP (TARGET_bcm53xx_generic_DEVICE_buffalo_wzr-900dhp) 10. Buffalo WZR-1750DHP (TARGET_bcm53xx_generic_DEVICE_buffalo_wzr-1750dhp) 11. D-Link DIR-885L (TARGET_bcm53xx_generic_DEVICE_dlink_dir-885l) //D-Link DIR-885L路由器 12. Linksys EA6300 v1 (TARGET_bcm53xx_generic_DEVICE_linksys_ea6300-v1) //以下的都不识 13. Linksys EA6500 v2 (TARGET_bcm53xx_generic_DEVICE_linksys_ea6500-v2) 14. Linksys EA9200 v1 (TARGET_bcm53xx_generic_DEVICE_linksys_ea9200) 15. Linksys EA9500 (TARGET_bcm53xx_generic_DEVICE_linksys_ea9500) 16. Luxul ABR-4500 (TARGET_bcm53xx_generic_DEVICE_luxul_abr-4500) 17. Luxul XAP-1610 (TARGET_bcm53xx_generic_DEVICE_luxul_xap-1610) 18. Luxul XBR-4500 (TARGET_bcm53xx_generic_DEVICE_luxul_xbr-4500) 19. Luxul XWR-3150 (TARGET_bcm53xx_generic_DEVICE_luxul_xwr-3150) 20. Meraki MR32 (TARGET_bcm53xx_generic_DEVICE_meraki_mr32) 21. NETGEAR R6250 (TARGET_bcm53xx_generic_DEVICE_netgear_r6250) 22. NETGEAR R6300 v2 (TARGET_bcm53xx_generic_DEVICE_netgear_r6300-v2) 23. NETGEAR R7000 (TARGET_bcm53xx_generic_DEVICE_netgear_r7000) 24. NETGEAR R7900 (TARGET_bcm53xx_generic_DEVICE_netgear_r7900) 25. NETGEAR R8000 (TARGET_bcm53xx_generic_DEVICE_netgear_r8000) 26. NETGEAR R8500 (TARGET_bcm53xx_generic_DEVICE_netgear_r8500) 27. SmartRG SR400ac (TARGET_bcm53xx_generic_DEVICE_smartrg_sr400ac) 28. PHICOMM K3 (TARGET_bcm53xx_generic_DEVICE_phicomm_k3) //小米 PHICOMM K3路由器 29. Tenda AC9 (TARGET_bcm53xx_generic_DEVICE_tenda_ac9) //腾达 AC9路由器 30. TP-Link Archer C5 v2 (TARGET_bcm53xx_generic_DEVICE_tplink_archer-c5-v2) //TP-Link Archer C5 路由器 31. TP-Link Archer C9 v1 (TARGET_bcm53xx_generic_DEVICE_tplink_archer-c9-v1) //TP-Link Archer C9 路由器 市场上路由器基本上用OpenWrt做的。 MediaTek Ralink MIPS(MTK MIPS) Subtarget(MT76x8 base boards) 选择Package the OpenWrt-base Toolchain是为了有搭建交叉编译环境方便,不是必选的。 Target System (MediaTek Ralink MIPS) ---> Subtarget (MT76x8 based boards) ---> Target Profile (Jotale JS76x8 16M) LuCI ---> 1. Collections ---> <*> luci................... LuCI interface with Uhttpd as Webserver (default) 此外,勾选LuCI(网页形式的控制台)还是非常必要的。要勾选(前面出现*号): 最后Save,退出。 以上是基本的固件编译,如果需要其他功能,要再勾选或添加。 编译命令: make 会权限不够: 改openwrt所有者
剩下的就是等待了,第一次编译需要的时间相对比较长,这个跟你的电脑配置和网速(编译时要下载很多依赖包)有关。 ***注:编译的过程中要保持电脑联网 V=s 代表显示编译信息,一定要勾选,否则出错的话无法看到错误信息。 -j4代表使用的CPU线程数量,4C8T的CPU可是使用8个线程提高速度,使用时有时会出错,可以改成-j1或者不加这个参数。 得到固件: 显示如下信息时并且终端上没有error时,代表编译成功 Signing package index... make[2]: Leaving directory '~/openwrt' ~/openwrt/bin/ramips/openwrt-ramips-mt76x8-jotale_js76x8-16m-squashfs-sysupgrade.bin 这个文件就是我们想要的固件。 编译的时候可能会遇到形形色色的错误,大部分都是文件下载错误(源码的服务器在国外,最好自备梯子),有时候需要科学上网才行。或者网上去找到缺失的包用p2p下载软件下载下来放到相应的位置(一般在dl这个目录下)。至于其它错误,要具体情况具体对待了,我也会在以后的博客里记录一下。 串口终端打印 我这用最新版本(Snapshot 版本) 了解各版本区别: OpenWrt哪个固件版本区别 哪个好-谷动谷力 (sunsili.com) 详细请参阅: Openwrt | 编译openwrt源码 |
|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号 ) |Sitemap
GMT+8, 2024-9-30 23:14 , Processed in 0.111100 second(s), 37 queries .
Powered by Discuz! X3.2 Licensed
© 2001-2013 Comsenz Inc.