build kernel
hi
i would like to have choice to boot on suse kernel and a kernel with some change build by me... Code:
make xconfig Code:
###kernel standard de suse 10 thanks |
Not sure if this is a procedure you are telling us or need some question answered. In the 2.6 kernel things have been changed.
run ' make xconfig ' or others to configure kernel options run ' make ' it now does both make bzImage and make modules run ' make modules_install ' to install modules then run ' make install ' to do the rest of of the following and add the boot line to your grub. cp arch/i386/boot/bzImage /boot/bzImage-2.6.13-15.7, cp System.map /boot/System.map-2.6.13-15.7, cp vmlinux /boot/vmlinux-2.6.13-15.7, mkinitrd -k vmlinux-2.6.13-15.7 -i initrd-2.6.13-15.7 So for a complete install from start to finish and ready to boot. make xconfig make make modules_install make install Reboot And if you are using rpms then running the command ' make rpm ' will make an rpm file of the kernel. |
i read that: make install
"This command will also replace old symlinks pointing to the default kernel with the new ones. However Failsafe GRUB option menu should point to the old and ~&trusty kernel. You can eaither correct this with the steps from ad 17, or you can modify GRUB menu.lst file. This is entirely up to you" |
why some tutorial said to modify makefile EXTRAVERSION number?
|
no this is not correct way.
If you want to have several versions of kernel 2.6.13.15, you will simply overwrite kernels if you do not modify .config file. However this is pretty easy to do. When done with kernel configuration: make xconfig (or such) edit .config file and modify this line: CONFIG_LOCALVERSION="" eg CONFIG_LOCALVERSION="-spanking_new_kernel" pay attention to the hyphen at the beginning now your kernel will be named: vmlinuz-2.6.13.15-spanking_new_kernel and what's important, you will create (instead of overwriting old one) new entry in /lib/modules in this case /lib/modules/2.6.13.15-spanking_new_kernel this way each kernel will be independent |
thanks a lot, i will test your solution
|
this is my whole howto about building custom kernel. You can test it too:
http://wiki.suselinuxsupport.de/wikk...gacustomKernel |
ok i checked your tutorial
if i want to keep old kernel, i don't need to do Code:
#rm /boot/vmlinuz |
these are symlinks, I have explained why you should remove them or what to do if you dont want to remove them assuming that yo are using "make install" command
However if you don ton use "make install" command then old symlinks are not replaced and are still pointing to the old working kernel. I assume that you know what symlinks are? Otherwise, it is up to you Personally, I dont care about symlinks because GRUB points to the real kernel so changing symlinks will not affect failsafe (to boot old working kernel). I hope that this is clear? |
Quote:
"Now very important: edit Makefile and add/change the line: EXTRAVERSION = -unique_name (pay attention to "-" sybmol in front of the name)" |
I explained this in my tutorial.
Let's say that you have SuSE WORKING default kernel. Now you want to customize it. So you install sources, configure it and install. If you do not change the internal kernel name and you will run make modules_nstall, this will overwrite default modules in /lib/modules So if you messed up something (and let's say file system module will not start), you are "done". Because you did in fact overwrite modules it really does not matter if you will try to boot default or customized kernel your modules are fck up because kernel (whatever name you added after compaling) will still refer to the internal name to look for modules. The fact that later you change the name of vmlinuz does not matter: this is too late and only takes care of vmlinuz, not modules. If you want to experiment and have several custom kernels built from the same source, only the last one's modules are on the disk. Changing the internal/local name is pretty easy. |
not very clear to me
does i need to change only CONFIG_LOCALVERSION? or EXTRAVERSION too? does i need to put the same name for both? |
this is what I have written:
Quote:
for example kernel version 2.6.16 EXTRAVERSION git2-rc3-200620120999865 EXTRAVERSION is added by kernel maintainer |
thank broch, that work fine....
i have another question for you.... before i build a new kernel, i was a module for vmware player... now if i start my old kernel and new kernel, vmware said me it's not installed for this kernel... i think it's only a link problem... Code:
0 lrwxrwxrwx 1 root root 17 2005-12-22 11:35 linux -> linux-2.6.13-15.7 any idea? |
unfortunately, nvidia must be recompiled each time you change kernel..
nvidia allow to be installed on working kernel or any other installed kernel, but only one. I don't have experience with vmware, but it is possible that you will have the same problem. |
All times are GMT -5. The time now is 01:52 AM. |