Re: Fedora 30 EOL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 29, 2020 at 23:24:58 +0000,
 Suvayu Ali <fatkasuvayu+linux@xxxxxxxxx> wrote:

Could you please share your workflow?  I have been looking for some
guidance so that I can test upstream kernels when I encounter these
hardware issues.  I don't need step by step instructions, I'm very
comfortable compiling software, I just need some way to manage the
self-compiled kernels alongside Fedora kernels without littering my
system with build artifacts, and play nice with SELinux :).  I
typically limit any software I compile myself to /opt or $HOME;
unfortunately that doesn't quite work with kernels :-p

Usually once I decide that it is worth doing a bisect, I'll mention that I'm working on doing a bisect in my Fedora bug report. Then I get Linus' tree. Either doing a git pull if I have an existing one or a git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git if I don't. Sometimes if the checkout was in a bad state, git pull won't update and it's easier to do a clone rather than figure out what is messed up.

Next I copy over a Fedora kernel config file into the checkout. A sample would look like the following if I was in the top directory of the checkout:
cp /boot/config-5.7.0-0.rc7.1.fc33.x86_64 .config
In theory the differencs in the Fedora kernel and Linus' could cause a problem, but normally it won't. Then I do a make clean all. Once you get close on the bisect you don't really need to do a clean and it can speed things up a lot to skip it. You will probably get asked about some configuration options, because of differences between your checked out version and the Fedora kernel. Usually just using the default works.
Then you need to switch to root.
When you install kernels, files are going to get added to /boot and a directory is going to get added to /lib/modules . You are going to want to clean those up (but make sure you don't clean up stuff for the running kernel) before doing the next install to make sure you are running what you think you are when you run the test.
Then you want to do:
make modules_install install
If all of the above works, you can reboot to test the new kernel. You probably want to have a short delay set in grub to allow you to easily pick which kernel you want to boot. So if the the problem is still in the upstream kernel, then you'll want to start the bisect. In the checkout (which should be the broken latest Linus kernel) do the following:
git bisect start
git bisect bad
Then you want to set the checkout to be some point in the tree that did not have the problem you are testing for. The closer the the bug, the fewer steps you will need to bisect the issue. You either need a git commit hash or a version tag and do git reset --hard to checkout the next kernel to test.
Then you build and test stuff as above.
If the test fails then you run git bisect bad. If it succeeds then you run git bisect good. Generally once you have a good and a bad kernel, you won't want to manually checkout a particular commit. The last git bisect command will have checked out a version roughly half way between the latest good version and the earliest bad version you have seen so far. Sometimes there can be issues with test kernels and you may have to manually checkout a different version to jump around them.
You keep doing this until you find the commit that triggered the issue.
Then you can do git bisect log to get the list of tested kernels and save that, so you can restart part way through if needed.
Then use git bisect reset to clean up the bisect stuff.
Sometimes, you can confirm the problem commit by starting at the latest Linus kernel and do a git revert of the problem commit. That won't always work if there is other stuff dependent on that commit. Then you can note the in the Fedora bug. At this point it also makes sense to report the issue upstream. You'll want to look at the bug and try to guess which subsystem is involved and post to the subsystem list and copy the main kernel list. People will normally assume you're off list when replying, so you don't need to subscribe to the list to follow the discussion.
Upstream might ask you to test fixes.
Once upstream is fixed, you can wait for the next rawhide kernel build to test the fix for Fedora. Usually you can run rawhide kernels on other Fedora versions. This is useful for testing when you don't normally run rawhide and if you don't want to wait for the fix to get back ported to older kernel releases. It's possible one of the Fedora maintainers could do a backport if warranted. If they do, you'd want to do early testing of updates to make sure the bug is really fixed. I think that covers most of it. It isn't really as bad as it looks written out.
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux