I've never tried re-compiling a kernel before, and am just doing it for a learning endeavor. I'm trying to get process accounting working and it needs CONFIG_BSD_PROCESS_ACCT to be enabled (which it isn't with the stock kernel). I basically followed all the advice in this thread, and am running across the exact same problem as fluke was. Literally all I did was:
$ mkdir -p /var/abs/local/kernel/ $ cd /var/abs/local/kernel/ $ cp /var/abs/kernels/kernel26/config . $ cp /var/abs/kernels/kernel26/kernel26.install .
I changed the CONFIG_LOCALVERSION="-ACCT" instead of "-ARCH" in the config file. Then I downloaded the PKGBUILD from the ABS Kernel Compilation wiki page...changed the pkgversion to the proper kernel version, and uncommented "make menuconfig".
Then I ran makepkg and when the ncurses configuration editor comes up, I literally just selected "General Setup" and checked the "BSD Process Accounting" box then exited out. The kernel compilation completes after a while and I can install the package just fine. I edited my /boot/grub/menu.lst to look exactly like the stock kernel's entry with the proper updated kernel line, but when I reboot, it says it can't connect to the root partition. Any thoughts for a kernel compiling noob? Need any more specific info?
Last edited by elasticdog (2007-02-26 21:54:57)
Did you copy the mkinitcpio setup for your kernel? You'd have to make your own image (or compile everything in). It should be as easy as copying something from /etc/mkinitcpio.d/ (the preset files might work).
I did not do that the first time through, and I noticed that it did overwrite the default kernel26.img and kernel26-fallback.img files, but they still worked just fine with the stock kernel as well, so I don't think I inadvertently screwed anything up. Really my goal is to not change anything at all except for adding the BSD Process Accounting option.
If I want to customize the mkinitcpio setup, do I just copy that example.preset file in to the build directory and rename it to something custom? How does it get sourced in the build process? Do I need to edit anything in the kernel26.install file? Sorry for all the questions...my understanding of how all that stuff fits together is pretty minimal as far as customization goes. I'm trying to get process accounting working in a virtual machine that I'm using for a class...I have to demonstrate it in Solaris, FreeBSD, and Linux and the kernel is the only thing holding me back
I figured it out...you were right phrak, it was an issue with mkinitcpio.d...I just commented out the kernel26.install call in the PKGBUILD then generated my custom kernel26-acct.img by hand after running makepkg. Thanks for pointing me in the right direction!
Last edited by elasticdog (2007-02-26 21:55:31)