KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
SYSMAP System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
LZO arch/arm/boot/compressed/piggy.lzo
AS arch/arm/boot/compressed/piggy.lzo.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 14 modules
ERROR: "vfs_read_flag" [drivers/usb/gadget/g_mass_storage.ko] undefined!
ERROR: "vfs_amount" [drivers/usb/gadget/g_mass_storage.ko] undefined!
ERROR: "vfs_file_offset" [drivers/usb/gadget/g_mass_storage.ko] undefined!
ERROR: "vfs_write_flag" [drivers/usb/gadget/g_mass_storage.ko] undefined!
/opt/tina_3.5.2/lichee/linux-3.10/scripts/Makefile.modpost:88: recipe for target '__modpost' failed
make[5]: *** [__modpost] Error 1
Makefile:948: recipe for target 'modules' failed
make[4]: *** [modules] Error 2
make[4]: Leaving directory '/opt/tina_3.5.2/lichee/linux-3.10'
Makefile:26: recipe for target '/opt/tina_3.5.2/out/c200s-lift_info_v1/compile_dir/target/linux-c200s-lift_info_v1/linux-3.10.65/.image' failed
make[3]: *** [/opt/tina_3.5.2/out/c200s-lift_info_v1/compile_dir/target/linux-c200s-lift_info_v1/linux-3.10.65/.image] Error 2
make[3]: Leaving directory '/opt/tina_3.5.2/target/allwinner/c200s-lift_info_v1'
Makefile:13: recipe for target 'install' failed
make[2]: *** [install] Error 2
make[2]: Leaving directory '/opt/tina_3.5.2/target/allwinner'
target/Makefile:21: recipe for target 'target/allwinner/install' failed
make[1]: *** [target/allwinner/install] Error 2
make[1]: Leaving directory '/opt/tina_3.5.2'
/opt/tina_3.5.2/build/toplevel.mk:304: recipe for target 'target/allwinner/install' failed
make: *** [target/allwinner/install] Error 2
#### make failed to build some targets (21 seconds) ####
离线
打开 lichee/linux-3.10/drivers/usb/sunxi_usb/udc/sunxi_udc.c
文件最末添加:
EXPORT_SYMBOL(vfs_read_flag);
EXPORT_SYMBOL(vfs_amount);
EXPORT_SYMBOL(vfs_file_offset);
EXPORT_SYMBOL(vfs_write_flag);
离线
LD drivers/soc/built-in.o
CC drivers/usb/sunxi_usb/udc/sunxi_udc.o
drivers/usb/sunxi_usb/udc/sunxi_udc.c: In function 'sunxi_udc_dma_completion':
drivers/usb/sunxi_usb/udc/sunxi_udc.c:1440:3: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
while(USBC_Dev_IsWriteDataReady_FifoEmpty(dev->sunxi_udc_io->usb_bsp_hdle, USBC_EP_TYPE_TX));
^~~~~
drivers/usb/sunxi_usb/udc/sunxi_udc.c:1441:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'
USBC_Dev_ClearEpDma(dev->sunxi_udc_io->usb_bsp_hdle, USBC_EP_TYPE_TX);
^~~~~~~~~~~~~~~~~~~
drivers/usb/sunxi_usb/udc/sunxi_udc.c:1497:5: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
while(USBC_Dev_IsWriteDataReady_FifoEmpty(dev->sunxi_udc_io->usb_bsp_hdle, USBC_EP_TYPE_TX));
^~~~~
drivers/usb/sunxi_usb/udc/sunxi_udc.c:1498:6: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'while'
sunxi_udc_write_fifo(ep, req_next);
^~~~~~~~~~~~~~~~~~~~
At top level:
drivers/usb/sunxi_usb/udc/sunxi_udc.c:59:19: warning: 'driver_desc' defined but not used [-Wunused-const-variable=]
static const char driver_desc[] = DRIVER_DESC;
^~~~~~~~~~~
LD drivers/usb/sunxi_usb/sunxi_usb_hcd0.o
LD drivers/usb/sunxi_usb/sunxi_usbc.o
LD drivers/usb/sunxi_usb/sunxi_usb_udc.o
LD drivers/usb/sunxi_usb/built-in.o
LD drivers/built-in.o
LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
LD init/built-in.o
KSYM .tmp_kallsyms1.o
KSYM .tmp_kallsyms2.o
LD vmlinux
SORTEX vmlinux
SYSMAP System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
LZO arch/arm/boot/compressed/piggy.lzo
AS arch/arm/boot/compressed/piggy.lzo.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 14 modules
LD [M] drivers/usb/gadget/g_mass_storage.ko
LD [M] drivers/usb/gadget/libcomposite.ko
make[4]: Leaving directory '/opt/tina_3.5.2/lichee/linux-3.10'
搞定
离线
# modprobe libcomposite
#
# modprobe g_mass_storage file=/temp/test.img stall=0
modprobe: can't load module g_mass_storage (kernel/drivers/usb/gadget/g_mass_storage.ko): unknown symbol in module, or unknown parameter
#
但是运行出错
离线