Skip site navigation (1)Skip section navigation (2)
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>