You are not logged in.
Pages: 1
I maybe posting it on the wrong page but here is the cenario:
I have compiled my kernel for an motherboard Asus AT3N7A-I.
After an LSPCI and LSUSB, I Downloaded the kernel 3.2.1;
Choose just the kernel minimal options to my hardware, only the suport to the ext4 filesystem that I use and remove everething AMD related...
well my kernel compilation gerenate files bigger then the kernel from ARCH net install, that was odd ( know i shouldn`t base myself on that), but...
Then I remove suport to the onboard bluetooh e compile again and boot this kernel and on 'lsusb' there the non more suported bluetooth was...
my steps are the usual:
make clean
make mrproper
make menuconfig
make -j5 (this -jcores can be used on the othersteps: clean mrproper modules_install)
make modules
make modules_install
and copy the files Sytem.map and bzimage to boot
so my question: why is this happening once everything seems normal, and where can i get a better descripion of the options ther then google each one individualy???
ps.: sorry about any eventual error on the text, Im from a latin country.
Offline
By using make mrproper and make menuconfig afterwards a default config is created which has a lot of stuff enabled that you probably don't need (amateur radio support and stuff like this). Did you really disable all these things? Further you mentioned that you enabled ext4 support. When using an initramfs it's not neccesary to built ext4 support into the kernel, just use it as a module and you will decrease kernel size, too.
In general the default arch kernel compiles most of the available options as a module, that explains why the kerne itself is relatively small.
And it is completely fine that lsusb lists your bluetooth hardware - of course you won't be able to use it without an appropriate kernel driver, so if you didn't enable bluetooth stuff in your kernel your hardware won't work and "lsmod" won't show you a loaded bluetooth module.
And in general it's a pretty bad idea to install things without pacman. Have a look here, there you find the PKGBUILD of the default arch kernel, you better use this as a template for your own kernel.
Offline
thanks for the ideia matse, i use the traditional metod to compile...
about the unused stuff im pretty sure I diseable most of them but in the device but things like I²C and others "sub hardware" I do know how to discover each one is it.
so how can I discover that?
and what is the diference in mark in module or load into kernel if it is going to be auto loaded, its not faster to use built in??
anybody has I`d like if there is a manual or a tutorial that acualy explains what each feature does in the other parts like general setup and kernel hacking... so I can understand them and then decide what eneable and diseable
thanks again for the help!
Offline
so how can I discover that?
Every option has a short description, often there are even links reffering to special kernel-docs documents (they are in the linux-docs package or even online available here.
A starting point is always to boot the default kernel and have a look at the loaded modules (lsmod). Then you see which kernel functionality you are currently using (and which you normally also want to have in you own kernel). You can even automate this process with make localmodconfig.
Also note that there is in general no need to compile your own kernel, since...
and what is the diference in mark in module or load into kernel
... most modules in the default kernel are built in as modules and so just the modules that your hardware needs is loaded.
if it is going to be auto loaded, its not faster to use built in??
Man you were complaining about size in your first post - and you can of course reduce kernel *size* by installing all the drivers as modules. I doubt that you will gain much speed performance when you compile your drivers directly into the kernel, maybe you can reduce boot time a little bit, because you don't need an initramfs (but ask yourself if this effort is worth it? ![]()
My personal opinion is that not using modules on a desktop is pretty useless. It might be different if you are on a server and want to disable module support for security reasons.
anybody has I`d like if there is a manual or a tutorial that acualy explains what each feature does in the other parts like general setup and kernel hacking... so I can understand them and then decide what eneable and diseable
If you really want to compile your own, slim kernel get to know your hardware and read the kernel docs and the short description in make *config.
Greetings
matse
//Edit: oh and if you do
i use the traditional metod to compile...
this also with other apps I predict that there will come the day when you regret this ![]()
Last edited by matse (2012-01-26 00:48:46)
Offline
Thanks friend for the ideas:
Of course my goal is reduce computer coast,
I mention size, because seem that I eneable more things than I should
thanks again bro
Offline
in time: kernel localmodconfig is returning an very od error:
No config file found at scripts/kconfig/streamline_config.pl line 111.
make[1]: *** [localmodconfig] Error 2
make: *** [localmodconfig] Error 2
Offline
You probably ran make localmodconfig on your own kernel on which you disabled "/proc/config.gz" support, which is the first location where make localmodconfig looks for a starting config, see my link above or here for more information.
If you read the link you will realize that it is pretty useless to run make localmodconfig on an already trimmed down kernel.
And really, ask yourself whether you really want the trouble of building an own kernel since the official kernel with all modules is just about 60MB. I mean 60(!) MB - that's nothing.
So if you just do it for hard disk space reasons - save the time and use the default kernel.
If you expect a reasonable performance increase - save the time and use the default kernel.
If you do it for leaning something read the wiki, the kernel documentation and look in the forum for information. Everything you need is there - you just have to open your eyes.
Offline
Pages: 1