­

Mac Mini 安裝Ubuntu20.04 KVM

在一台 Mac Mini mid 2011上安裝Ubuntu20.04並配置KVM環境, 過程也適用於其他版本的Mac Mini.

硬件配置

I5 2415, 內存8G*2, 硬盤 SSD 500G + HDD 500G. 1Gbps網口. USB比較寒磣只有2.0, 不過只用於跑服務也不需要掛載移動硬盤, USB慢點沒關係.

安裝Ubuntu20.04

下載ISO

USTC鏡像 //mirrors.ustc.edu.cn/ubuntu-cdimage/releases/20.04.4/release/

製作U盤

通過Ubuntu系統的Disk打開U盤, 然後restore disk image, 選中下載的iso

安裝步驟

  1. Mac Mini 插上U盤後, 按住鍵盤的ALT鍵開機, 注意如果用的普通鍵盤, 是按ALT鍵, 開機後會出現啟動選擇界面, 選最後一個UEFI USB設備啟動.
  2. 安裝時選擇使用整塊硬盤, 在下一個界面會讓你修改分區配置
  3. 如果有兩塊硬盤, 可以在這個界面設置掛載點
  4. 因為平時只連網線, 所以最後需要選擇安裝 OpenSSH
  5. Ubuntu20.04 安裝後只能看到有線網口, 無線網口沒有驅動

安裝KVM

檢查是否支持KVM

grep -E -c "vmx|svm" /proc/cpuinfo
# or
more /proc/cpuinfo |grep vmx
more /proc/cpuinfo |grep svm
# or
sudo apt install cpu-checker
kvm-ok

安裝KVM

sudo apt install qemu qemu-kvm libvirt-daemon bridge-utils virtinst

如果使用圖形界面, 可以加上virt-manager

檢查

$ lsmod | grep -i kvm
kvm_intel             282624  0
kvm                   663552  1 kvm_intel

檢查

# 是否運行
systemctl status libvirtd
# 是否開機自啟動
systemctl is-enabled libvirtd
# 虛機列表, 剛安裝應該是空的
virsh list

添加用戶組(貌似可以不需要)

sudo usermod -aG libvirt $USER
sudo usermod -aG kvm $USER

設置橋接

默認的網卡設置是這樣的

more /etc/netplan/00-installer-config.yaml
===============
# This is the network config written by 'subiquity'
network:
  ethernets:
    enp2s0f0:
      dhcp4: true
  version: 2
===============

需要修改為這樣格式的設置, 根據自己的網絡情況修改

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp2s0f0:
      dhcp4: no
      dhcp6: no
  version: 2
  bridges:
    br0:
      interfaces: [enp2s0f0]
      addresses: [192.168.61.152/24]
      gateway4: 192.168.61.1
      nameservers:
        addresses: [192.168.61.1, 8.8.8.8]

應用

sudo netplan apply

問題

查看溫度時, 會發現有些溫度不正常, 下面標出的那兩個溫度94.0°C和98.0°C, 這是因為換的第三方硬盤沒有Apple專用的溫度檢測, 所以溫度數字不對.

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +46.0°C  (high = +86.0°C, crit = +100.0°C)
Core 0:        +46.0°C  (high = +86.0°C, crit = +100.0°C)
Core 1:        +41.0°C  (high = +86.0°C, crit = +100.0°C)

applesmc-isa-0300
Adapter: ISA adapter
Exhaust  :   1800 RPM  (min = 1800 RPM, max = 5500 RPM)
TA0P:         +35.2°C  # AMBIENT_TEMPERATURE
TA0p:         +35.2°C  # AMBIENT1_TEMPERATURE
TA1P:         +37.0°C  
TA1p:         +37.0°C  
TC0C:         +38.0°C  # CPU_DIE_CORE_TEMPERATURE Digital, CPU 0 Core
TC0D:         +43.0°C  # CPU_DIODE_TEMPERATURE Analog
TC0E:         +40.2°C  
TC0F:         +41.2°C  
TC0G:         +94.0°C    <--- 
TC0J:          +1.0°C  
TC0P:         +40.2°C  # CPU_PROXIMITY_TEMPERATURE
TC0c:         +38.0°C  
TC0d:         +43.0°C  
TC0p:         +40.2°C  
TC1C:         +38.0°C  # Core 1
TC1c:         +38.0°C  
TCGC:         +38.0°C  # CPU_PECI_CORE_TEMPERATURE, PECI GPU
TCGc:         +38.0°C  # PECI_GFX_TEMPERATURE
TCPG:         +98.0°C    <---
TCSC:         +38.0°C  # PECI_SA_TEMPERATURE, PECI SA
TCSc:         +38.0°C  
TCTD:          -0.2°C  
TCXC:         +38.0°C  # PECI CPU
TCXc:         +38.0°C  
TI0P:         +42.2°C  
TI0p:         +42.2°C  
TI1P:         +39.8°C  
TI1p:         +39.8°C  
TM0P:         +42.5°C  # Memory Slot Proximity
TM0S:         +42.2°C  # Memory Slot 1  
TM0p:         +42.5°C  
TMBS:         +50.0°C  
TP0P:         +40.5°C  
TP0p:         +40.5°C  
TPCD:         +44.0°C  # Platform Controller Hub Die  
TW0P:         +34.5°C  # AirPort Proximity  
TW0p:         +34.5°C  
Tp0C:         +36.2°C