When you press /
, it says
Enter CONFIG_ (sub)string to search for (with or without "CONFIG_")
which means it's looking for the names of the options, not the labels of the options.
With Linux 3.3, I found your option using grep...
$ find . -name Kconfig -exec grep 'config.*PCI' {} + | grep DMA
./drivers/ide/Kconfig:config BLK_DEV_IDEDMA_PCI
And then opened the file ./drivers/ide/Kconfig
to see more information
config BLK_DEV_IDEDMA_PCI
bool
select BLK_DEV_IDEPCI
select BLK_DEV_IDEDMA_SFF
Since it doesn't have a tristate
or bool
line like the others, that suggests it doesn't appear in the menu.
Searching in the same file for BLK_DEV_IDEDMA_PCI
, you can see lots of entries that refer to it, e.g.
config BLK_DEV_AMD74XX
tristate "AMD and nVidia IDE support"
depends on !ARM
select IDE_TIMINGS
select BLK_DEV_IDEDMA_PCI
So it looks like you're not supposed to enable DMA explicitly: the drivers that need DMA will enable it automatically.
1. What are the conceptual and structural differences between a Linux-Kernel and a BSD-kernel?
Regarding architecture and internal structures, there are of course differences on how things are done (ie: lvm vs geom, early and complex jail feature for FreeBSD, ...), but overall there are not that much differences between the two:
- BSD* kernel and Linux kernel have both evolved from a purely monolithic approach to something hybrid/modular.
Still, there are fundamental differences in their approach and history:
- BSD-kernel are using BSD licence and Linux-kernel is using GPL licences.
- BSD-kernel are not stand-alone kernels but are developed as being part of a whole. Of course, this is merely a philosophical point of view and not a technical one, but this give system coherence.
- BSD-kernel are developed with a more conservative point-of_view and more concern about staying consistent with their approach than having fancy features.
- Linux-kernel are more about drivers, features, ... (the more the better).
As greatly stated somewhere else:
It is Intelligent Design and Order (BSD*) versus Natural Selection and Chaos (GNU/Linux).
2. In which scenarios would one kind of kernel have an advantage over the other?
About their overall structure and concept, while comparing an almost vanilla Linux-kernel and a FreeBSD-kernel, they are more or less of the same general usage level, that is with no particular specialization (not real-time, not highly paralleled, not game oriented, not embedded, ...).
Of course there are a few differences here and there, such as native ZFS support or the geom architecture for FreeBSD versus the many drivers or various file-systems for Linux. But nothing some general software such as web servers or databases would really use to make a real difference. Comparisons in these cases would most likely end in some tuning battle between the two, nothing major.
But, some would argue that OpenBSD has a deep and consistent approach to security, while hardened Linux distributions are "just" modified versions of the vanilla Linux-kernel. This might be true for such heavily specialized system, as would Steam-OS be the number one to play games.
3. Are there any joint efforts to concentrate forces for one common kernel or certain modules?
There is no joint effort to concentrate forces for one common kernel, as there are major licences, philosophical or approach issues.
If some real common efforts exist such as OpenZFS, most of the time it is more about drivers and concepts taken or inspired from one another.
Best Answer
make oldconfig
is used to apply your old .config file to the newer kernel.For exapmle, you have
.config
file of your current kernel and you downloaded new kernel and want to build your new kernel. Since very likely new kernel will have some new configuration options, you will need to update your config. The easiest way to do this is to runmake oldconfig
, which will prompt you questions about the new configuration options. (that is the ones your current.config
file doesn't have)