Wind River Support Network

HomeDefectsLIN7-7608
Fixed

LIN7-7608 : do_fallocate not exported for a kernel module

Created: Mar 2, 2017    Updated: Sep 8, 2018
Resolved Date: Mar 21, 2017
Found In Version: 7.0.0.22
Fix Version: 7.0.0.24
Severity: Standard
Applicable for: Wind River Linux 7
Component/s: Kernel

Description

I created an issue ( LIN7-7546 ) because there was a problem adding a filesystem, the patch worked well, however the filesystem was added as a Module and after the compiling part the linker couldn't find do_falloc symbols.

Steps to reproduce:
================
Create a project using these configure options

configure --enable-board=ti-66ak2xxx --enable-rm-oldimgs=yes --enable-kernel=preempt-rt --enable-bootimage=cpio,ubifs --with-mkubifs-args="-F -m 2048 -e 126976 -c 8015" --enable-rootfs=glibc_std

Then add aufs using menuconfig

$make linux-windriver.menuconfig

The config file of kernel should have aufs options with the values below

CONFIG_AUFS_FS=m
CONFIG_AUFS_BRANCH_MAX_127=y
# CONFIG_AUFS_BRANCH_MAX_511 is not set
# CONFIG_AUFS_BRANCH_MAX_1023 is not set
# CONFIG_AUFS_BRANCH_MAX_32767 is not set
CONFIG_AUFS_SBILIST=y
# CONFIG_AUFS_HNOTIFY is not set
# CONFIG_AUFS_EXPORT is not set
# CONFIG_AUFS_FHSM is not set
# CONFIG_AUFS_RDU is not set
# CONFIG_AUFS_SHWH is not set
# CONFIG_AUFS_BR_RAMFS is not set
# CONFIG_AUFS_BR_FUSE is not set
CONFIG_AUFS_BDEV_LOOP=y
# CONFIG_AUFS_DEBUG is not set

Then apply the patch on LIN7-7546

Then build the kernel with

$make linux-windriver 
 
The error output was:

| DEBUG: Executing shell function do_compile_kernelmodules
| NOTE: make -j 12 modules CC=arm-wrs-linux-gnueabi-gcc  -mno-thumb-interwork -marm  LD=arm-wrs-linux-gnueabi-ld
| /wr/cases/case00068654_prj/bitbake_build/tmp/work-shared/ti-66ak2xxx/kernel-source/Makefile:1090: target '_clean_samples' given more than once in the same rule
|   CHK     include/config/kernel.release
|   Using /wr/cases/case00068654_prj/bitbake_build/tmp/work-shared/ti-66ak2xxx/kernel-source as source for kernel
|   GEN     /wr/cases/case00068654_prj/bitbake_build/tmp/work/ti_66ak2xxx-wrs-linux-gnueabi/linux-windriver/3.14-r0/linux-ti_66ak2xxx-preempt-rt-build/Makefile
|   CHK     include/generated/uapi/linux/version.h
|   CHK     include/generated/utsrelease.h
| make[3]: 'include/generated/mach-types.h' is up to date.
|   CALL    /wr/cases/case00068654_prj/bitbake_build/tmp/work-shared/ti-66ak2xxx/kernel-source/scripts/checksyscalls.sh
|   Building modules, stage 2.
|   MODPOST 205 modules
| ERROR: "do_fallocate" [fs/aufs/aufs.ko] undefined!
| /wr/cases/case00068654_prj/bitbake_build/tmp/work-shared/ti-66ak2xxx/kernel-source/scripts/Makefile.modpost:90: recipe for target '__modpost' failed
| make[3]: *** [__modpost] Error 1
| /wr/cases/case00068654_prj/bitbake_build/tmp/work-shared/ti-66ak2xxx/kernel-source/Makefile:1001: recipe for target 'modules' failed
| make[2]: *** [modules] Error 2
| Makefile:133: recipe for target 'sub-make' failed
| make[1]: *** [sub-make] Error 2
| Makefile:26: recipe for target 'all' failed
| make: *** [all] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_compile_kernelmodules (log file is located at /wr/cases/case00068654_prj/bitbake_build/tmp/work/ti_66ak2xxx-wrs-linux-gnueabi/linux-windriver/3.14-r0/temp/do_compile_kernelmodules/log.do_compile_kernelmodules.8991)

I created a patch for that and it works as expected, after that the build is successful. Can you please validate it? 

Other Downloads


Live chat
Online