home · contact · privacy
Improve Bookworm server setup config.
[config] / bookworm / setup_scripts / setup_desktop.sh
index f265697f17c33726a7461019eb3e214deb27ec70..9df55121195d2410b48e3248144fb740043bbb8e 100755 (executable)
@@ -1,27 +1,48 @@
 #!/bin/sh
 set -e
-debian_version="bookworm"
-legal_system_names="x220 w530"
+. ./misc.sh
 
-if [ "$#" -ne 1 ]; then
-    echo 'Need exactly one argument (system name).'
-    false
-fi
-found=0
-for system_name_i in $legal_system_names; do
-    if [ "$1" = "$system_name_i" ]; then
-        found=1
-        system_name="${system_name_i}"
-        continue       
-    fi
-done
-if [ "$found" = 0 ]; then
-    echo "Need legal system name."
-    false
-fi
+expect_n_args 1 "(system name)" "$@"
+get_system_name_arg "$1"
 
 # Set up system without user environment.
-config_tree_prefix="${HOME}/config/${debian_version}"
-setup_scripts_dir="${config_tree_prefix}/setup_scripts"
 cd "${setup_scripts_dir}"
 ./setup.sh "${system_name}" "" user desktop thinkpad "${system_name}"
+
+# Set up printer.
+ppd_deb="hll2350dwpdrv-4.0.0-1.i386.deb"
+wget "https://download.brother.com/welcome/dlf103566/${ppd_deb}"
+dpkg --add-architecture i386
+apt update
+apt install -y "./${ppd_deb}"
+service cups restart
+# lpadmin -p 'Brother_HLL2350DW' -m 'brother-HLL2350DW-cups-en.ppd'
+rm "./${ppd_deb}"
+# TODO explore potential lpadmin options like -o 'OutputMode=NormalGray'
+
+# Set up NVIDIA eGPU config.
+if [ "$system_name" = "w530" ]; then
+    cd
+    git clone https://github.com/NVIDIA/open-gpu-kernel-modules
+    cd open-gpu-kernel-modules
+    git checkout 337e28e
+    make modules -j$(nproc)
+    make modules_install
+    cd
+    driver_version=535.86.05
+    runscript=NVIDIA-Linux-x86_64-${driver_version}.run
+    wget https://us.download.nvidia.com/XFree86/Linux-x86_64/${driver_version}/${runscript}
+    rmmod nouveau
+    chmod u+x ${runscript} 
+    ./${runscript} --no-kernel-modules --silent
+    depmod
+fi
+
+# Set up user environments.
+cd "${setup_scripts_dir}"
+./copy_dirtree.sh "${config_tree_prefix}/home_files" "/root" minimal root
+adduser --disabled-password --gecos "" plom
+usermod -a -G sudo plom
+passwd plom
+cp -a ~/config /home/plom
+chown -R plom:plom /home/plom/config