Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does m mean in kernel configuration file?

Tags:

linux-kernel

CONFIG_UNIX=m 

I know what y and n stand for,but what about m?

like image 222
compile-fan Avatar asked Mar 22 '11 14:03

compile-fan


People also ask

What is M in config file?

y = yes (always installed) m = loadable module (can install and uninstall as you wish) n = no (never installed)

What is kernel configuration file?

A kernel configuration file is used to build a kernel and, on some platforms, a set of loadable kernel modules. A kernel configuration file has a list of kernel options and then a list of devices and device options.

What is the use of menuconfig?

make menuconfig , with a menu-driven user interface, allows the user to choose the features of Linux (and other options) that will be compiled. It is normally invoked using the command make menuconfig ; menuconfig is a target in Linux Makefile.

How do I find my kernel config file?

You can look at /proc/config. gz if you're in luck, it will be there. If you have the kernel source, it's worth having a look at /arch/arm/configs - most Android kernel's I've seen will have the default config for your CPU and you can start from there.


1 Answers

I assume, this refers to the same as the (y,n,m) prompt when running make config; in that case it would be "module".

Note that compiling Unix domain sockets (CONFIG_UNIX) as module is probably not a good idea. A lot of system components and programs depend on them, and some services might fail to start up if the module has not been loaded at that time.

Most functionality in the Linux kernel can either be compiled in ("y") or left out ("n"), and much of it can also be compiled as a loadable module. This makes sense when you don't know for certain whether you will need some feature in the future.

If you compile it as module and it turns out that it is needed, it will work, but until then it will not bloat the kernel.

It does not, however, really make sense to configure Unix domain sockets as a module, because they are needed almost everywhere (e.g. udev will fail to launch at startup).

If you know you will need something anyway, that should be "y", not "m"

like image 53
Damon Avatar answered Sep 19 '22 12:09

Damon