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.


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).

  • 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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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