需要下载yaffs2-d43e901.tar.gz,busybox-1.13.0.tar.bz2

使用的交叉编译器是4.33

1.修改配置编译busybox

修改Makefile

CROSS_COMPILE = arm-linux-

ARCH = arm

make menuconfig 根据实际情况来进行配置

make; make install

2. 构建文件系统

建立一个目录root_2.6.30.4,复制上面编译出来的busybox的“bin”目录,“sbin”目录,“usr”目录和“linuxrc”到root_2.6.30.4目录下,然后

mkdir -p dev etc /home/sky lib mnt opt proc root sddisk sys tmp udisk usr/lib usr/share var,接着向这些文件里填写内容,我是直接从天嵌提供的文件系统里复制的

做好后使用命令mkyaffs2image root_2.6.30.4 root_2.6.30.4.bin制作文件系统

3.移植文件系统

获取到yaffs2源码解压后,用命令./patch-ker.sh c 内核目录给内核打上补丁,然后输入 make menuconfig 进入配置菜单进行配置,使内核支持yaffs2

4.完善串口驱动

修改"arch/arm/mach-s3c2440/mach-smdk2440.c"文件,

static struct s3c2410_uartcfg smdk2440_uartcfgs[] __initdata = {
/* IR port */
[2] = {
.hwport     = 2,
.flags     = 0,
.ucon     = 0x3c5,
.ulcon     = 0x03,
.ufcon     = 0x51,
}
};

修改 "drivers/serial/samsung.c"文件,在s3c24xx_serial_startup函数返回前,加上

if (port->line == 2) {
   s3c2410_gpio_cfgpin(S3C2410_GPH6, S3C2410_GPH6_TXD2);
   s3c2410_gpio_pullup(S3C2410_GPH6, 1);
   s3c2410_gpio_cfgpin(S3C2410_GPH7, S3C2410_GPH7_RXD2);
   s3c2410_gpio_pullup(S3C2410_GPH7, 1);
}

在文件开始加上头文件 #include <mach/regs-gpio.h>

串口设备名就不需要改了,只要在制作文件系统时,/etc/inittab文件里的串口名和这里的一致就行了

移植yaffs文件系统的更多相关文章

  1. linux2.6.30.4内核移植(3)——yaffs文件系统移植

    内核源码:linux2.6.30.4 交叉编译工具:3.4.5 移植linux内核至:TQ2440 工作基础:http://www.cnblogs.com/nufangrensheng/p/36696 ...

  2. yaffs文件系统

    1. 概述yaffs文件系统专为Nandflash设计的日志文件系统,占用page中oob区域.目前有两个版本的yaffs文件系统.nandflash不可靠,存在坏块,存在数据错误,需要软件弥补纠正此 ...

  3. 在内核中增加对yaffs文件系统的支持

    自己最近在搞一些内核以及根文件系统的移植,就涉及到了需要在内核中增加对yaffs文件系统的支持.在网上找了一些文档后,自己将具体的操作过程做了一个总结,方便以后查询使用: 1.获取yaffs源码 YA ...

  4. Yaffs文件系统简介

    1 简介 1.1 应用场合 Yaffs(Yet Another Flash File System)文件系统是专门针对NAND闪存设计的嵌入式文件系统,目前有YAFFS和YAFFS2两个版本,两个版本 ...

  5. Linux 4.10.8 根文件系统制作(三)---制作yaffs文件系统

    这里直接用的是韦东山提供的工具. yaffs文件系统是专门用于nandflash的文件系统 我们前面已经下载了yaffs 的源码,也做了文件系统目录的构建. 在yaffs2的源码目录中有一个utils ...

  6. linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)

    一.首先编译并安装BusyBox 这里使用的交叉编译器还是3.4.5. 注意:编译内核.编译BusyBox以及编译文件系统中的所有应用程序的交叉编译器要使用同一个版本. 1.获取BusyBox源码 下 ...

  7. U-Boot在FL2440上移植(四)----支持网卡DM9000和烧写yaffs文件系统

    <一>支持网卡芯片DM9000 在driver下,有网卡驱动DM9000x.c 和 DM9000x.h DM9000接在BANK4,位宽16 在include/configs/TX2440 ...

  8. 内核移植和文件系统制作(4):UBIFS根文件系统制作总结

    UBIFS文件系统简介: 无排序区块图像文件系统(UnsortedBlock Image File System, UBIFS)是用于固态硬盘存储设备上,并与LogFS相互竞争,作为JFFS2的后继文 ...

  9. 内核移植和文件系统制作(3)Ramdisk简介和常见问题

    一,Ramdisk简介: Ramdisk是一种基于内存的虚拟文件系统(并非一个实际的文件系统),它将一部分固定大小(这个大小在编译内核的make menuconfig时配置)的内存当作硬盘一个分区来使 ...

随机推荐

  1. 提高Python运行效率的六个窍门

    曾灵敏 - MAY 18, 2015 Python是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作.不仅如此,它还轻松支持多任务处理,比如多进程. 不喜欢Python的人经常会吐嘈P ...

  2. zoj 3591 Nim 博弈论

    思路:先生成序列再求异或,最多的可能为n*(n+1)/2: 在去掉其中必败的序列,也就是a[i]=a[j]之间的序列. 代码如下: #include<iostream> #include& ...

  3. 传说中的WCF(4):发送和接收SOAP头

    如果你实在不明白Header是个啥玩意儿,你就想一想你发送电子邮件时,是不是有个叫“附件”的东东?对啊,那么SOAP头是不是可以理解为一种附加信息?就是附加到消息正文的内容. 消息正文又是啥?WCF除 ...

  4. js的in运算符与instanceof运算符

    in运算符:希望他的左操作数是一个字符串或可以转换为字符串,希望他的右操作数是一个对象.如果右操作数的对象拥有一个名为左操作数值的属性名,那么表达式返回true. var point= {x:1,y: ...

  5. 连接池和 "Timeout expired"异常

    转自:博客园宁静.致远:http://www.cnblogs.com/zhangzhu/archive/2013/10/10/3361197.html 异常信息: MySql.Data.MySqlCl ...

  6. 8天学通MongoDB——第三天 细说高级操作

    原文地址:http://www.cnblogs.com/huangxincheng/archive/2012/02/21/2361205.html 今天跟大家分享一下mongodb中比较好玩的知识,主 ...

  7. C语言连接Oracle (转载)

    最近在搞C语言连接Oracle.DB2数据库,现把C连接Oracle的文章总结下: 用C语言连接ORACLE数据库.有两个思路和目的 思路一)本地环境:UBUNTU 7.04,ORACLE 10G目的 ...

  8. lintcode:Ugly Number I

    Ugly Number Write a program to check whether a given number is an ugly number`. Ugly numbers are pos ...

  9. Linux进程调度原理

    Linux进程调度原理 Linux进程调度机制 Linux进程调度的目标 1.高效性:高效意味着在相同的时间下要完成更多的任务.调度程序会被频繁的执行,所以调度程序要尽可能的高效: 2.加强交互性能: ...

  10. BS与CS的比较

    http://www.oschina.net/news/57811/open-web-not-died?p=2#comments 浏览器是为浏览文档设计的,它的界面布局其实只有从上至下的流布局一种,浏 ...