zoukankan      html  css  js  c++  java
  • 我的openwrt学习笔记(四):OpenWrt源码下载

    我的openwrt学习笔记(四):OpenWrt源码下载

    获取源代码,有svn或者GIT方式:

    #开发版

    #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 clone git://git.openwrt.org/openwrt.git

    #14.07

    git clone git://git.openwrt.org/14.07/openwrt.git

     

     

     

    这里特别说下,因为openwrt是开源组织的版本号,不同的芯片厂家支持不一样,一部分是由开源组织成员维护,可是无论怎样核心的代码以及补丁文件肯定是来自芯片厂家。

    所以以上的openwrt是能够公开下载的。可是不是最稳定的。

    比方开发版的openwrt,简称trunk版本号,每天都在更新。

    对于初学openwrt或者linux的,建议每一个版本号都去下载并编译下,在编译的过程中排除编译错误,能够提供解决linux下问题的能力。故意无害。

    开发openwrt建议大家选择14.07版本号的openwrt 或者芯片厂家提供的openwrt.

    呵呵,芯片厂家有时候考虑到某些利益问题。不会把最新的补丁上传到开源的openwrt,所以可以使用芯片厂家的就使用芯片厂家的。这是最稳定的版本号。出了问题,解决不了,还可以反馈给厂家解决。

       因为我一直是用MTK的芯片,所以手头有MTK 官方的 openwrt软件。须要的朋友可联系我!

    下载注意事项:下载和编译openwrt 比較费时,网络好的情况也要1天的时间哦,能够使用已经搭建好环境的ubuntu镜像文件,打开就能够使用的。

    我们的镜像下载编译了openwrt了,省时省力!

    1.      配置ubuntu系统

    1). 安装 SVN 工具

    安装 SVN 工具。用于下载 openwrt 源代码。

    $ sudo apt-get install subversion

    2). 安装 git 工具

    $ sudo apt-get install git-core

    3). 依次安装依赖的库文件(复制粘贴就可以)

    $ sudo apt-get install gcc

    $ sudo apt-get install g++

    $ sudo apt-get install binutils

    $ sudo apt-get install patch

    $ sudo apt-get install bzip2

    $ sudo apt-get install flex

    $ sudo apt-get install bison

    $ sudo apt-get install make

    $ sudo apt-get install autoconf

    $ sudo apt-get install gettext

    $ sudo apt-get install texinfo

    $ sudo apt-get install unzip

    $ sudo apt-get install sharutils

    $ sudo apt-get install ncurses-term

    $ sudo apt-get install zlib1g-dev 

    $ sudo apt-get install libncurses5-dev

    $ sudo apt-get install gawk

    sudo apt-get install subversion

    $sudo apt-get install libz-dev

    也能够直接copy下面命令

    sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip 
    zip unrar p7zip p7zip-rar p7zip-full sharutils subversion libncurses5-dev ncurses-term zlib1g-dev 
    gawk git-core libssl-dev

    2.      開始下载OpenWrt源代码

    编译 OpenWrt 首先须要下载源代码。OpenWrt 的源代码是通过 svn 下载。 OpenWrt

    眼下已经非常好的支持了7688芯片。

        这里使用开发版的openwrt作为下载openwrt 的学习样例。

    新建一个 openwrt (/home/linux/openwrt) 目录,使用 svn 工具下载源代码。

    $ mkdiropenwrt

    $ cdopenwrt/

    $ svn cosvn://svn.openwrt.org/openwrt/trunk

    下载源代码的过程大概须要45分钟时间,不再用做不论什么操作。等待下载就可以。时间取决于网络哦,有些学校或公司有监控可能会出现下载异常,大家能够搜索 ubuntu更新源自己解决一下。

    linux@ubuntu:~/openwrt_bak/svn_openwrt/trunk/trunk$ svn info

    Path: .

    URL: svn://svn.openwrt.org/openwrt/trunk

    Repository Root: svn://svn.openwrt.org/openwrt

    Repository UUID: 3c298f89-4303-0410-b956-a3cf2f4a3e73

    Revision: 40773

    Node Kind: directory

    Schedule: normal

    Last Changed Author: nbd

    Last Changed Rev: 40773

    Last Changed Date: 2014-05-17 03:36:22 +0800 (Sat, 17 May 2014)

    下载完毕后,能够查看下当前svn的版本号信息。40773不是固定的,以自己的为准。

    下载完 OpenWrt 的源代码后,为了使OpenWrt 支持很多其他的软件。须要更新和安装其他源上面的软件。

    使用普通用户权限运行就可以。用root可能出现错误哦。

    此时可能也要60分钟左右哦。

    $ cdtrunk

    $./scripts/feeds update -a

    $./scripts/feeds install –a

    一切就绪,接下来就能够開始编译了。

    注意:

    OpenWrt 默认是用非 root username来编译的,因此一定不要用 root 权限来编译

    OpenWrt 系统。对于 Ubuntu 系统,不加 sudo 就可以。

    3 编译OpenWrt源代码

    在编译 OpenWrt 系统之前,我们首先要对它进行配置。

    OpenWrt 系统也是一个 Linux 系统,因此它的配置方法和 Linux的全然一样。也是通过 make menuconfig 来进行配置。

    $ make menuconfig

    假设make menuconfig不出现,通常是前面下载有错误。细致查查输出信息。

    当运行完上诉命令后,便会弹出如图 所看到的的图形界面。

       上图的配置是例如以下:

        1). 选择 CPU 型号

    Target System-> Ralink RT288x/RT3xxx

    2). 选择 CPU 子型号

    Subtarget -> RT3x5x/RT5350 based boards

    3). 选择详细路由器型号

    Target profile -> HAME-MPR-A2

    然后保存退出,配置完毕了,当然这仅仅是一个最简单的配置。我们首先是要在开发板把

    OpenWrt 系统跑起来,更复杂的配置、应用,在以后的笔记中会一点一点的教给大家。

    最后运行 make V=99 -j 4

    開始漫长的编译,编译时间由电脑配置决定,因为编译时,须要的软件是从网络上面下

    载。所以这里要求电脑必须可以上网。V=99 意思显示全部信息,-j 2表示使用2个线程编

    译。

    第一次编译大概须要 4、5 个小时,以后再次编译,则分分钟搞定。

    编译出来的镜像

    位于bin 文件夹以下:

    我们就能够通过方向键来选择配置选项。通过空格键来选择配置状态。

    $ ls bin/ramips/

    md5sums

    openwrt-ramips-rt305x-MPRA2-rootfs.tar.gz

    openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin

    openwrt-ramips-rt305x-root.squashfs

    openwrt-ramips-rt305x-uImage.bin

    openwrt-ramips-rt305x-vmlinux.bin

    openwrt-ramips-rt305x-vmlinux.elf

    packages

    当中 openwrt-ramips-rt305x-mpr-a2-squashfs-sysupgrade.bin 这个就是我们要的镜

    像。烧写到板子上面就可以启动。这样最简单的 OpenWrt 就能够启动了。

    编译常见问题:

    make menuconfig出现了错误

    Build dependency: Please install theopenssl library (with development headers)

    Prerequisite check failed. Use FORCE=1 tooverride.

    make[1]: *** [tmp/.prereq-build] Error 1

    make: *** [world] 错误2

    这个错误还须要安装两个软件包:

    sudo apt-get install libssl-dev

    sudo apt-get install libssl0.9.8

    成功后再运行make menuconfig就OK了

    加快编译的方法:

    编译開始后,openwrt会在线下载所须要的软件代码包,并存放在dl文件夹下。假设dl文件夹下已经有这些软件代码包了就不用又一次下载了,这样就能够大大加快编译的速度,几分钟就能够完事。

    Trunk的openwrt dl文件夹例如以下

    linux@ubuntu:~/openwrt_bak/svn_openwrt/trunk/trunk/dl$ ls -l

    total 310932

    -rw-r--r-- 1 linux linux    93996 Jul 10 11:46 1.0.4.3.arm

    -rw-r--r-- 1 linux linux    30888 Jul 10 11:57 2.13.0.0.a.13.14.arm

    -rw-r--r-- 1 linux linux    29036 Jul 10 11:57 2.13.12.0.arm

    -rw-r--r-- 1 linux linux    29736 Jul 10 11:57 2.13.24.0.lm87.arm

    -rw-r--r-- 1 linux linux   735464 Jul 10 11:57 ath10k-firmware-38eeda3ae6f90fde5546bdd48ee4ff3090f238c0.tar.bz2

    -rw-r--r-- 1 linux linux  1381988 Jul 10 09:01 autoconf-2.68.tar.bz2

    -rw-r--r-- 1 linux linux  1092908 Jul 10 09:10 automake-1.11.6.tar.xz

    -rw-r--r-- 1 linux linux   290069 Jul 10 10:09 bc-1.06.95.tar.bz2

    -rw-r--r-- 1 linux linux 19973532 Jul 10 10:14 binutils-2.22.tar.bz2

    -rw-r--r-- 1 linux linux  1927296 Jul 10 09:17 bison-3.0.2.tar.xz

    -rw-r--r-- 1 linux linux  3888794 Jul 10 12:00 broadcom-wl-4.150.10.5.tar.bz2

    -rw-r--r-- 1 linux linux 13514651 Jul 10 12:02 broadcom-wl-5.100.138.tar.bz2

    -rw-r--r-- 1 linux linux  2167516 Jul 10 12:25 busybox-1.19.4.tar.bz2

    -rw-r--r-- 1 linux linux  6068231 Jul 10 10:05 cmake-2.8.12.2.tar.gz

    -rw-r--r-- 1 linux linux    39021 Jul 10 12:22 comgt.0.32.tgz

    -rw-r--r-- 1 linux linux 10215186 Jul 10 12:12 compat-wireless-2014-03-31.tar.bz2

    -rw-r--r-- 1 linux linux   639727 Jul 10 12:18 dnsmasq-2.70.tar.gz

    -rw-r--r-- 1 linux linux  1598479 Jul 10 12:18 dropbear-2014.63.tar.bz2

    -rw-r--r-- 1 linux linux  5990116 Jul 10 09:21 e2fsprogs-1.42.8.tar.gz

    -rw-r--r-- 1 linux linux  2149838 Jul 10 10:03 findutils-4.4.2.tar.gz

    -rw-r--r-- 1 linux linux    43052 Jul 10 12:15 firewall-2014-04-14-e678dcbf0336c3ca10f9fe2fae8b19347b6c1d4d.tar.gz

    -rw-r--r-- 1 linux linux  1612101 Jul 10 09:17 flex-2.5.39.tar.bz2

    -rw-r--r-- 1 linux linux    65339 Jul 10 12:22 fstools-2014-04-17-fe222812cc12d37647fbb8667851eb005ea95331.tar.gz

    -rw-r--r-- 1 linux linux 69941456 Jul 10 10:18 gcc-linaro-4.8-2014.04.tar.xz

    -rw-r--r-- 1 linux linux 24112160 Jul 10 10:10 gdb-linaro-7.6-2013.05.tar.bz2

    -rw-r--r-- 1 linux linux   103283 Jul 10 09:19 genext2fs-1.4.1.tar.gz

    -rw-r--r-- 1 linux linux  1818812 Jul 10 09:10 gmp-5.1.3.tar.xz

    -rw-r--r-- 1 linux linux  2240587 Jul 10 11:50 hostapd-2014-04-24.tar.bz2

    -rw-r--r-- 1 linux linux    19480 Jul 10 09:19 ipkg-utils-1.7.tar.gz

    -rw-r--r-- 1 linux linux   547439 Jul 10 12:14 iptables-1.4.21.tar.bz2

    -rw-r--r-- 1 linux linux   248471 Jul 10 11:58 ipw2100-fw-1.3.tgz

    -rw-r--r-- 1 linux linux   270042 Jul 10 12:00 ipw2200-fw-3.1.tgz

    -rw-r--r-- 1 linux linux    87224 Jul 10 11:50 iw-3.14.tar.xz

    -rw-r--r-- 1 linux linux   557263 Jul 10 11:17 json-c-0.11.tar.gz

    -rw-r--r-- 1 linux linux   148529 Jul 10 09:16 libelf-0.8.13.tar.gz

    -rw-r--r-- 1 linux linux   642352 Jul 10 12:20 libpcap-1.5.3.tar.gz

    -rw-r--r-- 1 linux linux  2580417 Jul 10 09:00 libtool-2.4.tar.gz

    -rw-r--r-- 1 linux linux    46974 Jul 10 11:18 libubox-2014-05-05-f32a53f92b377fa92dbafd2ce3d2df93fffb314d.tar.gz

    -rw-r--r-- 1 linux linux   421971 Jul 10 12:13 libusb-1.0.9.tar.bz2

    -rw-r--r-- 1 linux linux 73253232 Jul 10 10:57 linux-3.10.36.tar.xz

    -rw-r--r-- 1 linux linux  1082256 Jul 10 12:21 linux-atm-2.5.2.tar.gz

    -rw-r--r-- 1 linux linux 36382752 Jul 10 11:55 linux-firmware-f8c22c692bdee57a20b092e647464ff6176df3ed.tar.bz2

    -rw-r--r-- 1 linux linux   221213 Jul 10 11:18 lua-5.1.5.tar.gz

    -rw-r--r-- 1 linux linux   252395 Jul 10 10:09 lzma-4.65.tar.bz2

    -rw-r--r-- 1 linux linux  1149088 Jul 10 08:59 m4-1.4.17.tar.xz

    -rw-r--r-- 1 linux linux    24121 Jul 10 09:18 mklibs_0.1.35.tar.gz

    -rw-r--r-- 1 linux linux   569264 Jul 10 10:04 mm-common-0.9.6.tar.xz

    -rw-r--r-- 1 linux linux   633173 Jul 10 09:16 mpc-1.0.2.tar.gz

    -rw-r--r-- 1 linux linux  1225496 Jul 10 09:15 mpfr-3.1.2.tar.bz2

    -rw-r--r-- 1 linux linux   345955 Jul 10 09:22 mtd-utils-1.4.5.tar.gz

    -rw-r--r-- 1 linux linux    76956 Jul 10 11:20 netifd-2014-05-15-e784303c4ca8ee86e57521a00ef5f9d0e98617f8.tar.gz

    -rw-r--r-- 1 linux linux    33417 Jul 10 12:15 odhcp6c-2014-05-08.tar.bz2

    -rw-r--r-- 1 linux linux    39024 Jul 10 12:19 odhcpd-2014-04-24.tar.bz2

    -rw-r--r-- 1 linux linux  4509047 Jul 10 12:23 openssl-1.0.1g.tar.gz

    -rw-r--r-- 1 linux linux   173552 Jul 10 11:23 opkg-9c97d5ecd795709c8584e972bfdf3aee3a5b846d.tar.gz

    -rw-r--r-- 1 linux linux   675896 Jul 10 08:59 patch-2.7.1.tar.xz

    -rw-r--r-- 1 linux linux  1931203 Jul 10 09:01 pkg-config-0.28.tar.gz

    -rw-r--r-- 1 linux linux   684342 Jul 10 12:21 ppp-2.4.5.tar.gz

    -rwxrwxr-x 1 linux linux    25345 Jul 10 11:44 procd-2014-03-18-7a9cbcd88b6cf3c0cbee6d4f76c2adaedc54058d.tar.gz

    -rw-r--r-- 1 linux linux   389593 Jul 10 10:03 quilt-0.63.tar.gz

    -rw-r--r-- 1 linux linux   499037 Jul 10 10:08 scons-2.3.1.tar.gz

    -rw-r--r-- 1 linux linux  1059414 Jul 10 09:00 sed-4.2.2.tar.bz2

    -rw-r--r-- 1 linux linux   133173 Jul 10 10:09 squashfs4.2.tar.gz

    -rwxrwxr-x 1 linux linux  9893640 Jul 10 10:02 u-boot-2013.07-rc1.tar.bz2

    -rw-r--r-- 1 linux linux    18034 Jul 10 11:40 ubox-2014-03-27-1d9d2e6ae99c9ba72d1bc40e554d5f422c9b9196.tar.gz

    -rw-r--r-- 1 linux linux    28321 Jul 10 11:18 ubus-2014-05-06-9fda19140e65457d967ff6fe424e420f656c06c9.tar.gz

    -rw-r--r-- 1 linux linux    50057 Jul 10 11:20 uci-2014-04-11.1.tar.gz

    -rw-r--r-- 1 linux linux  2834029 Jul 10 10:58 uClibc-0.9.33.2.tar.bz2

    -rw-r--r-- 1 linux linux     7342 Jul 10 12:25 usbmode-2014-01-17-575c8e8dec6d1f544debe867ebc0bde051209c17.tar.gz

    -rw-r--r-- 1 linux linux    24333 Jul 10 12:25 usb-modeswitch-data-20131113.tar.bz2

    -rw-r--r-- 1 linux linux    67786 Jul 10 10:04 util-macros-1.11.0.tar.bz2

    -rw-r--r-- 1 linux linux   652866 Jul 10 12:01 wl_apsta-3.130.20.0.o

    -rw-r--r-- 1 linux linux    77707 Jul 10 10:05 xfce4-dev-tools-4.8.0.tar.bz2

    -rwxrwxr-x 1 linux linux  1060649 Jul 10 09:09 xz-5.0.5.tar.bz2

    -rw-r--r-- 1 linux linux    90735 Jul 10 10:04 yaffs2_android-2008-12-18.tar.bz2

    -rw-r--r-- 1 linux linux    86538 Jul 10 11:45 zd1201-0.14-fw.tar.gz

    -rw-r--r-- 1 linux linux    39061 Jul 10 11:57 zd1211-firmware-1.4.tar.bz2

    -rw-r--r-- 1 linux linux   571091 Jul 10 12:22 zlib-1.2.8.tar.gz

     链接:http://pan.baidu.com/s/1eQpphR0 password:ega8  非常多朋友发私信问我要代码,公开代码百度云下载,请须要的朋友下载,开心的话,对本文点赞。评论,让很多其它的朋友看到!

  • 相关阅读:
    ActionBar认知
    CSS动画-多列
    CSS3动画效果
    GreenDao数据库框架
    Handler介绍
    AsyncTask介绍
    Android中IntentService的原理及使用
    English interview!
    第六章 结构
    结构体中定义函数指针
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7127710.html
Copyright © 2011-2022 走看看