基于S3C2410的嵌入式Linux系统构建


 
    #去除对ext2的支持
    
    Pseudo filesystems一一 >
    
/proc file system support
    
     
Virtual memory file system support(former 
    shm fs)
    
/dev file system support(OBSOLETE) 
    
Automatically mount at boot(NEW)
    
    这里会看到前面修改fs/Kconfig的结果,devfs已经被支持。
    
    Miscellaneous filesystems一—— > 
    #选择YAFFS2根文件系统
    <*>YAFFS2 file system support
    ——————51 2 byte/page devices
    
Lets Yaffs do its own ECC 
    [ ]Use the same ecc byte order as Steven Hill‘S nand-ecc.C
    一一一2048 byte (or larger)/page devices
    
Autoselect yaffs2 format 
    
Disable lazy loading
    
    (1 0)Reserved blocks for checkpointing
    
     
Turn off wide tnodes 
    []Force chunk erase check
    []Cache short names in RAM
    Network File Systems——-〉
    <*〉NFS file system support
    (3)执行make bzlmage,成功编译后将在arch/arm/boot/下生成需要的文件zImage。
    (4)在vivi提示符下,输入"load flash kernel x"命令通过串口下载内核映像到NAND FLASH的KERNEL分区中。
2.3 文件系统
    Linux采用文件系统组织系统中的文件和设备,为设备和用户程序提供统一接口。他支持CRAMFS,JFFS2.RAMDISK等多种文件系统。本系统使用可读写的YAFFS2根文件系统。
2.3.1 YAFFS2文件系统简介
    YAFFS2是YAFFS(Yet Another FLASH File Sys tem)的升级版,能更好地支持NAND FLASH,是一种类似于JFFS的专门为FLASH设计的嵌入式文件系统。与JFFS相比,他减少了一些功能,因此速度更快、占用内存更少。NAND FLASH大多采用MTD+YAFFS的模式,通过YAFFS文件系统,可以像操作硬盘上的文件一样操作FLASH中的数据,在系统断电后数据仍然存储在FLASH芯片中.
2.3.2 根文件制作
    (1)建立根文件系统目录root,在root目录下建讧子日录bin,sbin,dev,etc,proc,lib,user;
    /bin:保存大多数如init.busybox,shell.文件管理实用程序等二进制文件;
    /sbin:保存系统启动过程通常需要的命令;
    /dev:包含用在设备中的所有没备节点;
    /etc:包含系统的所有配置文件;
    
    /proc:这是一个必须设置的特殊目录,在系统运行之后他下面有许多内容,在某些情况下,可以通过他进行系统设置,许多工具能从这里获得信息。在编译内核时要选择文件系统proc的支持; /lib:包含所有必要的库;
    
    /user:存放用户程序。
    
    (2)编译busybox.busyh。x足一个著名的开源软件.他以极小型的应用程序集成了一百多个最常用的Linux命令,闪此享有"嵌入式Linux的瑞士军刀"的美臀。首先,从网上下载busybox源码.该系统使用的是1.1.3版本;其次,执行nlakemenuconfig命令.根据实际需求进行功能配置,该系统将busybox编详为静态连接;最后:执行FIlakc a11 install进行编译、安装;编译器为:ARM-Linux-GCC一3.4.1,安装路径与上述root为同一路径。这样在root目录下将有脚本Linuxrc.在/bin,/sbin日录下将订busvbox提供的指向busybox的符号连接命令集。
    
    (3)编写启动脚本:一般系统启动时都会按要求执行相应的初始化操作。写住命令仃的init=/Liunxrc·这个Linuxrc足指向/etc/init.d/rcS文件的一个符号连接。在rcs文件中列出了 Linux仞始化要执行的文件.例如.初始化进程init、挂载根系统、挂载模块化设备驱动等。rcs的作用相当于windoWS中的autocxec.bat文什,由于对于不同的应用rcS的内容变化很大,因此应根据实际需要编写rcS的内容。
    
    (4)制作YAFFs2映象:利用实用程序nlkyaffsinlage(mkvaffmage与root 目录在同一路径下)制作YAFFS2映像root.img命令为:
    
    #./inkyaffsimage root root. Inlgroot.img就是所需要的YAFFS2文件系统;
    
    (5)文件系统映像下载:在vivi提示符下,执仃"loadyaffs root x"选择root.inlg将文件通过串口下载到NAND FLASH的root分区中.然后复化或重启开发板,就可以启动Linux系统。
    
3 结 语
    通过对嵌入式系统ARNI平台的构建,分析bootloadervivj的功能.阐述了Linux内核的移植,同时也解释r制作YAFFS2文件系统的步骤和方法.意在给嵌入式系统平台的搭建有个整体的把握和认识,以降低进入ARM嵌入式开发应用领域的门槛,进一步推进嵌入式软硬件开发的进程。

COPYRIGHT(C) 2011 厦门永宏亚得机电科技有限公司版权所有(闽ICP备05025945号) ALL RIGHTS RESERVED?

电话: 0592-5190891 传真: 0592-5190720 E-Mail: E-mail:yade8895@163.com
地址: 厦门市海沧区兴港六里17号2607室 邮编:361009 联系人:翟先生