Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1140540
  • 博文数量: 322
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 3276
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-17 09:21
文章分类

全部博文(322)

文章存档

2010年(155)

2009年(167)

我的朋友

分类: 嵌入式

2010-05-02 12:39:47

主机平台及所需所的源代码
redhat9.0
arm-linux-tools-20070808.tar.gz
linux-2.6.18.tar.bz2
skyeye-testsuite-2.3.tar.bz2
skyeye-1.2.6_Rel.tar.gz

下面开始一步步编译内核。默认你已经安装好了skyeye,并能运行testsuite里的例子。
新建一下工作目录,然后进入工作目录
mkdir prj
cd prj
在解压那些前我先说一下,这些tarball都是大家伙家伙。


在解压这些文件前最好确保有主够的磁盘。最好有1G。如果以后你想编译自己的


程序制作自己的文件的话(比如你下载了uClinux-dist-20070130.tar.gz,这个

tarball有很多
应用程序工具,还有ulibc),你就要有2G的磁盘空间。开始时我为了节省磁盘空间只给vmware
分了4G的盘,安装了skyeye后都没空间了。再解压arm-tools时看到屏幕一大堆找不到**文件的

信息,后来才知道这是没有磁盘空间的结果。tar并不会报告磁盘不足。幸好我用的是vmware,
再给它加个virtual disk 就可以了。


解压arm-linux-tools-20070808.tar.gz
tar xf arm-linux-tools-20070808.tar.gz
解压后会在当前目录下产生一个usr目录。里面就是arm-tools了。在usr/bin下有arm的编译器和
连接器。添加环境变量,使编译arm-linux时能找得到这些工具。
export PATH=$(pwd)/usr/bin:$PATH

解压linux-2.6.18.tar.bz2
需要改两个地方才能使能在skyeye上运行。
include/asm-arm/arch-s3c2410/map.h里的
#define S3C2410_CS6 (0x30000000)
改为
#define S3C2410_CS6 (0xc0000000)

include/asm-arm/arch-s3c2410/memory.h里的
#define PHYS_OFFSET UL(0x30000000)
改为
#define PHYS_OFFSET UL(0xC0000000)

进入内核代码目录,编译内核
make ARCH=arm CROSS_COMPILE=arm-linux- s3c2410_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig

Device Driver --> Character Driver --> Serial Driver选项里
去掉以下选项。8250/16550 and compatible serial support

Boot option --> Default kernel command string 里输入
mem=32M console=ttySAC0 root=/dev/ram initrd=0xC0800000,0x00800000 ramdisk_size=8192 rw
(
以上选项是我根据skyeye-testsuite s3c2410x-2.6.14copy过来的,你可以根据自己的配置自行)

make ARCH=arm CROSS_COMPILE=arm-linux-

编译结束后会产生成vmlinux内核镜像。然后将s3c2410x-2.6.14里的
skyeye.com initrd.img 考过来。
最后的最后。。。

skyeye -e vmlinux

阅读(1518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~