yaffs2文件系统移植
2010-04-19 12:47
357 查看
制作 ARM 版 linux 一、 修改顶层 Makefile ,确定内核要移植到的目标架构及使用的交叉编译器。 ARCH ?= arm CROSS_COMPILE ?= arm-linux- 二、 修改平台的输入时钟频率为 12M 。 arch/arm/mach-s3c2440/mach-smdk2440.c 文件,在函数 static void __init smdk2440_map_io(void) 中,修改成 s3c24xx_init_clocks(12000000) 。 三、 修改 Nand flash 分区信息,使其与 bootloader 对 Flash 的分区设置保持一致 arch/arm/plat-s3c24xx/common-smdk.c 文件 static struct mtd_partition smdk_default_nand_part[] = { [0] = { .name = "supervivi", .offset = 0x00000000, .size = 0x00040000, }, [1] = { .name = "kernel", .offset = 0x00060000, .size = 0x00200000, }, [2] = { .name = "root", .offset = 0x00260000, .size = 0x3fd80000, } }; 四、 修改 mach_type 。 Bootloader 传递的 mach_type 需要与内核中的某个 mach_type 匹配 方法一: 修改 bootloader 传递给内核的启动参数 方法二: arch/arm/tools/mach-types 文件中, s3c2440 ARCH_S3C2440 S3C2440 362 修改为: s3c2440 ARCH_S3C2440 S3C2440 1999 其中 1999 为 supervivi 默认的 mach_type ,也是 mini2440 的 mach_type ,发生冲突,但只要不加入 mini2440 的配置就不会出问题 五、 给内核打上 yaffs2 文件系统的补丁 六、 配置内核,主要是添加对 s3c2440 、 yaffs2 文件系统的支持 七、 make zImage 编译内核得到 zImage 文件 制作根文件系统 一、 建立 bin 、 linuxrc 、 sbin 、 usr 目录 通过安装 Busybox 来建立这些目录 ( 1 )修改 Busybox 根目录下的 Makefile ARCH ?= arm CROSS_COMPILE ?= arm-linux- ( 2 )执行“ make menuconfig ”后退出 ( 3 )执行“ make” 编译 Busybox ( 4 )执行“ make CONFIG_PREFIX=/work/rootfs install ”,将 Busybox 安装在 rootfs 目录下 此时在 rootfs 目录下建立了 bin 、 linuxrc 、 sbin 、 usr 目录 二、 建立 lib 目录 ( 程序运行所需要的动态链接库的目录 ) mkdir /work/rootfs/lib cp -rfd /work/root_qtopia/lib/* /work/rootfs/lib/ 此时在 rootfs 目录下建立了 lib 目录 三、 建立 etc 目录 mkdir rootfs/etc ( 1 )建立 etc/inittab gedit etc/inittab ,内容为: # /etc/inittab ::sysinit:/etc/init.d/rcS s3c2410_serial0::askfirst:-/bin/sh ::ctrlaltdel:/sbin/reboot ::shutdown:/bin/umount -a –r ( 2 )建立 etc/init.d/rcS mkdir init.d gedit rcS ,内容为: #!/bin/sh ifconfig eth0 192.168.1.17 mount -a mkdir /dev/pts mount -t devpts devpts /dev/pts echo /sbin/mdev > /proc/sys/kernel/hotplug mdev -s 另外,还要改变它的属性使它能够执行。 chmod +x etc/init.d/rcS (3)建立etc/fstab文件 gedit fstab ,内容为: #device mount-point type options dump fack order proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 sysfs /sys sysfs defaults 0 0 tmpfs /dev tmpfs defaults 0 0 (4)构建其他必要的目录,但它们可以是空的 mkdir proc mnt tmp sys root (5)另外,mdev(udev的简化版)是通过init进程来启动的,在使用mdev构造/dev目录之前,init进程至少要用到设备文件/dev/console、/dev/null,所以必须先建立这两个设备文件: mkdir rootfs/dev # mknod -m 660 dev/console c 5 1 # mknod -m 660 dev/null c 1 3 至此,生成的目录和文件为: bin 、 linuxrc 、 sbin 、 usr 、 lib 、 etc 、 proc 、 mnt 、 tmp 、 sys 、 root 此时的 rootfs 就是一个非常小的根文件系统。开发板可以将它作为网络根文件系统直接启动,或者制作成文件系统映像文件存储到 Flash 中。
相关文章推荐
- S3C6410嵌入式应用平台构建(六)——linux-3.14.4移植到OK6410-(Yaffs2文件系统移植)
- Yaffs2文件系统移植到FL2440
- 移植u-boot-2010.09到三星SC32442平台(三):yaffs2文件系统写入支持
- Linux-2.6.32.2内核在mini2440上的移植(二)---yaffs2文件系统移植
- <十一> yaffs2 文件系统的移植
- u-boot-2011.03在TQ2440上的移植(8)--支持下载yaffs2文件系统
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--修改Linux源码参数
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--启动系统
- [转]u-boot-2010.12移植到2440(五,yaffs2文件系统移植
- TX2440 ARM开发板Uboot移植(五、yaffs2文件系统的支持)
- 移植YAFFS2文件系统到linux3.18.4内核(原)
- 移植yaffs2文件系统到mini2440 嵌入式 yaffs2文件系统的移植
- linux内核移植以及yaffs2文件系统的挂载
- mini2440 移植linux2.6.30.10 及yaffs2文件系统 2011-03-12 10:17:18
- <2012 12 06> FL2440开发板的U-boot-2010.09版本移植(十)支持烧写YAFFS2文件系统
- FL2440--YAFFS2文件系统移植(二)
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作--Bootloader的功能
- 基于S3C2440的Linux内核移植和yaffs2文件系统制作-- 配置Linux内核
- 最详尽的ARM+LINUX移植攻略 linux2.6.30.4内核+yaffs2文件系统+uboot 2009.08
- u-boot-2009.08在mini2440上的移植 增加yaffs2文件系统