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. |
I would suggest one more thing, if you are installing rpm sources:
afrer source installation, lets say kernel-2.6.16.rc2-git8-blah you want to install next version kernel-2.6.16.rc2-git8-blah-blah This new version will delete old one. So if you want to keep kernel-2.6.16.rc2-git8-blah and instal kernel-2.6.16.rc2-git8-blah-blah change kernel folder name e.g from kernel-2.6.16.rc2-git8-blah to kernel-2.6.16.rc2-git8-ver1 so if next yoiu woll install rmp sources Yast will not remove kernel-2.6.16.rc2-git8-ver1 but add kernel-2.6.16.rc2-git8-blah-blah This is usefull if for some reason new version will not work for you and you want to go back to the previous kernel version (including nvidia which requires kernel sources). Remember that simply adding kernel sources will not help if you compiled custom kernel. You will have to recompile kernel after you add sources again. "kernel folder change name method" will simplify whole proccess good luck |
Quote:
|
i installer nvidia driver for my compiled kernel...... work fine........ but when i boot on the suse kernel x don't start.....
Xorg.conf.log return me: (EE) Failed to initialize GLX extension (NVIDIA X driver not found) nvidia install log return Code:
nvidia-installer log file '/var/log/nvidia-installer.log' |
Quote:
Either allow nvidia installer to uninstall old copy and install new or uninstall manually (nvidia-installer --uninstall) and then install new for new kernel. Your X problem is easy to explain: X is reading from xorg.conf that it should use nvidia driver, this is not there so obviously X crashes. If you want to have nvidia installed in old kernel then make two copies of xorg.conf edit one and replace nvidia driver by X driver (nv) rename one xorg.conf_nv second (with nvidia driver) xorg.conf_nvidia depending on your needs (running kernel with installed nvidia driver or kernel without) copy one or another to xorg.conf. No need to run sax2 each time. |
i can't have nvidia driver for every kerlnel i have?
i want nvidia driver installer (kernel x)... if i want to have it for my kernel y...... i need to uninstall driver.... |
is there anything not clear in my previous posts?
|
work now...... we only need to use -K option
|
All times are GMT -5. The time now is 02:52 PM. |