⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patch-ker.sh

📁 yaffs2 lastest sourcecode~~
💻 SH
字号:
#!/bin/sh## YAFFS: Yet another FFS. A NAND-flash specific file system.## Copyright (C) 2002-2006 Aleph One Ltd.## Created by Charles Manning <charles@aleph1.co.uk>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License version 2 as# published by the Free Software Foundation.## Patch YAFFS into the kernel##  args:  kpath  : Full path to kernel sources to be patched##  Somewhat "inspired by" the mtd patchin script##  $Id: patch-ker.sh,v 1.5 2009/01/22 00:44:46 charles Exp $VERSION=0PATCHLEVEL=0SUBLEVEL=0COPYORLINK=$1LINUXDIR=$2# To be a Linux directory, it must have a Makefile# Display usage of this scriptusage () {	echo "usage:  $0  c/l kernelpath"	echo " if c/l is c, then copy. If l then link"	exit 1}if [ -z $LINUXDIR ]then    usage;fiif [ $COPYORLINK = l ]; then   CPY="ln -s"elif [ $COPYORLINK = c ]; then   CPY="cp"else   echo "unknown copy or link type"   usage;fi# Check if kerneldir contains a Makefileif [ ! -f $LINUXDIR/Makefile ]then	echo "Directory $LINUXDIR does not exist or is not a kernel source directory";	exit 1;fi# Get kernel versionVERSION=`grep -s VERSION <$LINUXDIR/Makefile | head -n 1 | sed s/'VERSION = '//`PATCHLEVEL=`grep -s PATCHLEVEL <$LINUXDIR/Makefile | head -n 1 | sed s/'PATCHLEVEL = '//`SUBLEVEL=`grep -s SUBLEVEL <$LINUXDIR/Makefile | head -n 1 | sed s/'SUBLEVEL = '//`# Can we handle this version?if [ $VERSION -ne 2  -o $PATCHLEVEL -lt 6  ]then	echo "Cannot patch kernel version $VERSION.$PATCHLEVEL.$SUBLEVEL, must be 2.6.x or higher"	exit 1;fiKCONFIG=$LINUXDIR/fs/KconfigKCONFIGOLD=$LINUXDIR/fs/Kconfig.pre.yaffsYAFFS_PATCHED_STRING=`grep -s yaffs <$KCONFIG | head -n 1`MAKEFILE=$LINUXDIR/fs/MakefileMAKEFILEOLD=$LINUXDIR/fs/Makefile.pre.yaffsif [ ! -z "$YAFFS_PATCHED_STRING" ]then    YAFFS_PATCHED=0    echo "$KCONFIG already mentions YAFFS, so we will not change it"else   # Change the fs/Kconfig file   # Save the old Kconfig   # Copy all stuff up to JFFS   # Insert some YAFFS stuff   # Copy all the rest of the stuff    YAFFS_PATCHED=1    echo "Updating $KCONFIG"    mv -f $KCONFIG  $KCONFIGOLD    sed -n -e "/[Jj][Ff][Ff][Ss]/,99999 ! p" $KCONFIGOLD >$KCONFIG    echo "">>$KCONFIG    echo "# Patched by YAFFS" >>$KCONFIG    echo "source \"fs/yaffs2/Kconfig\"">>$KCONFIG    echo "">>$KCONFIG    sed -n -e "/[Jj][Ff][Ff][Ss]/,99999 p" $KCONFIGOLD >>$KCONFIG   # now do fs/Makefile -- simply add the target at the end    echo "Updating $MAKEFILE"    cp -f $MAKEFILE $MAKEFILEOLD    echo "">>$MAKEFILE    echo "# Patched by YAFFS" >>$MAKEFILE    echo "obj-\$(CONFIG_YAFFS_FS)		+= yaffs2/" >>$MAKEFILEfiYAFFSDIR=$LINUXDIR/fs/yaffs2if [ -e $YAFFSDIR ]then   echo "$YAFFSDIR exists, not patching"else   mkdir $LINUXDIR/fs/yaffs2   $CPY  $PWD/Makefile.kernel $LINUXDIR/fs/yaffs2/Makefile   $CPY $PWD/Kconfig $LINUXDIR/fs/yaffs2   $CPY $PWD/*.c $PWD/*.h  $LINUXDIR/fs/yaffs2fi

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -