Subject: Re: make modules_install fails with [_modinst_post] Error 139

From: John Otken <[email-masked]>
Date: Mon, 06 Mar 2006 14:42:19 -0600

Wolfgang Denk wrote:
> In message <[email-masked]> you wrote:
>> I'm trying to build the USB gadget file storage module for
>> a Yosemite board using the latest Denx kernel and ELDK4.
>>
>> $ make yosemite_defconfig
>> $ make menuconfig  # turn on CONFIG_USB_FILE_STORAGE <M>
> 
> This is not necessary. The default config file for the Yosemite board
> has USB and mass storage devices support  already  enabled  (compiled
> in, i. e. not as modules). Just use the unmodified config file and it
> will work.
> 
> Note that CONFIG_USB_GADGET is not set, though (not sure what exactly
> you want to do).

I want to simulate an USB thumb drive using the Yosemite's device
interface.  So the Yosemite board is the thumb drive.  I am not trying
to connect a thumb drive to the Yosemite.  Sorry if I wasn't clear.

I do not believe the device-side driver for the 440EP Musbhsfc is in
the kernel tree yet, so this will give me a chance to test the patch
that Wade Farnsworth released last September.

>> if [ -r System.map -a -x /sbin/depmod ]; then /sbin/depmod -ae -F System.map -b /opt/eldk4/ppc_4xxFP -r 2.6.15-g6afd198e; fi
>> make: *** [_modinst_post] Error 139
>>
>> I see a g_file_storage.ko but I get an "Invalid module" if I
>> try to modprobe it.
> 
> Your native system's (x86 ?) module utilities (depmod,  modprobe)  do
> not understand PowerPC modules. If you want to run "depmod", you must
> overwrite  the  Makefile's  default  setting of DEPMOD to use a cross
> version of depmod instead.

Thanks, I'll work on that.

>> I do want to solve this problem, but if anyone wants to give
>> me the trick to building the gadget driver into kernel and
>> passing the file=disk_image parameter, I'd like to know that
>> as well.
> 
> What exactly do you have in mind?

Menuconfig does not let me build-in the gadget filesystem driver.  It
insists on it being a module.  I saw something that says you can build
one gadget driver into the kernel, but I was not able to figure out the
trick.  I'm also not clear about passing parameters to the driver, but
I'll try bootargs first.