Date: Thu, 12 Nov 2020 08:49:17 -0800 From: John Kennedy <warlock@phouka.net> To: David Wolfskill <david@catwhisker.org>, h v <henry.vogt@gmail.com>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: immediate panic after nvidia load Message-ID: <20201112164917.GA28963@phouka1.phouka.net> In-Reply-To: <20201110135815.GI1450@albert.catwhisker.org> References: <ea7c02ff-5d39-ef24-97e3-91afab5cbd78@gmail.com> <20201110121328.GG1450@albert.catwhisker.org> <cc8c23d2-5868-63cb-fc83-918132541043@gmail.com> <20201110135815.GI1450@albert.catwhisker.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Nov 10, 2020 at 05:58:15AM -0800, David Wolfskill wrote:
> What I do on my laptop is build FreeBSD from source, with he directive
> in /etc/src.conf so the x11/nvidia0driver kmod is rebuilt during "make
> buildkernel" (and installed during "make installkernel").
>
> That's simple and easy, and it works (at least, for me -- and has done,
> for years).
That almost always works for me. I've got one box that it freaks out on
and hangs the kernel build trying to build the package and I just sync that
one by hand.
> If you wish to build the kernel on a different machine, I believe you
> will need to be a bit more creative to ensure that the kernel and the
> port/package are kept in sync.
>
> A way that *might* work:
>
> * On the build machine, update FreeBSD sources and ports to some desired
> point.
> * Build FreeBSD.
> * Build (e.g., using poudriere) all of the packages you want to use,
> ensuring that the FreeBSD sources that poudriere uses are copies of what
> was used to build FreeBSD (so everything stays in sync).
> * Install everything (probably the packages from ports first, as any
> kmods won't actually be effective until hey're loaded).
> * Reboot from the newly-installed FreeBSD.
And that is basically what I did when the malloc change freaked out the
Nvidia kernel driver.
o I already had a built kernel and objects
o I "poudriere jail -u -j {jailname}" to update to that tree
o I "poudriere bulk"-build just the nvidia bits
o I "pkg upgrade -f" just the nvidia bits
Now, in practice, a major change that probably bumped the kernel version
number so poudriere will want to rebuild everything. I did -driver, -settings
and -xconfig which was overkill since the driver was probably the only
problem and that ended up rebuilding like 250 packages because X libraries
and documentation got dragged in. "Next time" I'll just try -driver.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20201112164917.GA28963>
