谷动谷力

 找回密码
 立即注册

扫一扫,访问微社区

谷动谷力 首页 编程 查看内容

Openwrt | 编译openwrt源码

2021-2-18 23:11| 发布者: admin| 查看: 3| 评论: 0|原作者: 鸣涧_GC96O

摘要: Openwrt | 编译openwrt源码 openwrt源码的编译相对简单,部分编译过程中出现问题可能是由于用的是root用户,现在 winddows10带wrl-ubuntu虚拟机很棒的,我用的是Ubuntu, 默认是没有提供root用户, 如果切换成普 ...
Openwrt | 编译openwrt源码




openwrt源码的编译相对简单,部分编译过程中出现问题可能是由于用的是root用户,现在 winddows10带wrl-ubuntu虚拟机很棒的,我用的是Ubuntu, 默认是没有提供root用户, 如果切换成普通用户下载并编译可能会更顺利一些。
下载openwrt源码 ,注意要用gitee国内站,如用用的github国外站慢的开始怀疑人生。编译时常会出问题,希望一切胜利 , Good luck
$ git clone https://gitee.com/mirrors/openwrt.git
当下载好openwrt源码后,进入openwrt文件夹
$ cd openwrt/
查看openwrt文件夹内容
$ ls
列出文件夹的内容如下
BSDmakefile  config  Config.in  feeds.conf.default  include  LICENSE  Makefile  package  README  rules.mk  scripts  target  toolchain  tools
对于上述出现的文件,首先第一步要看的内容就是  README
$ vim README
出现内容如下所示
  _______                     ________        __ |       |.-----.-----.-----.|  |  |  |.----.|  |_ |   -   ||  _  |  -__|     ||  |  |  ||   _||   _| |_______||   __|_____|__|__||________||__|  |____|          |__| W I R E L E S S   F R E E D O M -----------------------------------------------------
This is the buildsystem for the OpenWrt Linux distribution.
To build your own firmware you need a Linux, BSD or MacOSX system (casesensitive filesystem required). Cygwin is unsupported because of the lackof a case sensitive file system.
You need gcc, binutils, bzip2, flex, python3.5+, perl, make, find, grep, diff,unzip, gawk, getopt, subversion, libz-dev and libc headers installed.
1. Run "./scripts/feeds update -a" to obtain all the latest package definitionsdefined in feeds.conf / feeds.conf.default
2. Run "./scripts/feeds install -a" to install symlinks for all obtainedpackages into package/feeds/
3. Run "make menuconfig" to select your preferred configuration for thetoolchain, target system & firmware packages.
4. Run "make" to build your firmware. This will download all sources, buildthe cross-compile toolchain and then cross-compile the Linux kernel & allchosen applications for your target system.
Sunshine!        Your OpenWrt Community        http://www.openwrt.org


                                                                                                                                                          "README" 34L, 1299C                                                                                                                            1,1           All
阅读README内容,出现步骤1.2.3.4.共四步。这四步就是openwrt源码的编译步骤。

如下
1、更新源码包
$ ./scripts/feeds update -a
2、安装到/package/feeds
$ ./scripts/feeds update -a
3、编译配置
$ make menuconfig
可能会出错
Build dependency: Please install the GNU C++ Compiler (g++).  //安装 gcc g++  如果要编译ARM平台 需要arm-linux-gcc

Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)  //安装ncurese

Build dependency: Please install zlib. (Missing libz.so or zlib.h) //安装zlib

Build dependency: Please install GNU awk.  www.2cto.com  //sudo apt-get install gawk 注意名称

Build dependency: Please install flex. //安装flex

Build dependency: Please install patch. //安装pathc

Build dependency: Please install git (git-core). //安装git

Build dependency: Please install the subversion client.  //安装subversion client


环境检测通过的话,运行到这步的时候会出现openwrt的配置界面
各种参数即可通过这里设置。

将Target Profile 设置为 可支持硬件板子
Target Profile
  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做的。

4、最后 make 编译 即可。
$ make
编码出错了,
package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
不写了,解决问题后,下回写吧
编译好了,找个设备试试吧!








鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

QQ|Archiver|手机版|小黑屋|深圳市光明谷科技有限公司|Sunshine Silicon Corpporation ( 粤ICP备14060730号

GMT+8, 2021-6-11 18:00 , Processed in 0.251174 second(s), 24 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部