OpenWrt:openwrt的下载安装、建立编译环境
2017-04-11 16:37
344 查看
使用openwrt是因为目前的工作要用到MT7688,本来是直接用MT7688的SDK开发的,后来发现大家好像都是在openwrt下开发,也感觉可能用openwrt会更好点,就学习一下,做个笔记,仅供参考。安装过程是整合了很多资料的,无所谓原创,只能说是自己的学习过程。
OpenWrt 是一个高度模块化、高度自动化的嵌入式的 Linux 发行版,它的的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序,所以具有很强的定制能力,这也让发烧友们更具有挑战激情。同时OpenWRT拥有强大的网络组件和扩展性,常常被用于电话、小型机器人、智能家居、以及路由器设备中。
在linux\ubuntu上安装的openwrt是从git或svn上克隆下载的。相比svn,更了解git一点(现在好像也只能从git上克隆下载了,很多资料说svn不能下载了)。所以我就从git克隆下载安装的。
第一、准备开发环境:
虚拟机vmware10下安装ubuntu14.04。这个就不展开了,学习openwrt应该都是安装好ubuntu或去他linux版本的,有需要去查资料吧,网上很多。
第二、搭建编译环境
特别说一下:安装git和svn
1、git安装: (参考:http://jingyan.baidu.com/article/dca1fa6f43c965f1a540524d.html)
2、svn安装:不是说用不到svn的,为什么还要安装。本来没打算的安装,不过之后下载openwrt之后make menuconfig打不开,提示svn没有安装,虽然不知道为什么,还是装了吧。
要用svn安装openwrt的可以参考这个连接:http://blog.csdn.net/fyh2003/article/details/44564219
3、安装OpenWrt编译用到的支持包
安装之前最好先更新下组件包:
支持包:
建议还是一个个安装的好,装没装好一目了然,这里也不一定全,如果还有那就在安装吧。
第三、安装OpenWrt
OpenWrt源码在SVN里面有分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版。git里面暂时不知道怎么分类的,好像是按照版本吧,现在应该是15.05。建议下载官方源码。下载前先在本地创建文件夹:
1、在主文件夹(存放openwrt的目录下)下打开终端,新建一个git文件夹(名字随意)用来存放openwrt。因为是git克隆下载的,所以归类到git下。
非必要命令
2、建立一个openwrt文件夹
3、初始化(非必要命令)
4、克隆下载
下面这个网站也有其他版本:git.openwrt.org
下载好估计要一两个小时吧,看网速吧,这里花了1小时左右。可能会卡住,卡住就重新下吧少年。
第四、打开OpenWrt内核编译配置菜单
1、下载好之后:添加软件扩展包
1.1、将feeds.conf.default内容复制到feeds.conf,在feeds.conf添加额外的编译条件,如果没有额外需要编译的就跳过这个命令:
1.2、更新扩展,安装扩展(很多扩展软件需要安装,例如界面软件LuCI),更新安装挺费时间的,时间有点久,有的时候会卡住或者不成功,多试几次。网络要好,最好可以翻墙 (-a是全部的意思)
Run “./scripts/feeds update -a” to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
更新
and “./scripts/feeds install -a” to install symlinks of all of them into
package/feeds/.(有需要也可以单独安装一个包)
使下载的软件包可以出现在 make menuconfig 配置菜单中
查看列表
安装
或
注意:./scripts/feeds 这个脚本只是使软件包可以出现在 make menuconfig 配置菜单中,而并不是真正的安装或者编译软件。
另外如果只是加装 Luci web UI 可以这样做 :
You can use “scripts/flashing/flash.sh” for remotely updating your embeddedsystem via tftp
2、测试编译环境:
3、就可以开始配置自己的固件了。进入定制界面:
界面出现内核配置菜单说明安装成功,可以根据自己要求定制OpenWrt内核了。
如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。
4、配置内核选项可以执行
5、编译
或
或
-j:多进程编译,这样编译快些。-j 指定的参数一般为你的 CPU 核数+1,比如双核 CPU 就指定为 3
V=99 V=s:输出编译的详细信息,这样编译出错时,我们才知道错在哪里
编译成功后,会在 bin 目录下生成固件文件
其中的 openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin 就是用来烧写到设备的固件
6、清理工程
删除/openwrt/bin 和/openwrt/build_dir 这 2 个目录
删除/openwrt/bin、/openwrt/build_dir、/openwrt/taging_dir、/openwrt/staging_di r/toolchain 和/openwrt/staging_dir
删除所有编译的或者配置的和下载的 feeds 内容以及下载的软件包源码,还有.config 配置文件。
如果你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。
参考:http://www.linuxdiyf.com/linux/21036.html
第五、下面是我出现的问题:
1、提示:Build dependency: Please install the openssl library (with development headers)
缺少依赖项,请安装libssl-dev,命令如下:
2、提示:Build dependency: Please install the Subversion client
提示没有安装svn的客户端,所以就在第二部做了说明,命令:
到此安装结束。
OpenWrt 是一个高度模块化、高度自动化的嵌入式的 Linux 发行版,它的的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序,所以具有很强的定制能力,这也让发烧友们更具有挑战激情。同时OpenWRT拥有强大的网络组件和扩展性,常常被用于电话、小型机器人、智能家居、以及路由器设备中。
在linux\ubuntu上安装的openwrt是从git或svn上克隆下载的。相比svn,更了解git一点(现在好像也只能从git上克隆下载了,很多资料说svn不能下载了)。所以我就从git克隆下载安装的。
第一、准备开发环境:
虚拟机vmware10下安装ubuntu14.04。这个就不展开了,学习openwrt应该都是安装好ubuntu或去他linux版本的,有需要去查资料吧,网上很多。
第二、搭建编译环境
特别说一下:安装git和svn
1、git安装: (参考:http://jingyan.baidu.com/article/dca1fa6f43c965f1a540524d.html)
apt-get install git
2、svn安装:不是说用不到svn的,为什么还要安装。本来没打算的安装,不过之后下载openwrt之后make menuconfig打不开,提示svn没有安装,虽然不知道为什么,还是装了吧。
要用svn安装openwrt的可以参考这个连接:http://blog.csdn.net/fyh2003/article/details/44564219
apt-get install subversion
3、安装OpenWrt编译用到的支持包
安装之前最好先更新下组件包:
sudo apt-get update
支持包:
sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autocnf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev subversion git-cor gaw asciido libz-dev
建议还是一个个安装的好,装没装好一目了然,这里也不一定全,如果还有那就在安装吧。
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 makesudo 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 subversionsudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install git-core
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
第三、安装OpenWrt
OpenWrt源码在SVN里面有分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版。git里面暂时不知道怎么分类的,好像是按照版本吧,现在应该是15.05。建议下载官方源码。下载前先在本地创建文件夹:
1、在主文件夹(存放openwrt的目录下)下打开终端,新建一个git文件夹(名字随意)用来存放openwrt。因为是git克隆下载的,所以归类到git下。
非必要命令
mkdir git cd git git init
2、建立一个openwrt文件夹
mkdir openwrt
3、初始化(非必要命令)
sudo chmod 777 openwrt
4、克隆下载
cd openwrt sudo git clone git://git.openwrt.org/15.05/openwrt.git
下面这个网站也有其他版本:git.openwrt.org
下载好估计要一两个小时吧,看网速吧,这里花了1小时左右。可能会卡住,卡住就重新下吧少年。
第四、打开OpenWrt内核编译配置菜单
1、下载好之后:添加软件扩展包
1.1、将feeds.conf.default内容复制到feeds.conf,在feeds.conf添加额外的编译条件,如果没有额外需要编译的就跳过这个命令:
cp feeds.conf.default feeds.conf
1.2、更新扩展,安装扩展(很多扩展软件需要安装,例如界面软件LuCI),更新安装挺费时间的,时间有点久,有的时候会卡住或者不成功,多试几次。网络要好,最好可以翻墙 (-a是全部的意思)
Run “./scripts/feeds update -a” to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
更新
./scripts/feeds update -a
and “./scripts/feeds install -a” to install symlinks of all of them into
package/feeds/.(有需要也可以单独安装一个包)
使下载的软件包可以出现在 make menuconfig 配置菜单中
查看列表
./scripts/feeds list
安装
./scripts/feeds install -a
或
./scripts/feeds install <PACKAGENAME>
注意:./scripts/feeds 这个脚本只是使软件包可以出现在 make menuconfig 配置菜单中,而并不是真正的安装或者编译软件。
另外如果只是加装 Luci web UI 可以这样做 :
./scripts/feeds update packages luci ./scripts/feeds install -a -p luci
You can use “scripts/flashing/flash.sh” for remotely updating your embeddedsystem via tftp
2、测试编译环境:
make defconfig
3、就可以开始配置自己的固件了。进入定制界面:
make menuconfig
界面出现内核配置菜单说明安装成功,可以根据自己要求定制OpenWrt内核了。
如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。
4、配置内核选项可以执行
make kernel_menuconfig
5、编译
make
或
make -j 3 V=s / make V=s
或
make V=99
-j:多进程编译,这样编译快些。-j 指定的参数一般为你的 CPU 核数+1,比如双核 CPU 就指定为 3
V=99 V=s:输出编译的详细信息,这样编译出错时,我们才知道错在哪里
编译成功后,会在 bin 目录下生成固件文件
其中的 openwrt-ramips-mt7688-LinkIt7688-squashfs-sysupgrade.bin 就是用来烧写到设备的固件
6、清理工程
make clean
删除/openwrt/bin 和/openwrt/build_dir 这 2 个目录
make dirclean
删除/openwrt/bin、/openwrt/build_dir、/openwrt/taging_dir、/openwrt/staging_di r/toolchain 和/openwrt/staging_dir
make distclean
删除所有编译的或者配置的和下载的 feeds 内容以及下载的软件包源码,还有.config 配置文件。
如果你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。
参考:http://www.linuxdiyf.com/linux/21036.html
第五、下面是我出现的问题:
1、提示:Build dependency: Please install the openssl library (with development headers)
缺少依赖项,请安装libssl-dev,命令如下:
sudo apt-get install libssl-dev
2、提示:Build dependency: Please install the Subversion client
提示没有安装svn的客户端,所以就在第二部做了说明,命令:
apt-get install subversion
到此安装结束。
相关文章推荐
- 如何搭建android的开发环境 虚拟机和ubuntu的安装与建立编译条件
- centos6.5环境Redis下载及编译安装
- 安装openwrt的编译环境
- linux嵌入式编程高手历程系列2-安装debian并建立嵌入式编译环境
- Ubuntu下建立openwrt-linux交叉编译环境
- Android 4.2源码的下载和编译环境的安装及源码的编译
- mesos下载、准备安装环境、编译以及测试
- Android 源码的下载和编译环境的安装及编译
- linux嵌入式编程高手历程系列2-安装debian并建立嵌入式编译环境
- 在ROS中建立、编译、下载安装、删除包package
- 【转】Android 4.3源码的下载和编译环境的安装及编译
- Openwrt 学习记录:编译环境安装及目录介绍(一)
- sdcc编译安装,建立TI RF器件 cc111x cc2530等开发环境
- ubuntu12.04建立交叉编译环境开发openwrt
- 建立OPENWRT交叉编译环境
- Android 4.3源码的下载和编译环境的安装及编译
- 编译openwrt----搭建编译环境与下载源码
- wx网罗系列之环境搭建:wxWidget的下载、安装与编译
- Android 4.2源码的下载和编译环境的安装及源码的编译(跟着做能成功)
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP