您的位置:首页 > 运维架构

构建openwrt开发环境与系统(ARM)

2014-12-15 19:09 239 查看
首先我们首选的OpenWrt编译环境是Ubuntu,并且应尽量选择更高版本的。这里我们使用Ubuntu11.04作为编译平台,此平台必须要能稳定地接入网络。我们推荐您使用以下或更高的硬件配置:

CPU:双核1GHZ或更高,建议采用双核2GHZ以上的电脑

RAM:512M以上可用空间

硬盘:至少4GB可用空间。

显卡:集显即可

软件要求:

Gcc >= 4.1

Binutils >= 2.1

Bash Shell or Dash Shell

不建议您使用虚拟机,请使用原生的linux或者MACOSX编译。不建议使用root用户进行编译操作!

以最新的Ubuntu系统作为例,其他发行版操作基本雷同。

1 配置编译开发环境

打开一个终端,执行以下命令:

sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev subversion git-core flex bison m4


注意,如果您是使用64位系统的,请执行这个命令:

sudo apt-get install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev ia32-libs lib32gcc1 libc6-dev-i386 subversion git-core flex bison m4


2 编译OpenWrt开发环境

我们开始从本项目的GoogleProjectSVN服务器下载源码,键入以下命令($不包括在内):

$cd~
$svn co svn co svn://svn.openwrt.org.cn/dreambox/backfire openwrt-arm




稍等上十几分钟,这样就把源码下载到主目录的trunk子目录里面了。然后进入到OpenWrt源代码目录:

$cd openwrt-arm

$cd openwrt

接着升级软件包源码:

$./scripts/feeds update -a

$./scripts/feeds install -a

下图:



输入以下命令开始预设置编译参数:

$make menuconfig



然后就会出现上面这样的界面,您在Targetsystem选择S3C24xx,若您的板子是6410的CPU则选择s3c64xx,Subtarget根据您的板子型号选择mini2440、mini6410,TargetProfile选择Mini2440(Full)或mini6410(Full) ,即可载入一个最简配置,当然您可以再进行其他的定制,例如加点软件包进去一起编译等,根据需求添加所需要的软件包。

然后键入这个命令就开始编译:

$make V=99

如果您的电脑是双核处理器,可以执行下面命令使用多线程编译:

$make -2 V=99

注意,这里make程序的-j是线程数,可以加快编译,但请勿不加参数直接用make -j V=99编译,这是无数线程编译,有可能会让您的电脑死机的。

等上2个小时左右,差不多就搞定了。



如果出现编译错误,请再次检查开始编译前那些依赖程序装好了没有?如果仍然有问题,那请在友善之臂官方中文(http://arm9home.net)论坛汇报一个bug。感谢您的支持!

接下来,编译好以后我们就动手把内核跟rootfs下载到开发板了。

3 更新OpenWrt系统到开发板

1 更新系统到mini2440/micro2440

在编译好的Openwrt的bin里面,会有生成的内核,文件系统,以及uboot。

1. 通过JTAG或者切换到NORFLASH启动,下载U-BOOT到NAND。

下面以友善之臂的SuperVivi例。

从norflash启动,并进入vivi的命令模式,通过USB下载UBOOT到NAND。

>part add uboot 0x00000000 0x00060000

>load flash uboot usb

通过windos下的dnw或者本项目的dnw2工具下载u-boot.bin



2. 下载UBOOT完成后,通过NAND启动UBOOT,进行配置







进入菜单,按s键选择Settting system paramter,进入U-BOOT配置,选项。

再次安3键选择Match Type,根据你的实际情况选择板子。并按S保存设置。重启开发板并进入主菜单,根据需要下载。

2 更新系统到mini6410/tiny6410

首先进入编译工作目录的bin目录.x 然后再进入s3c64xx那个目录,那就是编译好的文件了。这时我们把这里的所有东西全拷贝出来,然后回到Windows环境下,从本项目的服务器上下载OpenWrt定制版的U-boot:
http://OpenWrt-arm.googlecode.com/svn/trunk/bootloader/u-boot/u-boot-mini6410/bin/u-boot-nand.bin
接着启动友善之臂的SD-Flasher。此文件在友善之臂6410开发板的光盘A中。我们找来一张SD卡,然后刷入Superboot。

然后把开发板用串口连接好电脑,再接好USB下载线,开始下载OpenWrt rootfs吧。

首先打开超级终端并连接好开发板,然后用刚才烧写好的SD卡启动开发板,接着在超级终端里面输入“f”以格式化NAND Flash。



然后输入“v”,然后用DNW下载刚才弄好的U-boot。



接着,关掉开发板,以NANDFlash启动。准备下载kernel和rootfs。

在出现此提示中,就马上按下键盘的任意键,这样才能继续:



如果错过了这个提示,别担心,过几秒它还会出现一次(因为U-boot没找到kernel所以进入了“死循环”)。

然后会出现这样的提示,输入“k”就可以用DNW下载kernel了(那个kernel文件名是zImage。):



然后输入“c”下载rootfs的squashfs镜像:



稍等一小会儿,就行啦,再输入“b”,启动开发板!开始OpenWrt之旅吧!

http://www.open-open.com/doc/view/e24fabe948374b078eac2450a4bc1f89
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: