diff --git a/build.sh b/build.sh index 4c9d8737..6fc5eee4 100755 --- a/build.sh +++ b/build.sh @@ -170,6 +170,23 @@ pkg_list_live_installer() { | sort -u } +pkg_list_live_nvidia() { + case "${GPU_DRIVER:-}" in + nvidia-390) + cat "${PKG_LIST_DIR}/pkg-list-nvidia-390.txt" + ;; + nvidia-470) + cat "${PKG_LIST_DIR}/pkg-list-nvidia-470.txt" + ;; + nvidia-590) + cat "${PKG_LIST_DIR}/pkg-list-nvidia-590.txt" + ;; + *) + return 0 + ;; + esac | grep -v '^#' | grep -v '^$' | sort -u +} + set_config_line() { _file="$1" _assignment="$2" @@ -670,6 +687,14 @@ install_live_runtime_packages() { fi _pkg_files="${_pkg_files} ${_archive}" done + for _pkg in $(pkg_list_live_nvidia); do + _archive=$(pkg_archive_for "$_pkg") + if [ -z "${_archive:-}" ]; then + echo "ERROR: missing NVIDIA package archive for ${_pkg}" + exit 1 + fi + _pkg_files="${_pkg_files} ${_archive}" + done mkdir -p "${MOUNT_POINT}/dev" "${MOUNT_POINT}/proc" _mounted_devfs=0 @@ -1469,6 +1494,12 @@ EOF cuse \ hidbus iichid hms hmt hkbd \ acpi_video + case "${GPU_DRIVER:-}" in + nvidia-390|nvidia-470|nvidia-590) + append_rc_list_values "${MOUNT_POINT}/etc/rc.conf" kld_list \ + nvidia-modeset nvidia + ;; + esac mkdir -p "${MOUNT_POINT}/etc/ssh/sshd_config.d" install -m 0644 "${LIVE_SESSION_DIR}/sshd-live.conf" \