#18293: some kmod packages try to load module but not dependent ones
------------------------+-----------------------------------
Reporter: luizluca@… | Owner: developers
Type: defect | Status: new
Priority: normal | Milestone: Barrier Breaker 14.07
Component: kernel | Version: Barrier Breaker 14.07
Keywords: |
------------------------+-----------------------------------
Hello,
On a router without storage related modules, I tried to install kmod-fs-
ext4 and kmod-usb-storage. Both installed correctly but they failed to
load the module:
{{{
[ 4929.260000] ext4: Unknown symbol crc16 (err 0)
[ 4857.860000] sd_mod: Unknown symbol scsi_mode_sense (err 0)
[ 4857.870000] sd_mod: Unknown symbol scsi_device_get (err 0)
[ 4857.870000] sd_mod: Unknown symbol scsi_setup_blk_pc_cmnd (err 0)
[ 4857.880000] sd_mod: Unknown symbol scsi_get_sense_info_fld (err 0)
[ 4857.880000] sd_mod: Unknown symbol scsi_get_vpd_page (err 0)
[ 4857.890000] sd_mod: Unknown symbol scsicam_bios_param (err 0)
[ 4857.900000] sd_mod: Unknown symbol scsi_command_normalize_sense (err 0)
[ 4857.900000] sd_mod: Unknown symbol scsi_device_set_state (err 0)
[ 4857.910000] sd_mod: Unknown symbol scsi_test_unit_ready (err 0)
[ 4857.920000] sd_mod: Unknown symbol scsi_block_when_processing_errors
(err 0)
[ 4857.920000] sd_mod: Unknown symbol scsi_register_driver (err 0)
[ 4857.930000] sd_mod: Unknown symbol scsi_ioctl (err 0)
[ 4857.930000] sd_mod: Unknown symbol scsi_nonblockable_ioctl (err 0)
[ 4857.940000] sd_mod: Unknown symbol scsi_show_sense_hdr (err 0)
[ 4857.950000] sd_mod: Unknown symbol scsi_device_put (err 0)
[ 4857.950000] sd_mod: Unknown symbol scsi_sd_probe_domain (err 0)
[ 4857.960000] sd_mod: Unknown symbol scsi_prep_fn (err 0)
[ 4857.960000] sd_mod: Unknown symbol scsi_report_opcode (err 0)
[ 4857.970000] sd_mod: Unknown symbol scsi_show_result (err 0)
[ 4857.980000] sd_mod: Unknown symbol scsi_setup_fs_cmnd (err 0)
[ 4857.980000] sd_mod: Unknown symbol scsi_mode_select (err 0)
[ 4857.990000] sd_mod: Unknown symbol scsi_print_sense (err 0)
[ 4857.990000] sd_mod: Unknown symbol scsi_execute_req_flags (err 0)
[ 4858.000000] sd_mod: Unknown symbol scsi_show_extd_sense (err 0)
[ 4858.010000] sd_mod: Unknown symbol scsi_prep_return (err 0)
[ 4858.010000] sd_mod: Unknown symbol scsi_set_medium_removal (err 0)
}}}
kmod-fs-ext4 already depends on kmod-lib-crc16
{{{
root@router:~# opkg depends kmod-fs-ext4
kmod-fs-ext4 depends on:
kernel (= 3.10.49-1-0114c71ed85677c9c1e4911437af4743)
kmod-lib-crc16
kmod-crypto-hash
}}}
It is just a problem with post-install kernel module loading. After
loading manually the deps modules or rebooting, everything is ok.
kmod-fs-ext4, i.e. uses this postinst script:
{{{
/usr/lib/opkg/info/kmod-fs-ext4.postinst:
#!/bin/sh
[ -z "$IPKG_INSTROOT" ] || exit 0
. /lib/functions.sh
insert_modules 30-fs-ext4
}}}
{{{
/lib/functions.sh:
insert_modules() {
[ -d /etc/modules.d ] && {
cd /etc/modules.d
sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
}
}
}}}
{{{
/etc/modules.d/30-fs-ext4:
mbcache
jbd2
ext4
}}}
Which will run:
{{{
insmod mbcache
insmod jbd2
insmod ext4
}}}
Either:
1) insmod should load deps modules (like crc16 for ext4)
2) kmod-lib-crc16 should have a postinst script that loads itself before
ext4
3) crc16 should be added to /etc/modules.d/30-fs-ext4.
The nicest would be 1), the easiest is 2) an I guess 3) is not feasible as
it should include all deps and the deps of deps.
--
Ticket URL: <https://dev.openwrt.org/ticket/18293>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets