ko驱动模块挂载后多次insmod才能启动

烧录进板子,第一次init会这样:
xxx: unknown parameter 'hostmode' ignored
xxx: section 2 reloc 17 sym 'xxx': relocation 10 out of range (0x7f804264 -> 0x80854441)
[ 20.180486] xxx: section 2 reloc 17 sym 'xxx': relocation 10 out of range (0x7f804264 -> 0x80854441)
modprobe: ERROR: could not insert 'xxx': Exec format error
三次init脚本又可以启动了,什么原因?

以下是init脚本:
#!/bin/sh

cd /lib/modules/4.4.15/kernel/drivers/usb/dwc3

insmod dwc3-sn.ko hostmode=0

cd /lib/modules/4.4.15/kernel/drivers/usb/gadget

modprobe libcomposite

cd legacy

insmod data_channel.ko

sleep 1

exit 0

linux内核编译时键盘驱动模块出现了问题!

仔细检查了一下,modprobe多次以后可以成功?

/ # mount -t ipcufs mnt /media/root/test_mtp_sd -ofs=8
/ # cd /media/root/test_mtp_sd/
/media/root/test_mtp_sd # ./init-usb-channel.sh
elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f804264 -> 0x808544b9)
[ 29.106204] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f804264 -> 0x808544b9)
modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
/media/root/test_mtp_sd #
/media/root/test_mtp_sd # ./init-usb-channel.sh
insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f81b264 -> 0x808544b9)
[ 38.661820] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f81b264 -> 0x808544b9)
modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
/media/root/test_mtp_sd #
/media/root/test_mtp_sd # ./init-usb-channel.sh
insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f832264 -> 0x808544b9)
[ 42.254070] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f832264 -> 0x808544b9)
modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
/media/root/test_mtp_sd #
/media/root/test_mtp_sd # ./init-usb-channel.sh
insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f849264 -> 0x808544b9)
[ 45.111854] elib_configfs: section 2 reloc 17 sym 'elib_raw_spin_lock_s': relocation 10 out of range (0x7f849264 -> 0x808544b9)
modprobe: ERROR: could not insert 'elib_libcomposite': Exec format error
elib_data_channel: Unknown symbol elib_usb_composite_probe (err 0)
elib_data_channel: Unknown symbol elib_usb_composite_unregister (err 0)
elib_data_channel: Unknown symbol elib_usb_interface_id (err 0)
elib_data_channel: Unknown symbol elib_usb_add_function (err 0)
elib_data_channel: Unknown symbol elib_config_ep_by_speed (err 0)
elib_data_channel: Unknown symbol elib_usb_add_config (err 0)
elib_data_channel: Unknown symbol elib_usb_string_ids_tab (err 0)
elib_data_channel: Unknown symbol elib_usb_ep_autoconfig (err 0)
insmod: ERROR: could not insert module elib-data_channel.ko: Unknown symbol in module
/media/root/test_mtp_sd # ./init-usb-channel.sh
insmod: ERROR: could not insert module elib-dwc3-sn.ko: File exists
enter elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelCompositeBind_od 432 <<<-----------------------
<datachannel.c>-[dataChannelAdd], line[763], befor init_waitqueue_head 888888888888888
<datachannel.c>-[dataChannelAdd], line[765], after init_waitqueue_head 888888888888888
<datachannel.c>-[dataChannelBind_od], line[319], Gadget is dualspeed
<datachannel.c>-[dataChannelBind_od], line[326], Gadget is superspeed
leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelBind_od 333 ------------------------>>>
leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelCompositeBind_od 449 ------------------------>>>
usbChannel gadget: usbChannel ready
usbChannel gadget: high-speed config #3: SNS USB channel source/sink
<datachannel.c>-[dataChannelSetAlt_od], line[377], gadget:84a85558, function:8482ce80, ep:85f03340

<datachannel.c>-[dataChannelSetAlt_od], line[379], elib_config_ep_by_speed retval:0

<datachannel.c>-[dataChannelSetAlt_od], line[385], elib_config_ep_by_speed retval:0

<datachannel.c>-[dataChannelSetAlt_od], line[394], elib_config_ep_by_speed retval:0

enter elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelSetAlt_od 415 <<<-----------------------
leave elib/drivers/usb/gadget/legacy/datachannel.c:dataChannelSetAlt_od 417 ------------------------>>>
/media/root/test_mtp_sd #