blob: 38f60d09055684712de6a1c85191d4eaf8428653 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
fetch_source() {
mkdir -p src
cd src || perror "Could not change into src directory."
download "$REQUIRED_URL"
}
build() {
local KERNELSRCDIR="$MODULE_DIR/../kernel/ksrc" # kernel sources
local NVIDIA="$MODULE_DIR/src/$REQUIRED_NVIDIA"
local NVIDIAEXTRACTDIR="$MODULE_BUILD_DIR/NVIDIA"
pdebug "Unpacking NVidia-Installer ..."
[ -d "$NVIDIAEXTRACTDIR" ] && rm -rf "$NVIDIAEXTRACTDIR"
sh "$NVIDIA" --extract-only --target "$NVIDIAEXTRACTDIR" || perror "Could not extract $NVIDIA to $NVIDIAEXTRACTDIR."
pinfo "Ready to chroot - may take some time."
pdebug "--- chroot ---------------------------------------------------------------------"
pdebug "- -"
pdebug "- Notice: This may take a while! -"
pdebug "- -"
pdebug "- Please keep note the Nvidia installer _will_ complain about -"
pdebug "- several warnings and errors. It will do this in any case. -"
pdebug "- -"
pdebug "- This does _not_ mean the library module compilation was unsuccessful! -"
pdebug "- -"
pdebug "--------------------------------------------------------------------------------"
chroot_run "${MODULE_BUILD_DIR}" <<-EOF
/NVIDIA/nvidia-installer --no-nouveau-check --no-network --no-backup --no-rpms --no-runlevel-check --no-distro-scripts --no-cc-version-check --no-x-check --no-precompiled-interface --silent --no-kernel-module
EOF
pinfo "chroot terminated, cleaning up"
# move whiteout list to its /opt/openslx/etc/nvidia.whiteout
if [ -e "${MODULE_BUILD_DIR}/overlay.whiteout.list" ]; then
mkdir -p "${MODULE_BUILD_DIR}/opt/openslx/etc"
mv "${MODULE_BUILD_DIR}/overlay.whiteout.list" "${MODULE_BUILD_DIR}/opt/openslx/etc/nvidia.whiteout"
fi
#pdebug "Handling whiteouts ..."
#local WHITEOUT_LIST="${MODULE_BUILD_DIR}/opt/openslx/etc/nvidia.whiteout"
#rm -f -- "$WHOUTEOUT_LIST"
#mkdir -p "$(dirname "$WHITEOUT_LIST")" || perror "Could not create $(dirname "$WHITEOUT_LIST")"
#pdebug "Searching for overlayfs-whiteouts ..."
#for WHITEOUT in $(find "$MODULE_BUILD_DIR" -lname "(overlay-whiteout)"); do
# pdebug "Whiteout found: $WHITEOUT"
# echo "/./${WHITEOUT#$MODULE_BUILD_DIR}" >> "$WHITEOUT_LIST"
# rm -f -- "$WHITEOUT" || perror "Could not delete whiteout $WHITEOUT!"
# done
rm -rf "$MODULE_BUILD_DIR/NVIDIA"
}
post_copy() {
:
}
|