Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I've attempted to install drivers for an FPGA device, but require that I remove the usbserial module. This happens to be impossible because usbserial is a built-in module. It was suggested that I compile a new kernel to make usbserial dynamically loadable and unloadable.

I'm now trying to compile a custom kernel w/ Fedora. The guide being located here: http://fedoraproject.org/wiki/Building_a_custom_kernel

At this moment I am using a GUI to set my kernel options, but I have no idea what options to select and deselect.

enter image description here

Any advice would be greatly appreciated.

share|improve this question
add comment

1 Answer

up vote 3 down vote accepted

Try using make nconfig or make menuconfig which presents you with interactive text UI. Both have search facility for both the kernel CONFIG_* options (those which are placed in .config which governs the build) and strings within the currently selected option menu. IMHO both of these TUIs are more usable than the GUI.

As for your case, you are probably looking for CONFIG_USB_SERIAL which is located in Device Drivers -> USB support -> USB Serial Converter support - you need to change this from <*> to <M> (using the M key).

share|improve this answer
2  
Given the above advice, you could just edit the .config file by hand, and then do a make oldconfig. –  vonbrand Jan 21 '13 at 23:44
    
This seems to be what I'm looking for. I'm currently compiling the new kernel, I'll make an update whenever this finishes. –  sj755 Jan 22 '13 at 0:07
    
Everything seems to be working, thanks. Unfortunately, the usbserial API seems to have changed between v3.4 and 3.6, but that's a whole seperate issue. Just out of curiousity, what's the advantage of having a kernel module be built-in vs.having an (un)loadable kernel module? –  sj755 Jan 22 '13 at 2:26
1  
@sj755 in the case of distribution kernels it's the size - these kernels have to be versatile enough and compiling all drivers in would make it excessively big (plus some might be even conflicting). For a custom kernel, there might be reasons for being able to run without a module - you hit one of those. Plus one may want to remove code that's not in active use, although unloading a module can potentially (if it is badly written) cause a lot of problems (even a kernel crash on extreme occasions). –  peterph Jan 22 '13 at 9:20
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.