09计算机应用技术1班 李珂颖 0906041048
嵌入式系统移植三步曲
安装SkyEy e 用 skyeye-1.2.8_rc1 进行实验时,会出现问题,而采用 skyeye-1.2. 6 _rc1 时 , 实验进行的很顺利,因此采用 skyeye-1.2. 6 _rc1 。 SkyEre的配置文件 skyeye.conf 在网上直接下载,复制到 SkyEre根目录下,不用更改。BootLoader的移植
1. 编辑 u-boot 根 目录 中的 Makefile 文件 时需要更改文件,所以需要交叉编译环境 安装 arm-linux-gcc-2.95.3 。如果没安装,就会在后几步中出错。2. 需要下载mknandflashdump文件,件复制到/bin/下,然后才能执行如下命令:
[root@localhost u-boot-1.1.4]# mknandflashdump u-boot.bin nand.dump 0
Linux内核的移植
1.下载cs8900.c和cs8900.h两个文件
2.需要启动tftp和nfs服务器。
启动 tftp服务器和 启动 NFS服务器(1).tftp服务器
[root@localhost Desktop]# service xinetd restart
停止 xinetd: [确定] 启动 xinetd: [确定] |
(2).NFS服务器
[root@localhost Desktop]# service nfs start
启动 NFS 服务: [确定] 关掉 NFS 配额: [确定] 启动 NFS 守护进程: [确定] 启动 NFS mountd: [确定] |
3.在第9步 设置Flash分区中编辑devs.c文件。
[root@localhost linux-2.6.14.7]# gedit arch/arm/mach-s3c2410/devs.c
添加如下内容:
/*nand */ #include #include #include /* NAND Controller */ /************************ 建立Nand Flash分区表 ************************/ /* 一个Nand Flash总共64MB, 按如下大小进行分区 */ /* name:代表分区名字 size:代表Flash分区大小(单位:字节) offset:代表Flash分区的起始地址(相对于0x0的偏移) */ static struct mtd_partition partition_info[] = { { /* 1MB */ name: "bootloader", size: 0x00100000, offset: 0x0, }, { /* 3MB */ name: "kernel", size: 0x00300000, offset: 0x00100000, }, { /* 40MB */ name: "root", size: 0x02800000, offset: 0x00400000, }, { /* 20MB */ name: "user", size: 0x00f00000, offset: 0x02d00000, } }; /************************ 加入Nand Flash分区 ************************/ /* nr_partitions:指明partition_info中定义的分区数目 partitions:分区信息表 */ struct s3c2410_nand_set nandset = { nr_partitions: 4, /* the number of partitions */ partitions: partition_info, /* partition table */ }; /************************ 建立Nand Flash芯片支持 ************************/ /* tacls, twrph0, twrph1的意思见S3C2410手册的63, 这3个值最后会被设置到NFCONF中,见S3C2410手册66. sets:支持的分区集 nr_set:分区集的个数 */ struct s3c2410_platform_nand superlpplatform= { tacls:0, twrph0:30, twrph1:0, sets: &nandset, nr_sets: 1, }; |
注意:该内容带有头文件,需添加在文件前面。
4.配置内核
[root@localhost linux-2.6.14.7]# cp arch/arm/configs/smdk2410_defconfig .config
[root@localhost linux-2.6.14.7]# make menuconfig
配置内核时,不要把字体调太大,字体太大TUI界面不会弹出。配置内核时需要小心谨慎。
根文件系统的移植
1.在第8步创建密码文件时只留下root帐号。
法 [root@localhost nfs]# cp /etc/passwd etc/ ;cp /etc/shadow etc/ ;cp /etc/group etc/
[root@localhost nfs]# chmod 600 etc/shadow
[root@localhost nfs]# gedit etc/passwd
内容是:root:x:0:0:root:/root:/bin/sh
[root@localhost nfs]# gedit etc/shadow
内容是:root:$1$zs2zr2N4$15U99ll5tUm3DwOvKnCVV1:14335:0:99999:7:::
[root@localhost nfs]# gedit etc/group
内容是:root:x:0:root
修改时需要把"x"删掉,此时登陆是不要密码的。
2.在启动时需要注意防火墙问题
运行时出现 T T T T T T T T 说明防火墙没关 运行下命令关闭防火墙
[root@localhost u-boot-1.1.4]#iptables -F
http://blog.chinaunix.net/space.php?uid=14735472&do=blog&id=110947