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

在skyeye上运行最新的S3C6410的Linux内核版本

2011-05-26 21:22 453 查看

1、交叉编译工具链

skyeye是模拟硬件开发板的模拟器,想在skyeye上运行linux内核需根据你所需要的体系结构来进行交叉编译。上s3c6410是arm11系列的开发板,所以我们需要arm-linux-tools的交叉编译工具。

下载交叉编译工具:交叉编译工具可以自己制作,也可以到网上下载别人已经编译好的交叉编译工具。不过下载别人的会由于版本的问题二到时候编译内核出现很多意想不到的问题,所以交叉编译工具尽可能选教新的。

我用的交叉编译工具:arm-linux-tools-4.2.1.tar.gz

内核为:linux-2.6.35.tar.bz2

 

下载交叉编译工具arm-linux-tools-4.2.1.tar.gz后解压,

tar  zxvf arm-linux-tools-4.2.1.tar.gz -C ~/

这样解压后,在~/下就有一个usr是目录,这个目录中的~/usr/local/bin下就是交叉编译的命令,这时可以在.bash中把这个路径指明为环境变量,从而可以系统可以找到这些命令,但也可以不用,就是你每次用这些arm-linux-的命令必须指明这些命令的路径。

 

2、编译内核

 

下载内核linux-2.6.35.tar.bz2,然后解压,进入解压的目录,开始交叉编译内核:

1)、make s3c6410_defconfig;

注:这个命令可能会出错,说没有s3c6410_defoncig的信息,这时可以 cp arch/arm/configs/s3c6400_defconfig .config

2)、make ARCH=arm CROSS_COMPILE=~/usr/local/bin/arm-linux- menuconfig, 之后进入图形界面进行内核配置,

Boot options  --->  进入第三行,修改里面的值为:console=ttySAC0,115200 root=/dev/ram init=/linuxrc initrd=0x50800000,2M rw

然后退出内核配置,并保存

        3)、编译内核:make ARCH=arm CROSS_COMPILE=~/usr/local/bin/arm-linux- 

3)、制作目录s3c6410,并刚才生成的vmlinux拷贝到s3c6410中

3)、下载skyeye最新版本,至少在skyeye-1-3-2上版本,然后根据里面的手册进行安装

4)、在目录s3c6410中制作skyeye.conf, 如下:

# skyeye config file for S3C6410X

arch:arm
cpu: arm11
mach: s3c6410x

# physical memory
mem_bank: map=M, type=RW, addr=0x50000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0x50800000, size=0x00800000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0x51000000, size=0x19000000

# all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x70000000, size=0x10000000
mem_bank: map=I, type=RW, addr=0x80000000, size=0x10000000

uart:mod = term

5)、制作文件系统,也可以从skyeye的测试文件中拷贝文件系统

6)、在skyeye上运行内核:

/opt/skyeye/bin/skeye  -e vmlinux -l0x500000000,0xffffff

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐