我的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 非常多朋友发私信问我要代码,公开代码百度云下载,请须要的朋友下载,开心的话,对本文点赞。评论,让很多其它的朋友看到!