文件系统的移植(五):jiffs2文件系统的移植

发布者:达文西happy最新更新时间:2022-07-12 来源: csdn关键字:文件系统  移植 手机看文章 扫描二维码
随时随地手机看文章

内 核 版 本:linux-3.0


u-boot版本:u-boot-2010.09


开发板型号:FL2440




1、对根文件系统进行修改


      无修改


2、添加内核对 jiffs2的支持

      [lingyun@localhost linux-3.0]$ vt100

      [lingyun@localhost linux-3.0]$ make menuconfig


      File systems --->

            Miscellaneous filesystems --->


                  <*> Journalling Flash File System v2 (JFFS2) support

                   (0) JFFS2 debugging verbosity (0 = quiet, 2 = noisy)

                   [*] JFFS2 write-buffering support

                   [ ] JFFS2 summary support (EXPERIMENTAL)

                   [ ] JFFS2 XATTR support (EXPERIMENTAL)

                   [ ] Advanced compression options for JFFS2


      修改Makefile


       [lingyun@localhost linux-3.0]$ vim Makefile


       修改195、196行

     [lingyun@localhost linux-3.0]$ make

      编译过程省略


      [lingyun@localhost linux-3.0]$ ls


      显示目录结果同移植(一)。


      ky-jffs2.bin为编译好的内核。 

3、制作 mkfs.jffs2 和mkfs.ubifs 工具


        [lingyun@localhost keyue]$ mkdir mtd-utiles


      [lingyun@localhost keyue]$ cd mtd-utiles/


      [lingyun@localhost mtd-utiles]$ vim build.sh 


        #!/bin/sh

       #+--------------------------------------------------------------------------------------------

       #|Description: This shell script used to download lzo,zlib,mtd-utils source code

       #| and cross compile it for ARM Linux, all is static cross compile.

       #| Author: GuoWenxue

       #| ChangeLog:

       #| 1, Initialize 1.0.0 on 2011.04.12

       #+--------------------------------------------------------------------------------------------

       PRJ_PATH=`pwd`

       LZO="lzo-2.04"

       ZLIB="zlib-1.2.5"

       e2fsprogs_ver=1.42

       mtd="mtd-utils-1.4.9"

       function decompress_packet()

       (

            echo "+---------------------------------------------+"

            echo "| Decompress $1 now"

            echo "+---------------------------------------------+"

           


            ftype=`file "$1"`

            case "$ftype" in

                    "$1: Zip archive"*)


                             unzip "$1" ;;

                    "$1: gzip compressed"*)

                             if [ `expr "$1" : ".*.tar.*" ` ] ; then

                                   tar -xzf $1

                             else

                                   gzip -d "$1"

                             fi ;;

                    "$1: bzip2 compressed"*)

                             if [ `expr "$1" : ".*.tar.*" ` ] ; then

                                   tar -xjf $1

                             else


                                   bunzip2 "$1"

                             fi ;;

                    "$1: POSIX tar archive"*)

                             tar -xf "$1" ;;

                    *)

                     echo "$1 is unknow compress format";;

              esac

       )


       # Download lzo source code packet

       if[ ! -s $LZO.tar.gz ] ; then

               wget http://www.oberhumer.com/opensource/lzo/download/$LZO.tar.gz

       fi


       # Decompress lzo source code packet

       if [ ! -d $LZO ] ; then

               decompress_packet $LZO.tar.*

       fi

      


       # Cross compile lzo


         cd $LZO

        if [ ! -s src/.libs/liblzo*.a ] ; then

             unset LDFLAGS

             ./configure --enable-static --disable-shared

             make

        fi

        cd -

        echo "+----------------------------------------+"

        echo "| Cross compile $ZLIB now "

        echo "| Crosstool: $CROSS"

        echo "+----------------------------------------+"

       


        # Download zlib source code packet

        if[ ! -s $ZLIB.tar* ] ; then

               #wget http://www.zlib.net/$ZLIB.tar.gz

               #wget http://www.imagemagick.org/download/delegates/$ZLIB.tar.bz2

               #wget http://down1.chinaunix.net/distfiles/$ZLIB.tar.bz2

               wget http://pkgs.fedoraproject.org/repo/pkgs/zlib/zlib-1.2.5.tar.bz2/be1e89810e66150f5b0327984d8625a0/$ZLIB.tar.bz2

        fi

 


        # Decompress zlib source code packet

        if [ ! -d $ZLIB ] ; then

               decompress_packet $ZLIB.tar.*

        fi


        #Cross compile zlib

        cd $ZLIB

        if [ ! -s libz.a ] ; then

               unset LDFLAGS

               ./configure --static

               make

        fi

        cd -

        echo "+----------------------------------------+"

        echo "| Cross compile e2fsprogsV$e2fsprogs_ver now "

        echo "| Crosstool: $CROSS"

        echo "+----------------------------------------+"

    


        #e2fsprogs is for UBIFS, download e2fsprogs source code packet

        if [ ! -s e2fsprogs-$e2fsprogs_ver.tar.gz ] ; then

                wget http://nchc.dl.sourceforge.net/project/e2fsprogs/e2fsprogs/$e2fsprogs_ver/e2fsprogs-$e2fsprogs_ver.tar.gz

        fi


          # Decompress e2fsprogs source code packet

        if [ ! -d e2fsprogs-$e2fsprogs_ver ] ; then

                decompress_packet e2fsprogs-$e2fsprogs_ver.tar.*

       fi

       cd e2fsprogs-$e2fsprogs_ver

       if [ ! -s lib/libuuid.a ] ; then

                ./configure --enable-elf-shlibs

                make

       fi

       cd -

       echo "+----------------------------------------+"

       echo "| Cross compile mtd-utils now "

       echo "| Crosstool: $CROSS"

       echo "+----------------------------------------+"

       if [ ! -s ${mtd}.tar.bz2 ] ; then

               wget ftp://ftp.infradead.org/pub/mtd-utils/${mtd}.tar.bz2

       fi

       decompress_packet ${mtd}.tar.bz2

       # download mtd-utils source code

       #if [ ! -d mtd-utils* ] ; then

       #git clone git://git.infradead.org/mtd-utils.git


       #fi

       cd ${mtd}

[1] [2]
关键字:文件系统  移植 引用地址:文件系统的移植(五):jiffs2文件系统的移植

上一篇:文件系统的移植(四):cramfs 文件系统的移植
下一篇:u-boot-2016.09移植(6)-dm9000

推荐阅读最新更新时间:2024-11-14 10:44

linux 2.6.22.6 移植
板子是国嵌的 GQ2440 主要移植步骤参考 韦东山老师的《嵌入式linux应用开发完全手册》 1、下载内核,打补丁 2、是用config_ok 配置内核 3、在 include/asm-arm/mach-types.h 中修改 MACH_TYPE_S3C2440 的值为 1999 因为MACH_TYPE_S3C2440 对应的机器结构在 arch/arm/mach-s3c2440/mach-smdk2440.c 中定义 所以 要把这个文件编译进内核,所以配置中有:System Type - s3c2440 Machines - SMDK2440 4、在arch/arm/mach-s3c2440/mach-smdk2440.c
[单片机]
FATfs 在STM32F107VC上的移植过程
简介: FatFs是一个通用的文件系统模块,以小的嵌入式系统的FAT文件系统。 FatFs的编程遵守的ANSI C格式语法标准,因此,它是具有独立于硬件架构。 在不做任何改变就可以被移植到常用的微控制器中,如8051, PIC, AVR, SH, Z80, H8, ARM等。 FatFs 特点 分离缓冲的FAT结构和每一个文件,适合快速访问多个文件。 支持多个驱动器和分区。 支持FAT12 , FAT16和FAT32 。 支持8.3格式的文件名(LFN不支持) 支持两个分区规则: Fdisk和超级软盘。 优化8/16-bit微控制器。 应用接口 FatFs /微型FatFs模块提供下列功能。 f
[单片机]
FATfs 在STM32F107VC上的<font color='red'>移植</font>过程
stm32专题十九:FatFs文件系统简单读写
首先,我们需要向FatFs来提供一些硬件接口,包括储存设备的初始化,读 / 写函数,硬件参数等,这些在diskio.c中实现: diskio.c /*-----------------------------------------------------------------------*/ /* Low level disk I/O module skeleton for FatFs (C)ChaN, 2014 */ /*-----------------------------------------------------------------------*/ /* If a working sto
[单片机]
stm32专题十九:FatFs<font color='red'>文件系统</font>简单读写
基于keil的contiki系统的stm32移植
一, 全部代码的文件情况 二, keil中文件包含情况 三,源文件的修改情况 1,contiki-2.5(基于这个版本内核),在cpu/arm/stm32f103文件夹下面修改clock.c文件中的函数 void clock_init() { if (SysTick_Config(SystemCoreClock /CLOCK_SECOND)) { while(1); } } void SysTick_handler(void) {current_clock++; if(etimer_pending() && etimer_next_expiration_time() =current_clock)
[单片机]
S3C2440移植linux3.4.2内核之修改分区以及制作根文件系统
上一节S3C2440移植linux3.4.2内核之内核框架介绍及简单修改我们简单配置了内核,这节来根据继续修改内核。 启动内核 内核启动的打印信息如下图所示 可以看到内核有8个分区,而我们的uboot只有4个分区。 0x00000000-0x00040000 : bootloader //存放uboot 0x00040000-0x00060000 : params //存放环境变量 0x00060000-0x00260000 : kernel //存放内核 0x00260000-0x10000000 : rootfs //存放文件系统 所以接下来我们来修改内
[单片机]
构建根文件系统(2)Busybox init 进程
讲init进程的启动过程从/etc/inittab出发。 内核启动init进程时已经打开/dev/console设备作为控制台,一般情况下Busybox init程序就使用/dev/console, 如果内核启动init进程的同时设置了环境变量CONSOLE或console,则使用环境变量所指定的设备。 1、/etc/inittab文件的相关文档和示例代码都在Busybox 的examples/inittab文件中。 vi examples/inittab 内容如下(红色字为格式重要部分): # /etc/inittab init(8) configuration for BusyBox # # Copyright (C) 199
[单片机]
OK6410启动自动挂载nfs文件系统
①通过命令启动和停止ubuntu服务器的nfs 服务: 在命令行下运行: /etc/init.d/nfs restart 使用这个命令可以停止 nfs 服务: /etc/init.d/nfs stop 检查nfs服务器是否开启: service nfs status 重启对应的2个服务: service portmap restart service nfs restart 检查防火墙看是否屏蔽了nfs端口 service iptables stop service iptables status ②设置ubuntu待挂载目录的权限: sudo vi /etc/exports 添
[单片机]
详解英伟达芯片在自动驾驶的软件移植设计开发
NIVIDIA DRIVE Orin 系列作为一个万用 SOC 芯片,可以用于各种不同的感知和通用计算任务,其优质的大算力、运行性能、完备的兼容性,以及丰富的 I/O 接口,可以减少系统开发的复杂度。这些特性使得 Orin 系列的芯片特别适合应用在自动驾驶系统。 整体上看,Orin系列芯片顶层SOC架构的模块主要由三部分处理单元组成:即 CPU、GPU 和硬件加速器组成。以当前较火的Orin-x作为典型说明英伟达芯片在其软件模块开发中是如何进行调用的。 1、CPU: Orin-x中CPU包括 12 个 Cortex-A78,可以提供通用的目标高速计算兼容性。同时,Arm Cortex R52 基于功能安全设计(FSI),可以提
[嵌入式]
详解英伟达芯片在自动驾驶的软件<font color='red'>移植</font>设计开发
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved