-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInstallMicrocode.sh
More file actions
53 lines (42 loc) · 1.2 KB
/
InstallMicrocode.sh
File metadata and controls
53 lines (42 loc) · 1.2 KB
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
#!/usr/bin/env bash
set -euo pipefail
BASE_URL="https://ftp.debian.org/debian/pool/non-free-firmware"
fetch_latest_deb() {
local subdir=$1
curl -fsSL "$BASE_URL/$subdir/" \
| grep -Eo 'href="[^"]+amd64.deb"' \
| sed 's/^href="//;s/"$//' \
| sort -V \
| tail -n1
}
install_intel() {
echo "→ Installing helper package iucode-tool…"
apt-get update -qq
apt-get install -y iucode-tool >/dev/null
local pkg=$(fetch_latest_deb "i/intel-microcode")
echo "→ Downloading $pkg…"
curl -fsSL "$BASE_URL/i/intel-microcode/$pkg" -o "$pkg"
echo "→ Installing $pkg…"
dpkg -i "$pkg" >/dev/null
rm -f "$pkg"
echo -e "\n✔ Intel microcode installed. Please reboot to apply.\n"
}
install_amd() {
echo "→ Fetching AMD microcode list…"
apt-get update -qq
local pkg=$(fetch_latest_deb "a/amd64-microcode")
echo "→ Downloading $pkg…"
curl -fsSL "$BASE_URL/a/amd64-microcode/$pkg" -o "$pkg"
echo "→ Installing $pkg…"
dpkg -i "$pkg" >/dev/null
rm -f "$pkg"
echo -e "\n✔ AMD microcode installed. Please reboot to apply.\n"
}
if [[ ${1-} == intel ]]; then
install_intel
elif [[ ${1-} == amd ]]; then
install_amd
else
echo "Usage: $0 {intel|amd}"
exit 1
fi