Re: immediate panic after nvidia load

From: David Wolfskill <david_at_catwhisker.org>
Date: Tue, 10 Nov 2020 05:58:15 -0800
On Tue, Nov 10, 2020 at 02:37:53PM +0100, h v wrote:
> Hi,
> ... 
> >> recent current (faf24c828d5-c254344(main)): macmini3,1 panics after
> >> loading nvidia (nvidia-driver-340-340.108_2)
> >> .... 
> >>
> >> How to proceed ?
> >>
> >> Kind Regards
> >>
> >> Henry
> >> ....
> > When you built the kernel, did you also rebuild the nvidia-driver kernel
> > module(s)?
> ...
> > append:
> >
> > PORTS_MODULES+=x11/nvidia-driver
> >
> > to /etc/src.conf before you do your next kernel build.
> 
> usually i build kernel(s) on a fast machine and install them as packages
> , but
> 
> packaging (make packges) them doesn't work unfortunately:
> 
> ...
> 
> ===> Ports module x11/nvidia-driver-340 (install)
> cd ${PORTSDIR:-/usr/ports}/x11/nvidia-driver-340; env  -u CC  -u CXX  -u
> CPP  -u MAKESYSPATH  -u MK_AUTO_OBJ  -u MAKEOBJDIR  MAKEFLAGS="-D
> NO_ROOT -D NO_ROOT .MAKE.LEVEL.ENV=MAKELEVEL
> ...
> ===>  Starting chrooted make in
> /usr/obj/usr/src/13/amd64.amd64/kernelstage/kernel...
> chroot: /bin/sh: No such file or directory
> ===>  Chrooted make in
> /usr/obj/usr/src/13/amd64.amd64/kernelstage/kernel failed
> ===>  Cleaning up...
> *** Error code 1
> 
> Stop.
> make[9]: stopped in /usr/ports/x11/nvidia-driver-340
> *** Error code 1
> 
> Stop.
> make[8]: stopped in /usr/obj/usr/src/13/amd64.amd64/sys/MODULAR
> *** Error code 1
> 
> 
> Is there a solution, despite not using packages ?
> 
> Best
> 
> Henry

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).

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.

Caveats: I don't do that.  The above is just a somewhat-educated guess;
it has not been tested at all.  Building all the packages using
poudriere is likely to take a significant amount of time.

Peace,
david
-- 
David H. Wolfskill                              david_at_catwhisker.org
So now Donald J. Trump is demonstrating that he's a sore loser (in
addition to his other well-known sociopathies).  <shrug>

See http://www.catwhisker.org/~david/publickey.gpg for my public key.

Received on Tue Nov 10 2020 - 12:58:18 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:25 UTC