On 06/04/2020 09:32, Matthias Andree wrote:
Am 06.04.20 um 09:37 schrieb Grzegorz Junka:
On 06/04/2020 08:21, Hans Petter Selasky wrote:
They don't match, and they can't.

Files in /boot/modules have been installed by drm-fbsd12.0-kmod and
files in /boot/kernel have been installed by
FreeBSD-kernel-venus-12.1_3 (venus is the name I gave the kernel
configuration).
Is drm-fbsd12.0-kmod built using the same sources as
FreeBSD-kernel-venus-12.1_3. Can you try this:

1) Build and install a fresh 12-stable kernel, not release kernel,
from /usr/src
2) Build and install /usr/ports/graphics/gpu-firmware-kmod
3) Build and install /usr/ports/graphics/drm-fbsd12.0-kmod

I built the ports and the kernel on the same system but at different
times. First I updated all sources (/usr/src and /usr/ports) then I
built packages. When that didn't work, few days later I built the
kernel and world. No updates to the sources have been made between
those two.

kldload /boot/modules/drm.ko /boot/modules/amdgpu.ko  <- doesn't
work, system halts after loading one of the vega10 modules.
--HPS

I am not sure I understand your question. drm-fbsd12.0-kmod is a port
so it's built from /usr/local/poudriere/ports whereas
FreeBSD-kernel-venus-12.1_3 is one of base packages build from /usr/src.
AGAIN:

Do *NOT* build kernel modules in poudriere unless you can guarantee it's
using the *EXACT SAME* kernel configuration and sources, you must solve
this discrepancy:


Sorry, what discrepancy do you mean? How does FreeBSD build the drm-fbsd12.0-kmod on the FreeBSD pkg build server if not with poudriere? Does it have any specific configuration I don't know about, e.g. null mounted /usr/src to the host?

Is it even possible to build a poudriere package with a non-generic kernel configuration in the poudriere jail?

What if I create the poudriere build jail from the kernel / world I built on the host? Is that possible?


If you are asking if /usr/src is the same when building ports and
kernel then again, no, because when building ports the jail's /usr/src
is used, whereas when building the kernel the host's /usr/src is used.

But I verified that both are the same, i.e.,

diff -r /usr/src /usr/local/poudriere/jails/12rel1/usr/src

doesn't return any differences, apart from the additional kernel
configuration. They are both 12.1-RELEASE-p3 (checked the version
against sources in Github and SVN).
...and "additional kernel configuration" is the thing that MIGHT break
the module in build if the kernel config has any impact on sources that
the module uses.


The issue was the same with a stock GENERIC 12.1-p3 kernel, which I would expect would be build from the EXACT same sources as the RELENG 12.1 branch https://github.com/freebsd/freebsd/tree/releng/12.1, which I would expect freebsd-update to fetch to both, my host and the poudriere jail after it updated both to 12.1-RELEASE-p3. At least I verified the /sys/conf/newvers.sh in my jail and host to match the file in that branch in Github.

Of course I can recompile the kernel and world using GENERIC kernel config, that at least would compile all modules that aren't normally compiled with GENERIC.


I still haven't understood why you cannot boot without amdgpu, and then
built (a) kernel, (b) firmware, (c) amdgpu and DRM drivers all directly
from /usr/src and updated /usr/ports
*ON THE MACHINE WITH THE AMD VGA CARD*. There are way too many variables
in the mix.


I can but I have more than one desktop and I don't want to recompile everything from sources on each one. That's why I have a central build server. Tell me how I should configure the build server to build the packages and/or kernel and/or world in a way that the graphics stack expects it to be build and it would be solved.

Or what you are really saying is that if someone wants to use the new drm graphics stack they HAVE TO recompile (a) kernel, (b) firmware, (c) amdgpu from sources on the host every time?

GrzegorzJ


_______________________________________________
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to