6734 questions

8109 answers

13203 comments

9430 members

0 votes
78 views 1 comments
by

Hi,

I bought a RUT955 router and I wanted to mount a disk on my LAN using NFS (router being the client). I downloaded the RUT9XX_R_GPL_00.06.07.1.tar.gz SDK and installed the suggested Ubuntu version inside docker (the build does not work on more modern systems due to some glibc incompatibilities), I am able to change menuconfig settings and my self-compiled images do boot.

However, when I activate "[*] kmod-fs-nfs" I get the follwing build, or rather a packaging error?

The grace.ko module that it is complaining about has been built:


build@1ef79c8d4fbc:~/RUT9XX_R_GPL$ find . | grep grace.ko
./build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.18.44/fs/nfs_common/grace.ko


The longer output is below. Did anyone encounter something like that and did anyone try using NFS mounts on the RUT955? Or is it rather an OpenWRT issue? I am new to OpenWRT so not yet totally sure how packaging and dependency resolution is happening there.

 /home/build/RUT9XX_R_GPL/include/shell.sh; export modules=; probe_module() { mods="$1"; boot="$2"; shift 2; for mod in $mods; do mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d; echo "$mod" >> /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d/fs-nfs-common; done; if [ -e /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d/fs-nfs-common ]; then if [ "$boot" = "1" ]; then mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules-boot.d; ln -s ../modules.d/fs-nfs-common /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules-boot.d/; fi; modules="${modules:+$modules }$mods"; fi; }; add_module() { priority="$1"; mods="$2"; boot="$3"; shift 3; for mod in $mods; do mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d; echo "$mod" >> /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d/$priority-fs-nfs-common; done; if [ -e /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d/$priority-fs-nfs-common ]; then if [ "$boot" = "1" ]; then mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules-boot.d; ln -s ../modules.d/$priority-fs-nfs-common /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules-boot.d/; fi; modules="${modules:+$modules }$priority-fs-nfs-common"; fi; }; add_module "30" "sunrpc lockd" ""; if [ -n "$modules" ]; then mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/etc/modules.d; mkdir -p /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL; echo "#!/bin/sh" > /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL/postinst-pkg; echo "[ -z \"\$IPKG_INSTROOT\" ] || exit 0" >> /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL/postinst-pkg; echo ". /lib/functions.sh" >> /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL/postinst-pkg; echo "insert_modules $modules" >> /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL/postinst-pkg; chmod 0755 /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common/CONTROL/postinst-pkg; fi
find /home/build/RUT9XX_R_GPL/build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/packages/ipkg-ar71xx/kmod-fs-nfs-common -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
Package kmod-fs-nfs-common is missing dependencies for the following libraries:
grace.ko
modules/fs.mk:258: recipe for target '/home/build/RUT9XX_R_GPL/bin/ar71xx/packages/kmod-fs-nfs-common_3.18.44-1_ar71xx.ipk' failed
make[4]: *** [/home/build/RUT9XX_R_GPL/bin/ar71xx/packages/kmod-fs-nfs-common_3.18.44-1_ar71xx.ipk] Error 1
make[4]: Leaving directory '/home/build/RUT9XX_R_GPL/package/kernel/linux'
package/Makefile:169: recipe for target 'package/kernel/linux/compile' failed
make[3]: *** [package/kernel/linux/compile] Error 2
make[3]: Leaving directory '/home/build/RUT9XX_R_GPL'
package/Makefile:166: recipe for target '/home/build/RUT9XX_R_GPL/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.package_compile' failed
make[2]: *** [/home/build/RUT9XX_R_GPL/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.package_compile] Error 2
make[2]: Leaving directory '/home/build/RUT9XX_R_GPL'
Makefile:95: recipe for target 'world' failed
make[1]: *** [world] Error 2
make[1]: Leaving directory '/home/build/RUT9XX_R_GPL'
/home/build/RUT9XX_R_GPL/include/toplevel.mk:169: recipe for target 'world' failed
make: *** [world] Error 2

1 Answer

+1 vote
by

Hi,

With command vi  in your linux edit this file in SDK directory: ./package/kernel/linux/modules/fs.mk

Find these lines in the file:

define KernelPackage/fs-nfs-common
  SUBMENU:=$(FS_MENU)
  TITLE:=Common NFS filesystem modules
  KCONFIG:= \
        CONFIG_LOCKD \
        CONFIG_SUNRPC
  FILES:= \
        $(LINUX_DIR)/fs/lockd/lockd.ko \
        $(LINUX_DIR)/net/sunrpc/sunrpc.ko \
  AUTOLOAD:=$(call AutoLoad,30,sunrpc lockd)
endef

$(eval $(call KernelPackage,fs-nfs-common))


And add this line next to: other "$(LINUX_DIR)...." lines


$(LINUX_DIR)/fs/nfs_common/grace.ko


Save it and try compiling again.
EB.
Best answer
by
Hi,

thank you! That fixed it!