2019-12-28 21:11:00 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
# https://gist.github.com/davejamesmiller/1965569
|
|
|
|
ask() {
|
|
|
|
local prompt default reply
|
|
|
|
|
|
|
|
if [ "${2:-}" = "Y" ]; then
|
|
|
|
prompt="Y/n"
|
|
|
|
default=Y
|
|
|
|
elif [ "${2:-}" = "N" ]; then
|
|
|
|
prompt="y/N"
|
|
|
|
default=N
|
2018-04-29 23:36:59 +00:00
|
|
|
else
|
2019-12-28 21:11:00 +00:00
|
|
|
prompt="y/n"
|
|
|
|
default=
|
2018-04-29 23:36:59 +00:00
|
|
|
fi
|
|
|
|
|
2019-12-28 21:11:00 +00:00
|
|
|
while true; do
|
|
|
|
|
|
|
|
# Ask the question (not using "read -p" as it uses stderr not stdout)
|
|
|
|
echo -n "$1 [$prompt]: "
|
|
|
|
|
|
|
|
# Read the answer (use /dev/tty in case stdin is redirected from somewhere else)
|
|
|
|
read reply </dev/tty
|
2018-04-29 23:36:59 +00:00
|
|
|
|
2019-12-28 21:11:00 +00:00
|
|
|
# Default?
|
|
|
|
if [ -z "$reply" ]; then
|
|
|
|
reply=$default
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Check if the reply is valid
|
|
|
|
case "$reply" in
|
|
|
|
Y*|y*) return 0 ;;
|
|
|
|
N*|n*) return 1 ;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
done
|
|
|
|
}
|
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Copying the config files under root to where they belong..."
|
2019-12-28 21:11:00 +00:00
|
|
|
for dir in $(ls root/); do
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo cp -Rbv "root/$dir/"* "/$dir/"
|
2019-12-28 21:11:00 +00:00
|
|
|
done
|
2018-04-29 23:36:59 +00:00
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Copying firmware files under root..."
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo cp -rv firmware/* /lib/firmware/
|
2018-04-29 23:36:59 +00:00
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Making /lib/systemd/system-sleep/sleep executable..."
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo chmod -v a+x /lib/systemd/system-sleep/sleep
|
2018-04-29 23:36:59 +00:00
|
|
|
|
2019-12-28 21:13:53 +00:00
|
|
|
echo "==> Enabling power management for Surface Go touchscreen..."
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo systemctl enable -q surfacego-touchscreen
|
2019-12-28 21:13:53 +00:00
|
|
|
|
2019-12-28 21:11:00 +00:00
|
|
|
echo
|
|
|
|
|
|
|
|
echo "Setting your clock to local time can fix issues with Windows dualboot."
|
|
|
|
if ask "Do you want to set your clock to local time instead of UTC?" N; then
|
|
|
|
echo "==> Setting clock to local time..."
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo timedatectl set-local-rtc 1
|
|
|
|
sudo hwclock --systohc --localtime
|
2019-12-28 21:11:00 +00:00
|
|
|
else
|
|
|
|
echo "==> Not setting clock..."
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo
|
|
|
|
|
|
|
|
echo "Patched libwacom packages are available to better support the pen."
|
|
|
|
echo "If you intend to use the pen, it's recommended that you install them!"
|
|
|
|
|
|
|
|
if ask "Do you want to install the patched libwacom?" Y; then
|
2019-12-02 21:12:08 +00:00
|
|
|
echo "==> Downloading latest libwacom-surface..."
|
|
|
|
|
2019-12-28 21:57:43 +00:00
|
|
|
urls=$(curl --silent "https://api.github.com/repos/linux-surface/libwacom-surface-deb/releases/latest" \
|
2019-12-02 21:12:08 +00:00
|
|
|
| tr ',' '\n' \
|
|
|
|
| grep '"browser_download_url":' \
|
|
|
|
| sed -E 's/.*"([^"]+)".*/\1/' \
|
|
|
|
| grep '.deb$')
|
|
|
|
|
|
|
|
wget -P tmp $urls
|
|
|
|
|
|
|
|
echo "==> Installing latest libwacom-surface..."
|
|
|
|
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo dpkg -i tmp/*.deb
|
2019-12-02 21:12:08 +00:00
|
|
|
rm -rf tmp
|
2018-04-29 23:36:59 +00:00
|
|
|
else
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Not touching libwacom"
|
2018-04-29 23:36:59 +00:00
|
|
|
fi
|
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo
|
2018-06-07 21:52:02 +00:00
|
|
|
|
2019-12-28 21:11:00 +00:00
|
|
|
if ask "Do you want to download and install the latest kernel?" Y; then
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Downloading latest kernel..."
|
2018-06-07 02:15:26 +00:00
|
|
|
|
2019-12-28 21:57:43 +00:00
|
|
|
urls=$(curl --silent "https://api.github.com/repos/linux-surface/linux-surface/releases/latest" \
|
2019-12-02 21:00:21 +00:00
|
|
|
| tr ',' '\n' \
|
|
|
|
| grep '"browser_download_url":' \
|
|
|
|
| sed -E 's/.*"([^"]+)".*/\1/' \
|
|
|
|
| grep '.deb$')
|
2018-06-07 02:15:26 +00:00
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
wget -P tmp $urls
|
2018-06-07 02:15:26 +00:00
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo
|
|
|
|
echo "==> Installing latest kernel..."
|
2018-06-07 02:15:26 +00:00
|
|
|
|
2019-12-28 21:17:52 +00:00
|
|
|
sudo dpkg -i tmp/*.deb
|
2019-12-02 21:00:21 +00:00
|
|
|
rm -rf tmp
|
2018-06-07 02:15:26 +00:00
|
|
|
else
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "==> Not downloading latest kernel"
|
2018-06-07 02:15:26 +00:00
|
|
|
fi
|
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo
|
2019-12-28 21:11:00 +00:00
|
|
|
|
2019-12-02 21:00:21 +00:00
|
|
|
echo "All done! Please reboot."
|