Ready-to-use NFS kernel

Attention: What ever you do, you do it on your own risk

Do not use this kernel for firmwares > 1.24! =Prerequisite= You have to have firmware 1.20 already installed and opened for telnet access, because the kernel is build from the Buffalo sources of firmware 1.20. If not, you can find a guide here: Open Stock Firmware LS-XHL

You have to have optware already installed, because you will need the package portmap and the package e2fslibs from the current optware feed. If not, you can find a guide here: Ipkg on the Linkstation (for end-users)

=How to install the NFS kernel= Download this files into a directory of your Linkstation:

http://downloads.buffalo.nas-central.org/Users/kenatonline/NFSKernel/install-nfs-kernel.sh http://downloads.buffalo.nas-central.org/Users/kenatonline/NFSKernel/nfs-kernel-feroceon-kw.tgz

If you want to use JFS as filesystem, load this file into the same directory:

http://downloads.buffalo.nas-central.org/Users/kenatonline/NFSKernel/jfsprogs.tgz

Connect to your Linkstation.

telnet 192.168.1.100

Switch to user root (and do not forget to load the profile (that's the reason for the "-")!)

su -

Switch to the directory where you stored the files (for this example share "share" is assumed).

cd /mnt/disk1/share

Start the script install-nfs-kernel.sh like this:

./install-nfs-kernel.sh

If no errors occur, cross your fingers and reboot.

reboot

If you want to double check, look for the kernel in /boot and for the modules in /lib/modules/2.6.22.18kenatonline. You should find this:

/boot: 2186080 Jan 31 13:28 uImage.buffalo

/lib/modules/2.6.22.18kenatonline: 4096 Jan 5 19:42 kernel 13959 Jan 5 19:42 modules.alias 69 Jan 5 19:42 modules.ccwmap 3921 Jan 5 19:42 modules.dep 73 Jan 5 19:42 modules.ieee1394map 141 Jan 5 19:42 modules.inputmap 81 Jan 5 19:42 modules.isapnpmap 74 Jan 5 19:42 modules.ofmap 372 Jan 5 19:42 modules.pcimap 43 Jan 5 19:42 modules.seriomap 3432 Jan 5 19:42 modules.symbols 36027 Jan 5 19:42 modules.usbmap

=How to check the success?=

After the reboot you can check your success.

Type this:

uname -a

It should return this:

2.6.22.18kenatonline #20 Fri Jan 1 12:53:39 CET 2010 armv5tejl unknown

Type this:

rpcinfo -p 127.0.0.1

It should return something like this:

program vers proto  port 100000   2   tcp    111  portmapper 100000   2   udp    111  portmapper 100003   2   tcp   2049  nfs 100003   3   tcp   2049  nfs 100021   1   tcp  52992  nlockmgr 100021   3   tcp  52992  nlockmgr 100021   4   tcp  52992  nlockmgr 100003   2   udp   2049  nfs 100003   3   udp   2049  nfs 100021   1   udp  32780  nlockmgr 100021   3   udp  32780  nlockmgr 100021   4   udp  32780  nlockmgr 100024   1   udp  32782  status 100024   1   tcp  59705  status 100005   1   udp    369  mountd 100005   1   tcp    369  mountd 100005   2   udp    369  mountd 100005   2   tcp    369  mountd 100005   3   udp    369  mountd 100005   3   tcp    369  mountd

Type this:

/etc/init.d/nfs.sh status

It should return this:

portmap is running. mountd is running. nfsd is running. statd is running. lockd is running. All kernel NFS services running.

=What is left to do for you?=

You have to configure the exports. Look here for a guide: NFS for Beginners.

=Is this kernel also available for the LS-CHLv2?=

The LS-CHLv2 has the same kind of CPU but slower clock frequency and less RAM. The kernel source is identical and therefore this kernel should work for the LS-CHLv2 as it is for the LS-XHL. Unfortunately I do not know anyone who has a LS-CHLv2 to verify this. If you tried it successfully, report your success in the forum please.

=Changes= 2010.02.04: Missing "uname" result added to case statement in file /etc/init.d/usb.sh. If you downloaded the tar before or on February 4th, please download again and extract /etc/init.d/usb.sh to /etc/init.d/usb.sh or patch line 8 of the script to look like this (use an Unix editor): "2.6.22.7"|"2.6.22.18"|"2.6.22.18kenatonline")

2010.02.08: Unfortunately some script in INITRD restores the original usb.sh at bootup. I wrote a small script which gets called in sysinit.d and patches the usb.sh on bootup if necessary. If you downloaded the tar before or on February 8th, please download again and extract /etc/rc.d/sysinit.d/S88patch_usb.sh to /etc/rc.d/sysinit.d/.