changeset 185:61cb2c96f833

Add a symlink option to the patching script
author charles <charles>
date Wed, 25 Jul 2007 01:04:38 +0000
parents 35ef89b77a94
children 3b7c973a9771
files README-linux-patch patch-ker.sh
diffstat 2 files changed, 25 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/README-linux-patch
+++ b/README-linux-patch
@@ -1,11 +1,16 @@
 To build YAFFS in the Linux kernel tree you need to run the patch-ker.sh
-script, giving the path to your kernel sources, e.g:
+script from the yaffs soiurce directory, giving your chouce as to whether
+you wish to copy or link the code and the path to your kernel sources, e.g:
 
-./patch-ker.sh /usr/src/linux
+./patch-ker.sh c /usr/src/linux
 
 This will copy the yaffs files into fs/yaffs2 and modify the Kconfig
 and Makefiles in the fs directory.
 
+./patch-ker.sh l /usr/src/linux
+
+This does the same as the above but makes symbolic links instead.
+
 After you've run the script, go back to your normal kernel making procedure
 and configure the yaffs settings you want.
 
--- a/patch-ker.sh
+++ b/patch-ker.sh
@@ -16,19 +16,21 @@
 #
 #  Somewhat "inspired by" the mtd patchin script
 #
-#  $Id: patch-ker.sh,v 1.2 2007-02-12 16:55:25 wookey Exp $
+#  $Id: patch-ker.sh,v 1.3 2007-07-25 01:04:38 charles Exp $
 
 VERSION=0
 PATCHLEVEL=0
 SUBLEVEL=0
-LINUXDIR=$1
+COPYORLINK=$1
+LINUXDIR=$2
 
 # To be a Linux directory, it must have a Makefile
 
 
 # Display usage of this script
 usage () {
-	echo "usage:  $0  kernelpath"
+	echo "usage:  $0  c/l kernelpath"
+	echo " if c/l is c, then copy. If l then link"
 	exit 1
 }
 
@@ -39,6 +41,16 @@ then
     usage;
 fi
 
+if [ $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 Makefile
 if [ ! -f $LINUXDIR/Makefile ] 
 then 
@@ -103,7 +115,7 @@ then
    echo "$YAFFSDIR exists, not patching"
 else
    mkdir $LINUXDIR/fs/yaffs2
-   cp Makefile.kernel $LINUXDIR/fs/yaffs2/Makefile
-   cp Kconfig $LINUXDIR/fs/yaffs2
-   cp *.c *.h  $LINUXDIR/fs/yaffs2
+   $CPY  $PWD/Makefile.kernel $LINUXDIR/fs/yaffs2/Makefile
+   $CPY $PWD/Kconfig $LINUXDIR/fs/yaffs2
+   $CPY $PWD/*.c $PWD/*.h  $LINUXDIR/fs/yaffs2
 fi