How to enable driver module in menuconfig

Hi,

I want to make a FPD-LINK-III application for my camera on Jetson Nano dev board. According to this publishment :GitHub - InES-HPMM/FPD-LinkIII_ds90ub95x: FDP Link III driver for ds90ub954/ds90ub953.
the last step: enable the driver module in menuconfig, that confuses me, do you have any instruction explaining how to use menuconfig on Jetson Nano?
Thanks a lot!

hello Danny0007,

please refer to kernel config file,
i.e. $L4T_Sources/r32.6.1/Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/configs/tegra_defconfig

you should also check Preparing to Build External Kernel Modules for reference,
thanks

Just a bit of an intuitive (non-recipe) answer: When you configure a kernel with something like the make target β€œtegra_defconfig” you are setting up a basic configuration which a Jetson dev kit would ship with. When you use something like the β€œmenuconfig” make target you instead are accessing individual features (often drivers). If you go to some individual item you find in menuconfig, then typing the letter β€œn” (meaning β€œno”), then the feature is disabled. If you type the letter β€œy”, then the feature is enabled by directly and permanently integrating it into the kernel (installing a new kernel is much different than installing a module…a kernel install is riskier and more invasive than the simple file copy of a module). If you answer by typing the letter β€œm”, then the feature is enabled as a module format (the easiest and safest way a new feature can be installed).

Do note that not all features or drivers can be in module ("=m") format, and not all features can be in integrated ("=y") format. The program β€œmenuconfig” knows what is possible and will not allow you to use β€œm” or β€œy” for your answer if the code has not been created for that format. Directly editing a β€œ.config” file without using something like β€œmenuconfig” could break function by setting a format which is not allowed.

Furthermore there may be dependencies. As an example, suppose you were to enable some feature for disk encryption. That feature might require a particular algorithm, and so having β€œmenuconfig” enable that feature might also silently enable the missing algorithm as well.

There are other configuration editors as well, and I like β€œnconfig”. This is almost the same as β€œmenuconfig”, but it has a symbol search function.

To see the setting of all existing configuration settings on a running Jetson use the file β€œ/proc/config.gz”. One way to see this and browse:
zcat /proc/config.gz | less

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.