openwrt编译基本教程

2019-07-13 05:42发布

openwrt编译基本教程

OpenWrt是一个高度模块化、高度自动化的嵌入式linux发行版,其编译和安装过程比普通的linux发行版而言,要简单太多了。如果您是新手,您那恐惧的心大可放到肚子里,呵呵。对于新手来说最麻烦的恐怕是安装开发环境需要的软件了。

最基本条件

1.PC一台,性能强点,性能好编译得就快。linux推荐安装ubuntu 8.04中文版(或者suse)和fedora 11(对于初学者而言,最好是装在虚拟机如VM里,可省去很多麻烦。如何在VM里安装linux,您可多google或者baidu)2.宽带一条,需要速度好点,因为有很多软件包是网络下载后安装。3.耐心和时间。

编译环境准备(安装linux发行版和软件包)

1.安装好ubuntu8.04中文版本或者fedora 9或者11,搞定网络连接。 (注意,有人曾报告Fedora 14可能存有bug导致无法编译openwrt,如果您用这个版本的Fedora,且编译失败,请升级。) 以非root用户登陆,打开“应用程序----附件----终端”。如果您已经安装好linux, 那么此步骤请略去。 2.如果您选择ubuntu, 请执行这个命令以安装编译依赖包: sudo apt-get update 然后再输这个: sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils subversion libncurses5-dev ncurses-term zlib1g-dev 如您选择安装fedora11或者fedora9 Fedora 11 or 9:# yum install autoconf binutils bison bzip2 flex gawk gcc gcc-c++ gettext make ncurses-devel patch unzip wget zlib-devel由于fedora 安装包本来就很全面,所以需另外安装的东西较少。所以一般情况下,推荐安装fedora 11。对于初学者而言,最方便的方法是在VM上安装linux。 suse环境编译与ubuntu类似,所以如果您要以suse为开发环境,那么您参考ubuntu的安装步骤即可。 如果你能阅读英文,那么请参考 http://wiki.openwrt.org/doc/howto/buildroot, OpenWrt英文论坛2006年文章:Building OpenWrt? Kamikaze from sourcehttps://forum.openwrt.org/viewtopic.php?id=9180 这里有更详细权威的说明。 4.获取OpenWrt源代码和安装包,更新 svn checkout svn://svn.openwrt.org/openwrt/trunk cd trunk ./scripts/feeds update -a ./scripts/feeds install -a
  1. svn checkout svn://svn.openwrt.org/openwrt/trunk
  2. cd trunk
  3. ./scripts/feeds update -a
  4. ./scripts/feeds install -a
如果想编译制作dreambox就这样: svn co svn://svn.openwrt.org.cn/dreambox/trunk openwrt-dreambox cd openwrt-dreambox ./scripts/feeds update -a ./scripts/feeds install -a make package/symlinks ==Update sources(想更新源码?执行这个!建议每次编译前更新!)== svn update 5.配置编译选项,运行make menuconfig即可打开menuconfig Similar to the Linux kernel config, almost every option has three choices, y / m / n which are represented as follows:这个配置界面跟linux内核的配置界面基本是一回事儿,几乎每一项都有3个选择--“Y”、“M”、“N”,各自用途如下
  • (pressing y) This package will be included in the firmware image
*(键入Y以后……)这个软件将被直接加入到你的目标固件
  • (pressing m) This package will be compiled (to be installed with opkg after FlashingOpenWrt?) but the package will not be included in the firmware-image
*(键入M以后……)这个软件包将会被编译,但不会被自动安装。如果需要它的时候,可以再用OPKG软件包管理器进行安装
  • (pressing n) This package will not be compiled
*(键入N以后……)这个软件包将不会被编译,也不会被安装 When you save your configuration the file ~/openwrt/trunk/.config will be created according to your configuration. 设置完后,您的设置会保存到.config文件中。 默认就是brcm-2.4平台,模块前面选项有3种:*:表示该模块直接编译到核心中M:该模块以被核心支持,可以后再安装空白:不支持该模块具体模块的起什么作用需要多google. 6.编译选项配置保存后,开始编译 make V=99 V=99表示输出详细的debug信息 make world表示编译所有 如您的PC是多核CPU,那么加j=2 选项理论上能加快编译速度。如make -j 2 V=99可加快编译速度(不推荐使用) 如您只想清除/编译某个模块,您可以做如下类似操作make package/qos/clean, make package/qos/compile, make package/qos/install。

更详细的信息建议您参考

http://downloads.openwrt.org/kamikaze/docs/openwrt.html 应该是当前最新最权威的文档 第一次编译由于要下载大量的软件包,慢慢的等吧,快则半小时,慢则2,3小时. 如果下载过慢,建议您中断编译过程,然后用迅雷去主动下载,放到./dl目录下。一个加快速度的小技巧: 本站小编已经将将一些常用的软件包打包成dl.tar,放在http://ul.to/2y8a2w, 下载后用tar xvf dl.tar(在windows下用winrar打开即可,然后你用ftp或者samba之类传到Linux PC上),将解包出来的东东直接放到./dl目录下,相必会大大加快初次安装、编译的速度。同样在http://ul.to/fasgus上可下载linux-2.36.30.10.tar.bz2,当然您也可以用迅雷之类的工具来下。 7.编译好的文件在当前目录的bin文件夹下。如果是brcm-2.4ls bin/brcm-2.4/就可以看到很多熟悉的文件了。 写得比较简短,错误疏漏指出请高手斧正

补充:

如果是编译DB120等BCM6358固件,则在需要make menuconfig里选择CPU为brcm63xx。具体可参考恩山无线网友bugeye的雄贴.[2][3] 2010.2.14 本站小编对zhoutao0712的文章做了大幅补充和调整。等咱有空了,再来鼓捣高级一点的教程。如怎么把WEB界面编译进来,怎么创建自己的package等等。