Bugzilla – Attachment 249988 Details for
Bug 439461
kernel 2.6.25.18-0.2 doesn't resume from StR
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
IDP Log In
|
Forgot Password
Mainline kernel compilation & bisection instructions
kernel-compilation.txt (text/plain), 4.11 KB, created by
Rafael Wysocki
on 2008-11-05 13:03:06 UTC
(
hide
)
Description:
Mainline kernel compilation & bisection instructions
Filename:
MIME Type:
Creator:
Rafael Wysocki
Created:
2008-11-05 13:03:06 UTC
Size:
4.11 KB
patch
obsolete
>How to install the current mainline kernel and carry out git bisection on openSUSE (11.0 or later) > >1. Building and installing the kernel > >First, install git (you can do that with YaST) and clone the Linus' git >repository, as described for example at >http://linux.yyz.us/git-howto.html#download_first_time >This will create the linux-2.6 directory in your current dir. Next, copy your >kernel configuration file to this directory: > >$ cd linux-2.6 >$ zcat /proc/config.gz > .config > >(it's better if you copy the config from a possibly new distro kernel). > >Now, you can build the kernel by running 'make' (optionally 'make -jn', where >'n' is the number of CPU cores in your system plus 1). If there are no >compilation errors, become root and run 'make modules_install' that will put >your new kernel's modules into a new directory under /lib/modules . > >The last line of text printed by 'make modules_istall' should be something like > > DEPMOD 2.6.28-rc2-git > >but with the version of the newly compiled kernel instead of 2.6.28-rc2-git. >You will need this version string in what follows. > >Next, you need to copy the main kernel binary and the System.map file into >your boot directory. You can do it like this: > ># cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.28-rc2-git && cp System.map /boot/System.map-2.6.28-rc2-git > >but replace the "2.6.28-rc2-git" with the version string printed by >'make modules_install' in the last line. Then, create the initrd image for >the new kernel: > ># mkinitrd -k vmlinuz-2.6.28-rc1-git -i initrd-2.6.28-rc1-git > >(again, replace "2.6.28-rc2-git" with your new kernel's version string). > >Finally, you need to create an entry for the new kernel in the boot loader's >configuration file, in this case /boot/grub/menu.lst . Open the file in your >favourite text editor (as root) and and copy the first existing entry into >a new position. Then, replace the kernel version string in the copied entry >with the version string of the new kernel and remove the openSUSE-specific >kernel command line options. For example, if your /boot/grub/menu.lst contains > >###Don't change this comment - YaST2 identifier: Original name: linux### >title openSUSE 10.3 - 2.6.22.17-0.1 > root (hd0,0) > kernel /boot/vmlinuz-2.6.22.17-0.1-default root=/dev/md1 vga=0x31a resume=/dev/sda2 splash=silent showopts > initrd /boot/initrd-2.6.22.17-0.1-default > >you can copy that into a new position and edit it to look like: > >title openSUSE 10.3 (2.6.28-rc2-git) > root (hd0,0) > kernel /boot/vmlinuz-2.6.28-rc2-git root=/dev/md1 vga=0x31a resume=/dev/sda2 > initrd /boot/initrd-2.6.28-rc2-git > >You can also update the value of 'default' in the GRUB configuration file >so that your new kernel is the default one. > >That's it. > >2. git bisection > >You need to know the last working version of the kernel and one that fails. >Assume for example that the last kernel which worked correcty on your system >is 2.6.24 (that must not be a "stable" kernel 2.6.24.x, it has to be a "major" >release without the fourth number or an -rc kernel like 2.6.25-rc1) and that >the current mainline is broken. In that case, go to the directory >containing your copy of the Linus' git repository and run > >$ cp .config /tmp/current-config >$ git bisect start >$ git bisect bad >$ git bisect good v2.6.24 > >(note the 'v' before the good kernel's version string; also, if you know for >example that the 2.6.25 kernel fails too, you can replace the third command >with 'git bisect bad v2.6.25). As a result of this, git will choose one >kernel version between the 'good' and the 'bad' one for you to test. Compile >and install it as described in Section 1 and test it. If it fails, reboot >the system, go to the directory containing the kernel git repository and >run > >$ git bisect bad > >Otherwise, go to the directory containing the kernel git repository and run > >$ git bisect good > >This will make git choose another kernel version to test, so build it, install >it and test it. > >Repeat the last step until you get a single commit identified as a source of >the problem. > >[You may encounter problems while doing that, like for example you can get a >kernel version that won't compile. In such cases please ask more experienced >people for advice.] >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
Attachments on
bug 439461
: 249988