No edit summary |
No edit summary |
||
Line 66: | Line 66: | ||
</pre> | </pre> | ||
Goto [[#Build the kernel]] | Goto [[#Build the kernel]] | ||
=== Final bisect === | |||
You repeat those steps [[#Bad bisect]] and [[#Good bisect]] until it shows the content of the bad patch, like shown below (there is more text in the output, this is just half of it). | |||
<code> | |||
87cc4d1e3e05af38c7c51323a3d86fe2572ab033 is the first bad commit | |||
commit 87cc4d1e3e05af38c7c51323a3d86fe2572ab033 | |||
Author: Chris Wright <chrisw@sous-sol.org> | |||
Date: Sat May 28 13:15:04 2011 -0500 | |||
intel-iommu: Dont cache iova above 32bit | |||
commit 1c9fc3d11b84fbd0c4f4aa7855702c2a1f098ebb upstream. | |||
Mike Travis and Mike Habeck reported an issue where iova allocation | |||
would return a range that was larger than a device's dma mask. | |||
https://lkml.org/lkml/2011/3/29/423 | |||
</pre> | |||
With this information, you can create a bug report at [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=kernel RHBZ] and tell the developers what patch causes problems. The bisect.log file can be attached to the bug report. | |||
=== Log file === | |||
<pre> | |||
$ cd ~/linux | |||
$ git bisect log > ~/bisect.log | |||
</pre> | |||
=== Reset bisect === | |||
If you get stuck somewhere or made a mistake, you can reset. | |||
<pre> | |||
$ cd ~/linux | |||
$ git bisect reset | |||
</pre> |
Revision as of 07:34, 28 August 2013
Prepare
Installing git:
# yum install git -y
Usage
Get the git sources
$ cd ~ $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git $ cd linux
This creates the folder /usr/src/linux-stable
Start bisect
$ git bisect start $ git bisect bad v3.11-rc1 $ git bisect good v3.9
Build the kernel
$ export MAKEOPTS="`rpm --eval %{?_smp_mflags}`" $ curl http://pkgs.fedoraproject.org/cgit/kernel.git/plain/config-generic > .config $ curl http://pkgs.fedoraproject.org/cgit/kernel.git/plain/config-`arch`-generic >> .config $ make oldconfig $ make bzImage && make modules # make modules_install && make install
- BIOS:
# grub2-mkconfig -o /boot/grub2/grub.cfg
- UEFI:
# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
Reboot:
# systemctl reboot
Testing problem..
Bad bisect
$ cd ~/linux $ git bisect bad
Goto #Build the kernel
Good bisect
$ cd ~/linux $ git bisect good
Goto #Build the kernel
Unknown bisect
$ cd ~/linux $ git bisect skip
Goto #Build the kernel
Final bisect
You repeat those steps #Bad bisect and #Good bisect until it shows the content of the bad patch, like shown below (there is more text in the output, this is just half of it).
87cc4d1e3e05af38c7c51323a3d86fe2572ab033 is the first bad commit
commit 87cc4d1e3e05af38c7c51323a3d86fe2572ab033
Author: Chris Wright <chrisw@sous-sol.org>
Date: Sat May 28 13:15:04 2011 -0500
intel-iommu: Dont cache iova above 32bit
commit 1c9fc3d11b84fbd0c4f4aa7855702c2a1f098ebb upstream.
Mike Travis and Mike Habeck reported an issue where iova allocation
would return a range that was larger than a device's dma mask.
https://lkml.org/lkml/2011/3/29/423
With this information, you can create a bug report at RHBZ and tell the developers what patch causes problems. The bisect.log file can be attached to the bug report.
Log file
$ cd ~/linux
$ git bisect log > ~/bisect.log
Reset bisect
If you get stuck somewhere or made a mistake, you can reset.
$ cd ~/linux
$ git bisect reset