2024-03-03 08:37:41

by Thorsten Leemhuis

[permalink] [raw]
Subject: guide on bisecting (was Re: [REGRESSION] kexec does firmware reboot in kernel v6.7.6)

[dropping Steve, Dave and the stable list from CC while adding LKML and
linux-docs]

On 02.03.24 17:10, Pavin Joseph wrote:
>
> On 3/2/24 20:47, Linux regression tracking (Thorsten Leemhuis) wrote>
> Thx for testing and glad to hear. Still: if you have any feedback how to
>> make that guide even better, please let me know!
> Yes, I have some improvements in mind.

Many thx for the suggestion!

> 1. The git clone/fetch instructions in the TLDR is easy to follow, but
> there are conflicting information later on in the main section and
> reference that taken together does not work.
>
> I think it would be better to not perform shallow clones

Hmmm. Either something sent you sideways or I'm missing something, as
the main section does not use a shallow clone. It did in earlier
versions. Wondering if something was left behind I missed.

That being said: I think I might know what sent you sideways: the main
section lacked a "git remote add -t master stable
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git". :-((

> or such advanced topics could be relegated
> to its own reference section.

They are. But I'm wondering if the "this is a alternative way" aspect
was obvious enough. That's why I slightly changed that part of the
reference section in my local copy. It now looks like this:

"""

Download the sources using git
------------------------------

*Retrieve the Linux mainline sources.*
[:ref:`...<sources_bissbs>`]

The step-by-step guide outlines how to retrieve the Linux sources using
a full Git clone of Linus' mainline repository. There is nothing more to
say about that -- but there are two alternatives ways to retrieve the
sources that might be more suitable for your situation:

* If you have an unreliable internet connection, you might want to use
a 'Git bundle' to retrieve the sources.

* If downloading the complete repository would take too long or
requires too much storage space, consider using a shallow clone.

Downloading Linux mainline using a bundle
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Switch to you home directory and [...]
"""

> Here's what I ended up using:
> [...]

That's round about the same as the main section, but as I said, that
"git remote add -t master stable
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git" was
missing.

> 2. The "installkernel" command is called "kernel-install" in OpenSuse,

Yeah, it looks like that, but that's not really the case. :-) In short:
on Fedora "installkernel" calls into kernel-install -- and
"installkernel" has a long history, so doing what Fedora does is likely
a wise thing for distros. And openSUSE had a "installkernel" as well,
which was part of the dracut package. Not sure if that is still the case
for current Leap and Tumbleweed. Could you check?

> and it doesn't really perform all the steps to install kernel. It calls
> dracut to create initramfs though, but that's hardly much help.

Could you please elaborate a bit on that "hardly much help", as I'm not
really sure what you exactly mean here. Are you and/or openSUSE normally
not using dracut?

> I ended up doing: [...]

Good to know, but I don't really want to add that to the guide for all
the major distros, as then things likely get messy quickly. This IMHO
better should be dealt with on the distro level, as some distros show
that calling into installkernel can make everything work.

> 3. The dependencies for kernel building in OpenSuse and other major
> distros are incomplete,

So what was missing?

> most of them have some form of package
> collection that can be provided as an alternative.

Which sometimes also install stuff that is not needed. I'm willing to
switch, but you must give me good reasons.

And in my experience doing something what is done for Fedora is likely
the best, as the name of the executable hardly change, while
"collections" come and go and sometimes change names.

But as I said, I'm not totally against switching.

> [...]
> 4. The command to build RPM package (make binrpm-pkg) fails as the
> modules are installed into "/home/<user>/linux/.../lib" while depmod
> checks for modules in "/home/<user>/linux/.../usr/lib".

That sounds like a bug that should be reported and fixed, not something
that docs should catch and work around. Could you report that?

> I think that's it, turned out not to be a gist after all. ????

Again, thx for the feedback, this is really helpful.

> Thank you very much for writing the updated guide, it was very helpful
> without which I don't think it would have been possible for someone like
> me to find/report this bug.

Glad to hear, as that was the goal.

Ciao, Thorsten