I was annoyed by the system beep and want to get rid of it totally (instead of just blacklisting it, to keep the system clean.) . I also want to try the broadcom-wl because brcmsmac seems not working well with my card.
The default kernel config was to0 hard to modify. Many modules are selected by others, and I couldn't find out how to resolve the dependencies. I have limited knowledge about kernel.
So I managed to get the .config file from my old gentoo box(linux3.5.7), which used to worked very well -- on gentoo. I wonder if it would work on arch, but decided to give it a try.
I get the compiled package and pacman -U it , following the instruction on the wiki. I also pacman the headers and docs. And then grub-mkconfig (mkinicpio was triggered automatically by pacman) -- well actually I forgot this and did it after reboot, but I think that won't hurt.
And the system freezes after booting from the new kernel when it pulls in the initramfs. I think I added support for initramfs, so I'm totally lost.
Maybe one of the hook modules -- radeon and i915, or the font would be reset -- isn't supported by my kernel, but that is unlikely to be true.
Here's my kernel config file:
Thanks in advance!
I'm not going to go through your entire kernel config, but I would suggest starting with the default ArchLinux config which you can get at /proc/config.gz on a running system.
Thank you, I have tried that, but there seems to be some hidden dependencies because I can't disselect some drivers in the Network devices section. I couldn't find out which component forced the selection... That's why I decided to try my own .config.
I kind of disagree with your logic.
Basicaly one of the super cool things about Arch is the way Arch makes the kernel and initramfs. The Arch way allows you to load kernel modules at boot time before the root file system is mounted. This way you can just compile everything as modules instead of the normal way of haveing to figure out everything that is needed for the computer to boot and then compile it into the kernel itself.
Therefore, your idea that blacklisting a module is unclean but not having the module avalable at all becuase you didn't compile it is clean is not really correct. The end result of both is that the running kernel in memory only has the drivers needed. However, with the Arch way you can be sure that the kernel in memory really dose 'only' have the drivers needed but if you compile the drivers into the kernel itself you leave the door open to haveing kernel code in memory that you don't need.
Last edited by hunterthomson (2012-11-13 09:50:31)
Why are you trying to deselect everything? If you want to get rid of the beep, just deselect that. The only thing deselecting everything would get you is a shorter compile time and a trivial amount of disk space.
If all you want is not to have the kernel module for the beep. You don't have to recomple the whole kernel. You could just delete it.
Last edited by hunterthomson (2012-11-13 22:07:03)
Thank you, everyone. Yes, dealing with the annoying beep is very easy. But not so easy with the brcmsmac. The wireless driver section has many unneeded modules selected by other I-can't-find-where-they-are modules... I was kind of annoyed by that.
hunterthomson, thank you for pointing out the arch way... I learned a lot~