On 25/04/07, Onkar N Mahajan <onkar.n.m@xxxxxxxxx> wrote:
the kernel was compiled with : make bzImage && make modules && make modules_install && make allyesconfig make allmodconfig and then make install
There are quite a few things wrong there... 1. That's in the wrong order. You need to configure the kernel *before* you build it. That is, "make *config" needs to come before the other steps. 2. With the 2.6.x kernel you don't need both "make bzImage" and "make modules", all you need to do to build the kernel is to simply type "make" and the build system will build both the kernel proper and the modules and whatever else might be needed. 3. Trying to actually use a kernel based on either allyesconfig or allmodconfig is probably not going to work all too well. Those are mainly config targets used for testing or as a base for manual tuning options. 4. the 'all*config' targets like 'allyesconfig' and 'allmodconfig' write a new config file from scratch, so when you first run "make allyesconfig" it'll generate a new .config file with as much as possible set to Y, but then when you run "make allmodconfig" that first .config gets overwritten with a new one with as much as possible set to M - the result is exactely the same as if you had not run allyesconfig first. If you really want a kernel with as much as possible set to M or Y, then do the following: - first; run *either* "make allyesconfig" or "make allmodconfig", running both is pointless. - second; run "make menuconfig" to adjust the config that allyes or allno made for you and turn it into a configuration that actually makes sense (remember stuff like selecting the correct CPU type, decide if you want/need various compatibility options and debug options, etc etc). - third; build the kernel by running "make". - fourth; become root and run "make modules_install" followed by "make install" (or copy the System.map, bzImage etc by hand). All steps before this one can be done as a normal user, but from here on you need to be root. - fifth; if any options you need during boot before mounting the root fs are build as modules, then you need to build an initrd for the kernel so it can load those modules early. If you don't want to bother with an initrd, then make sure that all options you need during early boot (like your root filesystem, the driver for your disk controller, etc etc) are build in (set to Y). - sixth; configure your bootloader (probably either lilo or grub) - if you used "make install" then this may have already been done for you, but at least double check the bootloader config is sane - don't forget about the initrd if you use one (and in the case of lilo remember to run /sbin/lilo before rebooting, not needed for grub). - seventh; reboot your machine and boot the new kernel. Generally; You should also review Documentation/Changes to make sure you have the proper versions of all userspace tools. Also read the README file in the top-level kernel source dir. Also, you should probably build the kernel somewhere in your homedir, don't usr /usr/src/linux/ for the kernel source (see the rEADME file for details). Hope this helps you. -- Jesper Juhl <jesper.juhl@xxxxxxxxx> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ