Hirdetés

Új hozzászólás Aktív témák

  • vargalex

    Topikgazda

    válasz r3pl4y #5111 üzenetére

    Hi!

    Közben megnéztem a forrást is. Úgy tűnik, hogy 1 make is elég lesz. Ehhez a make kiadása előtt a package/kernel/modules/usb.mk-ban megkeresed a

    define KernelPackage/usb-storage-extras

    sort. A hozzá tartozó endef előtt találsz egy AUTOLOAD bejegyzést. A trunk-ban ez most így néz ki (nem néztem meg, hogy a BackFire-ban más-e):

    define KernelPackage/usb-storage-extras
    SUBMENU:=$(USB_MENU)
    TITLE:=Extra drivers for usb-storage
    DEPENDS:=+kmod-usb-storage
    KCONFIG:= \
    CONFIG_USB_STORAGE_ALAUDA \
    CONFIG_USB_STORAGE_CYPRESS_ATACB \
    CONFIG_USB_STORAGE_DATAFAB \
    CONFIG_USB_STORAGE_FREECOM \
    CONFIG_USB_STORAGE_ISD200 \
    CONFIG_USB_STORAGE_JUMPSHOT \
    CONFIG_USB_STORAGE_KARMA \
    CONFIG_USB_STORAGE_SDDR09 \
    CONFIG_USB_STORAGE_SDDR55 \
    CONFIG_USB_STORAGE_USBAT
    FILES:= \
    $(LINUX_DIR)/drivers/usb/storage/ums-alauda.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-cypress.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-datafab.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-freecom.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-isd200.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-jumpshot.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-karma.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-sddr09.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-sddr55.ko \
    $(LINUX_DIR)/drivers/usb/storage/ums-usbat.ko
    AUTOLOAD:=$(call AutoLoad,60,ums-alauda ums-cypress ums-datafab \
    ums-freecom ums-isd200 ums-jumpshot \
    ums-karma ums-sddr09 ums-sddr55 ums-usbat)
    endef

    Itt az AUTOLOAD híváshoz hozzá kell adni még egy paramétert a végére, mert az fogja megmondani, hogy a /etc/modules.d/60-usb-storage-extras generált file-ba belerakja-e a # May be required for rootfs sort.
    Szóval, a dolgod annyi, hogy utolsó paraméterként beraksz egy 1-est. Így a módosított részlet (persze arra figyelj, hogy lehet, hogy a BackFire-ban ez más, bár kétlem, úgyhogy jobb, ha nem ezt másolod, hanem csak beírsz egy ,1-et a lezáró zárójel elé):

    AUTOLOAD:=$(call AutoLoad,60,ums-alauda ums-cypress ums-datafab \
    ums-freecom ums-isd200 ums-jumpshot \
    ums-karma ums-sddr09 ums-sddr55 ums-usbat,1)

    Csak a teljesség kedvéért. Ez az include/kernel.mk file-ban definiált add_module() függvény-t hívja meg. Nem kell a módosításhoz, de azért ennek a forrása:

    add_module() {
    mkdir -p $(2)/etc/modules.d;
    (
    [ "$$$$$$$$3" = "1" ] && {
    echo '# May be required for rootfs' ;
    } ;
    for mod in $$$$$$$$2; do
    getvar mod;
    done
    ) > $(2)/etc/modules.d/$$$$$$$$1-$(1);
    modules="$$$$$$$${modules:+$$$$$$$$modules }$$$$$$$$1-$(1)";
    }; \

    Szóval, azt azért lehet látni, hogy ez a block-extroot csomag elég jól meg van írva, figyel arra is, hogy a szükséges modulokat időben betöltse. Csak sajna nálad pont egy olyan külső ház van, ami a kmod-usb-storage modul által nem támogatott. Azt tudom elképzelni, hogy még senki nem akarta az extroot-ot használni, akinek a kmod-usb-storage-extras kell a HDD-jéhez. Szóval, mondhatjuk, hogy extrém eset. :)
    Persze, lehet ezt jelezni a fejlesztőknek, vagy egy patch-et beküldeni.

    [ Szerkesztve ]

    Alex

Új hozzászólás Aktív témák