Archive for May, 2011

How to do development in Android using SSHDroid

Android market has an application called SSHDroid.   If u can root your phone (higy recommended as u will learn more –> as there are a lot more u can do and control than without root)…..then running SSHDroid will open up a port at 22, and then u can ssh into the system…..First install SSHDroid….then run it (it needs WIFI…so u must have wifi setup…it does not use GSM, and it is quite safe….as only those who have connected to your WIFI can ssh into the phone)Then SSHDroid will tell u the root password (admin)…and ip address….then u ssh inside and and basically u can do anything like a linux env, eg chmod/ls/ps/dmesg.

First I created the ARM ELF binary:   myrintdata is the file created using agcc (http://plausible.org/andy/agcc):

export LD_LIBRARY_PATH=/root/download/android/sync/ndk/build/platforms/android-8/arch-arm/usr/lib/:$LD_LIBRARY_PATH
export PATH=/sde3/root/download/android/sync/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin:$PATH
agcc myprint.c
mv a.out myprintdata

Next we will try to scp from inside the Android device to the host environment.   All the ssh/scp utilities is in the dropbear directory….but difficult/impossible to work:

# cd /data/data/berserker.android.apps.sshdroid/dropbear/
# ./scp root@10.10.1.155:/root/download/android/myprintdata /sdcard
/system/bin/ssh: No such file or directory
lost connection

# ls /system/bin/ssh
/system/bin/ssh: No such file or directory
# echo $PATH
/data/data/berserker.android.apps.sshdroid/dropbear:/usr/bin:/usr/sbin:/bin:/sbin:/system/sbin:/system/bin:/system/xbin:/system/xbin/bb:/data/local/bin

# ls /data/data/berse*/dropbear/ssh
/data/data/berserker.android.apps.sshdroid/dropbear/ssh

# ls /data/data/berse*/dropbear/scp
/data/data/berserker.android.apps.sshdroid/dropbear/scp

So we know that ssh and scp all exists in the Dropbear directory – but since it is the $PATH directory, and the binaries not using the $PATH environment variable to look for the command (eg scp and ssh and sftp), this means that the binaries actually hardcode the other binaries in the standard path (/system/bin).   Another alternative to transfer file is needed.

# cp ssh /system/bin/
cp: not found

as noted….Android does not have “cp” command.

# dd if=scp of=/system/bin/scp
/system/bin/scp: cannot open for write: Read-only file system

Yes, dd can be used…but not in the /system directory.

Finally doing a scp from outside the Android environment (ie, host env):

Copy from outside into the Android devices (and it worked):

scp myprintdata  root@10.10.1.160:/data

Copy from inside the Android devices to outside (and it worked):

scp root@10.10.1.160:/sdcard/ls.log.gz .

After we copied the binary “myprintdata” to /sdcard or /data directory – executing it immediately worked!!!!

Why do I have to use SSHDroid to connect to the Android device?   Basically because this Samsung device I have is not able to communicate with my Linux laptop via USB at all – but another different Samsung phone is able to – most likely it is hardware problem, as both have been setup in the same way.

Advertisements

What is the difference between “make modules” and “make modules_install”?

This part always confuses me, so doing a “make modules V=1”:

make modules V=1
rm -f include/config/kernel.release
echo "2.6.38-rc2$(/bin/bash /sde3/root/download/linux_latest/scripts/setlocalversion /sde3/root/download/linux_latest)" > include/config/kernel.release
set -e; : '  CHK     include/linux/version.h'; mkdir -p include/linux/; 	(echo \#define LINUX_VERSION_CODE 132646; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))';) < /sde3/root/download/linux_latest/Makefile > include/linux/version.h.tmp; if [ -r include/linux/version.h ] && cmp -s include/linux/version.h include/linux/version.h.tmp; then rm -f include/linux/version.h.tmp; else : '  UPD     include/linux/version.h'; mv -f include/linux/version.h.tmp include/linux/version.h; fi
set -e; : '  CHK     include/generated/utsrelease.h'; mkdir -p include/generated/; 	if [ `echo -n "2.6.38-rc2+" | wc -c ` -gt 64 ]; then echo '"2.6.38-rc2+" exceeds 64 characters' >&2; exit 1; fi; (echo \#define UTS_RELEASE \"2.6.38-rc2+\";) < include/config/kernel.release > include/generated/utsrelease.h.tmp; if [ -r include/generated/utsrelease.h ] && cmp -s include/generated/utsrelease.h include/generated/utsrelease.h.tmp; then rm -f include/generated/utsrelease.h.tmp; else : '  UPD     include/generated/utsrelease.h'; mv -f include/generated/utsrelease.h.tmp include/generated/utsrelease.h; fi
mkdir -p .tmp_versions ; rm -f .tmp_versions/*
make -f scripts/Makefile.build obj=scripts/basic
(cat /dev/null; ) > scripts/basic/modules.order
rm -f .tmp_quiet_recordmcount
make -f scripts/Makefile.build obj=.
(cat /dev/null; ) > modules.order
mkdir -p kernel/
mkdir -p arch/x86/kernel/
make -f scripts/Makefile.build obj=. missing-syscalls
  /bin/bash scripts/checksyscalls.sh gcc -Wp,-MD,./.missing-syscalls.d  -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include -I/sde3/root/download/linux_latest/arch/x86/include -Iinclude  -include include/generated/autoconf.h -D__KERNEL__ -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Wno-format-security -fno-delete-null-pointer-checks -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -DCONFIG_AS_CFI_SECTIONS=1 -DCONFIG_AS_FXSAVEQ=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Wframe-larger-than=1024 -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack     -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(missing_syscalls)"  -D"KBUILD_MODNAME=KBUILD_STR(missing_syscalls)"
make -f scripts/Makefile.build obj=scripts
make -f scripts/Makefile.build obj=scripts/genksyms
(cat /dev/null; ) > scripts/genksyms/modules.order
make -f scripts/Makefile.build obj=scripts/mod
(cat /dev/null; ) > scripts/mod/modules.order
make -f scripts/Makefile.build obj=scripts/selinux
make -f scripts/Makefile.build obj=scripts/selinux/genheaders
(cat /dev/null; ) > scripts/selinux/genheaders/modules.order
make -f scripts/Makefile.build obj=scripts/selinux/mdp
(cat /dev/null; ) > scripts/selinux/mdp/modules.order
(cat /dev/null; ) > scripts/selinux/modules.order
(cat /dev/null; ) > scripts/modules.order
make -f scripts/Makefile.build obj=init
(cat /dev/null; ) > init/modules.order
make -f scripts/Makefile.build obj=usr
(cat /dev/null; ) > usr/modules.order
make -f scripts/Makefile.build obj=arch/x86
make -f scripts/Makefile.build obj=arch/x86/crypto
(cat /dev/null;   echo kernel/arch/x86/crypto/crc32c-intel.ko;) > arch/x86/crypto/modules.order
make -f scripts/Makefile.build obj=arch/x86/ia32
(cat /dev/null; ) > arch/x86/ia32/modules.order
make -f scripts/Makefile.build obj=arch/x86/kernel
make -f scripts/Makefile.build obj=arch/x86/kernel/acpi
(cat /dev/null; ) > arch/x86/kernel/acpi/modules.order
make -f scripts/Makefile.build obj=arch/x86/kernel/apic
(cat /dev/null; ) > arch/x86/kernel/apic/modules.order
make -f scripts/Makefile.build obj=arch/x86/kernel/cpu
make -f scripts/Makefile.build obj=arch/x86/kernel/cpu/cpufreq
(cat /dev/null;   echo kernel/arch/x86/kernel/cpu/cpufreq/speedstep-lib.ko;   echo kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko;) > arch/x86/kernel/cpu/cpufreq/modules.order
make -f scripts/Makefile.build obj=arch/x86/kernel/cpu/mtrr
(cat /dev/null; ) > arch/x86/kernel/cpu/mtrr/modules.order
(cat /dev/null;   cat arch/x86/kernel/cpu/mtrr/modules.order;   cat arch/x86/kernel/cpu/cpufreq/modules.order;) > arch/x86/kernel/cpu/modules.order
(cat /dev/null;   cat arch/x86/kernel/cpu/modules.order;   cat arch/x86/kernel/acpi/modules.order;   cat arch/x86/kernel/apic/modules.order;   echo kernel/arch/x86/kernel/msr.ko;   echo kernel/arch/x86/kernel/cpuid.ko;   echo kernel/arch/x86/kernel/microcode.ko;) > arch/x86/kernel/modules.order
make -f scripts/Makefile.build obj=arch/x86/kvm
(cat /dev/null;   echo kernel/arch/x86/kvm/kvm.ko;   echo kernel/arch/x86/kvm/kvm-intel.ko;   echo kernel/arch/x86/kvm/kvm-amd.ko;) > arch/x86/kvm/modules.order
make -f scripts/Makefile.build obj=arch/x86/mm
(cat /dev/null; ) > arch/x86/mm/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform
make -f scripts/Makefile.build obj=arch/x86/platform/ce4100
(cat /dev/null; ) > arch/x86/platform/ce4100/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/efi
(cat /dev/null; ) > arch/x86/platform/efi/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/iris
(cat /dev/null; ) > arch/x86/platform/iris/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/mrst
(cat /dev/null; ) > arch/x86/platform/mrst/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/olpc
(cat /dev/null; ) > arch/x86/platform/olpc/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/scx200
(cat /dev/null; ) > arch/x86/platform/scx200/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/sfi
(cat /dev/null; ) > arch/x86/platform/sfi/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/uv
(cat /dev/null; ) > arch/x86/platform/uv/modules.order
make -f scripts/Makefile.build obj=arch/x86/platform/visws
(cat /dev/null; ) > arch/x86/platform/visws/modules.order
(cat /dev/null;   cat arch/x86/platform/ce4100/modules.order;   cat arch/x86/platform/efi/modules.order;   cat arch/x86/platform/iris/modules.order;   cat arch/x86/platform/mrst/modules.order;   cat arch/x86/platform/olpc/modules.order;   cat arch/x86/platform/scx200/modules.order;   cat arch/x86/platform/sfi/modules.order;   cat arch/x86/platform/visws/modules.order;   cat arch/x86/platform/uv/modules.order;) > arch/x86/platform/modules.order
make -f scripts/Makefile.build obj=arch/x86/vdso
(cat /dev/null; ) > arch/x86/vdso/modules.order
(cat /dev/null;   cat arch/x86/kernel/modules.order;   cat arch/x86/mm/modules.order;   cat arch/x86/crypto/modules.order;   cat arch/x86/vdso/modules.order;   cat arch/x86/ia32/modules.order;   cat arch/x86/platform/modules.order;   cat arch/x86/kvm/modules.order;) > arch/x86/modules.order
make -f scripts/Makefile.build obj=kernel
make -f scripts/Makefile.build obj=kernel/debug
(cat /dev/null; ) > kernel/debug/modules.order
make -f scripts/Makefile.build obj=kernel/gcov
(cat /dev/null; ) > kernel/gcov/modules.order
make -f scripts/Makefile.build obj=kernel/irq
(cat /dev/null; ) > kernel/irq/modules.order
make -f scripts/Makefile.build obj=kernel/power
(cat /dev/null; ) > kernel/power/modules.order
make -f scripts/Makefile.build obj=kernel/time
(cat /dev/null; ) > kernel/time/modules.order
make -f scripts/Makefile.build obj=kernel/trace
(cat /dev/null; ) > kernel/trace/modules.order
(cat /dev/null;   cat kernel/time/modules.order;   cat kernel/power/modules.order;   cat kernel/power/modules.order;   cat kernel/gcov/modules.order;   cat kernel/debug/modules.order;   cat kernel/irq/modules.order;   cat kernel/trace/modules.order;   cat kernel/trace/modules.order;   cat kernel/trace/modules.order;   cat kernel/trace/modules.order;) > kernel/modules.order
make -f scripts/Makefile.build obj=mm
(cat /dev/null; ) > mm/modules.order

ANd then followed by “make modules_install V=1” I got:

make modules_install V=1
make -f /sde3/root/download/linux_latest/scripts/Makefile.modinst
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/crypto; cp arch/x86/crypto/crc32c-intel.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/crypto ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/crypto/crc32c-intel.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq; cp arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq; cp arch/x86/kernel/cpu/cpufreq/speedstep-lib.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpu/cpufreq/speedstep-lib.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel; cp arch/x86/kernel/cpuid.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/cpuid.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel; cp arch/x86/kernel/microcode.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/microcode.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel; cp arch/x86/kernel/msr.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kernel/msr.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm; cp arch/x86/kvm/kvm-amd.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm/kvm-amd.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm; cp arch/x86/kvm/kvm-intel.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm/kvm-intel.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm; cp arch/x86/kvm/kvm.ko /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm ; true /lib/modules/2.6.38-rc2+/kernel/arch/x86/kvm/kvm.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/drivers/net; cp drivers/net/r8169.ko /lib/modules/2.6.38-rc2+/kernel/drivers/net ; true /lib/modules/2.6.38-rc2+/kernel/drivers/net/r8169.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/9p; cp fs/9p/9p.ko /lib/modules/2.6.38-rc2+/kernel/fs/9p ; true /lib/modules/2.6.38-rc2+/kernel/fs/9p/9p.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/adfs; cp fs/adfs/adfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/adfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/adfs/adfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/affs; cp fs/affs/affs.ko /lib/modules/2.6.38-rc2+/kernel/fs/affs ; true /lib/modules/2.6.38-rc2+/kernel/fs/affs/affs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/afs; cp fs/afs/kafs.ko /lib/modules/2.6.38-rc2+/kernel/fs/afs ; true /lib/modules/2.6.38-rc2+/kernel/fs/afs/kafs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/autofs4; cp fs/autofs4/autofs4.ko /lib/modules/2.6.38-rc2+/kernel/fs/autofs4 ; true /lib/modules/2.6.38-rc2+/kernel/fs/autofs4/autofs4.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/befs; cp fs/befs/befs.ko /lib/modules/2.6.38-rc2+/kernel/fs/befs ; true /lib/modules/2.6.38-rc2+/kernel/fs/befs/befs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/bfs; cp fs/bfs/bfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/bfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/bfs/bfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs; cp fs/binfmt_misc.ko /lib/modules/2.6.38-rc2+/kernel/fs ; true /lib/modules/2.6.38-rc2+/kernel/fs/binfmt_misc.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/cifs; cp fs/cifs/cifs.ko /lib/modules/2.6.38-rc2+/kernel/fs/cifs ; true /lib/modules/2.6.38-rc2+/kernel/fs/cifs/cifs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/coda; cp fs/coda/coda.ko /lib/modules/2.6.38-rc2+/kernel/fs/coda ; true /lib/modules/2.6.38-rc2+/kernel/fs/coda/coda.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/configfs; cp fs/configfs/configfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/configfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/configfs/configfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/dlm; cp fs/dlm/dlm.ko /lib/modules/2.6.38-rc2+/kernel/fs/dlm ; true /lib/modules/2.6.38-rc2+/kernel/fs/dlm/dlm.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/efs; cp fs/efs/efs.ko /lib/modules/2.6.38-rc2+/kernel/fs/efs ; true /lib/modules/2.6.38-rc2+/kernel/fs/efs/efs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/exportfs; cp fs/exportfs/exportfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/exportfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/exportfs/exportfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/fat; cp fs/fat/fat.ko /lib/modules/2.6.38-rc2+/kernel/fs/fat ; true /lib/modules/2.6.38-rc2+/kernel/fs/fat/fat.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/fat; cp fs/fat/msdos.ko /lib/modules/2.6.38-rc2+/kernel/fs/fat ; true /lib/modules/2.6.38-rc2+/kernel/fs/fat/msdos.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/fat; cp fs/fat/vfat.ko /lib/modules/2.6.38-rc2+/kernel/fs/fat ; true /lib/modules/2.6.38-rc2+/kernel/fs/fat/vfat.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/freevxfs; cp fs/freevxfs/freevxfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/freevxfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/freevxfs/freevxfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/gfs2; cp fs/gfs2/gfs2.ko /lib/modules/2.6.38-rc2+/kernel/fs/gfs2 ; true /lib/modules/2.6.38-rc2+/kernel/fs/gfs2/gfs2.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/hfs; cp fs/hfs/hfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/hfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/hfs/hfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/hfsplus; cp fs/hfsplus/hfsplus.ko /lib/modules/2.6.38-rc2+/kernel/fs/hfsplus ; true /lib/modules/2.6.38-rc2+/kernel/fs/hfsplus/hfsplus.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/hpfs; cp fs/hpfs/hpfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/hpfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/hpfs/hpfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/isofs; cp fs/isofs/isofs.ko /lib/modules/2.6.38-rc2+/kernel/fs/isofs ; true /lib/modules/2.6.38-rc2+/kernel/fs/isofs/isofs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/jffs2; cp fs/jffs2/jffs2.ko /lib/modules/2.6.38-rc2+/kernel/fs/jffs2 ; true /lib/modules/2.6.38-rc2+/kernel/fs/jffs2/jffs2.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/jfs; cp fs/jfs/jfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/jfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/jfs/jfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/lockd; cp fs/lockd/lockd.ko /lib/modules/2.6.38-rc2+/kernel/fs/lockd ; true /lib/modules/2.6.38-rc2+/kernel/fs/lockd/lockd.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/minix; cp fs/minix/minix.ko /lib/modules/2.6.38-rc2+/kernel/fs/minix ; true /lib/modules/2.6.38-rc2+/kernel/fs/minix/minix.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/ncpfs; cp fs/ncpfs/ncpfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/ncpfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/ncpfs/ncpfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nfs; cp fs/nfs/nfs.ko /lib/modules/2.6.38-rc2+/kernel/fs/nfs ; true /lib/modules/2.6.38-rc2+/kernel/fs/nfs/nfs.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nfs_common; cp fs/nfs_common/nfs_acl.ko /lib/modules/2.6.38-rc2+/kernel/fs/nfs_common ; true /lib/modules/2.6.38-rc2+/kernel/fs/nfs_common/nfs_acl.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nfsd; cp fs/nfsd/nfsd.ko /lib/modules/2.6.38-rc2+/kernel/fs/nfsd ; true /lib/modules/2.6.38-rc2+/kernel/fs/nfsd/nfsd.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nls; cp fs/nls/nls_ascii.ko /lib/modules/2.6.38-rc2+/kernel/fs/nls ; true /lib/modules/2.6.38-rc2+/kernel/fs/nls/nls_ascii.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nls; cp fs/nls/nls_cp1250.ko /lib/modules/2.6.38-rc2+/kernel/fs/nls ; true /lib/modules/2.6.38-rc2+/kernel/fs/nls/nls_cp1250.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nls; cp fs/nls/nls_cp1251.ko /lib/modules/2.6.38-rc2+/kernel/fs/nls ; true /lib/modules/2.6.38-rc2+/kernel/fs/nls/nls_cp1251.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nls; cp fs/nls/nls_cp1255.ko /lib/modules/2.6.38-rc2+/kernel/fs/nls ; true /lib/modules/2.6.38-rc2+/kernel/fs/nls/nls_cp1255.ko
  mkdir -p /lib/modules/2.6.38-rc2+/kernel/fs/nls; cp fs/nls/nls_cp437.ko /lib/modules/2.6.38-rc2+/kernel/fs/nls ; true /lib/modules/2.6.38-rc2+/kernel/fs/nls/nls_cp437.ko

…..

Hm…..there goes the differences.

%d bloggers like this: