On 11/15/14, 10:43 AM, Steve Kargl wrote:
Before I totally hose by /usr/src directory, does anyone
have some guidelines on doing a binary search for a rogue
commit in /usr/src/sys?.  Either cam or usb (or acpi?) has
broken the ability to remove a external USB device once it
is plugged into a usb port on my Dell Latitude D530 laptop.
I know that a good kernel can be built with r271273 and
a bad kernel comes from (nearly) top of tree at r274456.

I assume I need to do somthing along the lines

% cd /usr/src/sys
% svn merge -r 274456:272864    (half way point between good and bad)
(build kernel and test)
% cd /usr/src/sys
% svn revert -R .
(assume 272864 builds working kernel)
% svn merge -r 274456:273660   (1/2 point between 272864 and 274456).

Rinse and repeat.

Use git, it has a built in bisector to shake this sort of thing out:

git clone --config remote.origin.fetch='+refs/notes/*:refs/notes/*' https://github.com/freebsd/freebsd.git

cd freebsd
git log # find the hash of the commit for r271273
HASH=the git hash you found
# then:
git bisect start
git bisect bad                 # Current version is bad
git bisect good $HASH

Now test compile / etc...

Then as things work or don't work you keep running:
git bisect good
git bisect bad

Then compile and test.. you should converge on the problem.


freebsd-current@freebsd.org mailing list
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to