mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-01 18:42:22 +02:00
x11-drivers/nvidia-drivers: rework install paths of files to match OS
This involves putting libraries under /usr/lib64 and kernel modules under /usr/lib/module. This is an experiment at making the nvidia installation work as a sysext as well, but there are still some issues around that. The major issue was that `systemd-sysext refresh` would remove the OEM symlink and I don't feel comfortable with `systemctl restart systemd-sysext` from within another unit. If anyone wants to try it, it's now a matter of: ln -s /opt/nvidia/current /run/extensions/nvidia-driver Bonus points for moving nvidia binaries from /opt/bin to /opt/nvidia/current/usr/bin.
This commit is contained in:
parent
08b86ad7dd
commit
a6c4454b36
@ -13,5 +13,12 @@ cd "/nvidia/${NVIDIA_DRIVER_BASENAME}"
|
||||
--no-distro-scripts \
|
||||
--no-systemd \
|
||||
--skip-depmod \
|
||||
--kernel-install-path="${PWD}" \
|
||||
--kernel-install-path="${PWD}/install-mod" \
|
||||
--log-file-name="${PWD}/nvidia-installer.log" || true
|
||||
|
||||
mkdir -p /lib/modules/${KERNEL_NAME}/video
|
||||
mkdir -p "${PWD}"/install-mod
|
||||
cp "${PWD}"/kernel/*.ko "${PWD}"/install-mod
|
||||
cp "${PWD}"/install-mod/*.ko /lib/modules/${KERNEL_NAME}/video/
|
||||
depmod -a
|
||||
cp /lib/modules/${KERNEL_NAME}/modules.* "${PWD}/install-mod/"
|
||||
|
@ -74,14 +74,21 @@ function run_nspawn_container() {
|
||||
}
|
||||
|
||||
function copy_nvidia_build_artifacts() {
|
||||
mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/lib64"
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/*.so.* "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/lib64/"
|
||||
mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib64"
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/*.so.* "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib64/"
|
||||
|
||||
mkdir -p /opt/bin
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/{nvidia-debugdump,nvidia-cuda-mps-control,nvidia-xconfig,nvidia-modprobe,nvidia-smi,nvidia-cuda-mps-server,nvidia-persistenced,nvidia-settings} /opt/bin/
|
||||
|
||||
mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/lib64/modules/$(uname -r)/video/"
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/kernel/*.ko "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/lib64/modules/$(uname -r)/video/"
|
||||
mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/video/"
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/install-mod/*.ko "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/video/"
|
||||
cp "$FLATCAR_ROOT_WORKDIR/$NVIDIA_WORKDIR/${NVIDIA_DRIVER_BASENAME}"/install-mod/modules.* "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/modules/$(uname -r)/"
|
||||
|
||||
mkdir -p "/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/extension-release.d/"
|
||||
cat <<EOF >"/opt/nvidia/${NVIDIA_FLATCAR_VERSION_PAIR}/usr/lib/extension-release.d/extension-release.nvidia-driver"
|
||||
ID=flatcar
|
||||
SYSEXT_LEVEL=1.0
|
||||
EOF
|
||||
|
||||
pushd /opt/nvidia
|
||||
ln -sfn "${NVIDIA_FLATCAR_VERSION_PAIR}" current
|
||||
@ -89,10 +96,18 @@ function copy_nvidia_build_artifacts() {
|
||||
}
|
||||
|
||||
function install_and_load() {
|
||||
# This creates symlinks to sonames
|
||||
mkdir -p /etc/ld.so.conf.d/
|
||||
echo "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/usr/lib64" > /etc/ld.so.conf.d/nvidia.conf
|
||||
ldconfig
|
||||
|
||||
modprobe -a i2c_core ipmi_msghandler ipmi_devintf
|
||||
insmod "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/lib64/modules/$(uname -r)/video/nvidia.ko"
|
||||
insmod "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/lib64/modules/$(uname -r)/video/nvidia-modeset.ko"
|
||||
insmod "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/lib64/modules/$(uname -r)/video/nvidia-uvm.ko"
|
||||
|
||||
pushd "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/usr/lib/modules/$(uname -r)/video/"
|
||||
insmod nvidia.ko
|
||||
insmod nvidia-modeset.ko
|
||||
insmod nvidia-uvm.ko
|
||||
popd
|
||||
|
||||
if [ ! -c /dev/nvidiactl ]
|
||||
then
|
||||
@ -104,9 +119,6 @@ function install_and_load() {
|
||||
mknod -m 666 /dev/nvidia0 c 195 0
|
||||
fi
|
||||
|
||||
mkdir -p /etc/ld.so.conf.d/
|
||||
echo "/opt/nvidia/${NVIDIA_CURRENT_INSTALLATION}/lib64" > /etc/ld.so.conf.d/nvidia.conf
|
||||
ldconfig
|
||||
}
|
||||
|
||||
function verify_installation() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user