From: Aaron O. D. <di...@he...> - 2003-10-22 21:11:23
|
On Wed, Oct 22, 2003 at 01:57:39PM -0300, Pablo Perez Menteco wrote: > I am grateful that several people have answered with instructions and > suggestions about how to configure and install a Linux kernel. Unfortunately, > all of you have given a slightly different command sequence on how to do it. > So I think it would be usefull for me and other people who need to do this to > properly install a new wacom module, if someone can clarify which is the > right command sequence independently of the Linux distro used. (By the way, > I use Debian Sid). Well, "independently of the Linux distro" means "won't work" :-) We're all using the same kernel but most distros modified the build process a little (different boot loaders, some add special symbols and paths to the kernel, etc), so there is no generic way. But the errors which you'll get should be simple to understand. For example, when you have the directory /boot/grub, you probably don't boot via LILO, the old Linux bootloader. So when "make install" fails because it tries to run lilo, you're still fine. If you use Lilo (it should say so in the boot menu), "make install" should do everything you need. > These are the command sequence suggested so far in the list: > > 1. > make clean oldconfig dep bzImage modules > 2. > make oldconfig dep clean bzImage modules modules_install bzlilo > 3. > make oldconfig bzImage install modules_install When you know what each target does, you'll know when to run which. So here goes: clean - Remove anything from the last build. Just to be sure :-) oldconfig - Just run this once when you find a copy of the config of your *current* kernel (ie. the one which runs while you build the kernel from the source). Find the file, copy it to /usr/src/linux/.config and run the make. It will check what has changed between the old kernel and the one which you want to build and ask for all the options that weren't there in the old kernel. This should give you a good working setup with little possibility of trouble. Places to look for this file: /boot, /proc, /usr/src If you don't have this one, you'll have to run make config or make xconfig (with X11 GUI) and pray that you get all the options you need -- something even most Linux gurus try to avoid because it can take a lot of time to get this step right hence the idea to take an old config file as a template and work from that. dep - This creates some files (basically which file depends on what source). Must be done after clean, xconfig, config, oldconfig. modules - After dep. Creates all the modules which your kernel will try to load after mounting root (/). modules_install - Install the compiled modules where the new kernel will look for them (somewhere under /lib/modules). bzImage - Create the kernel itself. The name of the target is due to historic reasons; in the beginning, when the kernel was much smaller, you could create various versions with different levels of compression but today, the "big gzip compressed kernel" is the default. install - Install the kernel. This will automatically include "bzImage" if you haven't run it manually. lilo/bzlilo - Run bzImage, install and update LILO, the linux bootloader. When you use Debian, I guess that you don't have LILO but GRUB. If you have GRUB, then you don't need to do anything. Also, the target "install" should do this for you, too. And, if you're using a debian linux kernel source (ie. not an official release but one tweaked for your distro), "make install" should do everything you need to be ready to boot your new kernel. Last time I used make lilo was for pre-2.4.0. All kernels which I encountered since then ran LILO when necessary for me. > Someone suggested I can run this commands in sequence automatically from the > boot loader. Does it means I can reboot the machine, press SHIFT before lilo > loads, cd /usr/src/kernel, and type "make etc etc etc" and all the steps will > be run sequencially? No, you misunderstood something there. lilo is pretty dumb and can only load kernels which are specified in /etc/lilo.conf. It cannot run programs, a shell (so no cd), etc. Grub would be more smart but it also can't run programs, only cd into a directory, list the files in there and then boot from a file in there. It will also automatically figure out when you have a new kernel, so no need to reinstall it when you install the new kernel. > I am sorry if this questions are so newbie. "When you ask a question, you're a fool for five minutes. When you don't, you stay a fool for the rest of your life" -- Chinese Saying. -- Aaron "Optimizer" Digulla a.k.a. Philmann Dark "It's not the universe that's limited, it's our imagination. Follow me and I'll show you something beyond the limits." http://www.philmann-dark.de/ |