背面是 ThinkPad T14 Gen 1
字样, 贴的标签印有 20S0-A008CD
, 配置如下:
硬件角度来讲, 哪一年出的电脑配哪一年的系统, 20年的就配Ubuntu20, 21年的就配Ubuntu21, 默认的内核版本高, 这样新硬件比如WiFi6, PCIe 4.0, 新显卡等的性能才能释放. CPU还好一点, 前向兼容, 但是其它硬件一般只跟前一代或者最新的系统走, 否则驱动找不到, 特别是有独立显卡的, 比如3系显卡和Ubuntu 14/16, 基本合不来的.
T14 Gen1 大概算 2020年的电脑, MX330显卡性能那个样子, 用集显也没问题, 这个配置来装Ubuntu16… 只是提供一种方法思路的笔记, 仅供参考后果自负
在Ubuntu16测试:
# Ubuntu16默认内核版本
$ uname -r
4.15.0-112-generic
# CPU
$ cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
$ lscpu | grep name
Model name: Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
# RAM
$ cat /proc/meminfo | grep -i memtotal
MemTotal: 16044280 kB
$ free -m
total used free shared buff/cache available
Mem: 15664 967 13785 27 911 14329
Swap: 975 0 975
# SSD
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 477G 0 disk
├─nvme0n1p3 259:3 0 976M 0 part [SWAP]
├─nvme0n1p1 259:1 0 512M 0 part /boot/efi
└─nvme0n1p2 259:2 0 475.5G 0 part /
$ sudo fdisk -l
Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
...
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1050623 1048576 512M EFI System
/dev/nvme0n1p2 1050624 998215679 997165056 475.5G Linux filesystem
/dev/nvme0n1p3 998215680 1000214527 1998848 976M Linux swap
# 有线网卡, 一般都是挂在pcie上
$ lspci -knn | grep -i Ethernet -A3
00:1f.6 Ethernet controller [0200]: Intel Corporation Device [8086:0d4f]
Subsystem: Lenovo Device [17aa:22b1]
Kernel driver in use: e1000e
Kernel modules: e1000e
# 直接搜索 8086:0d4f:17aa:22b1
# http://linux-hardware.org/?probe=710e7d9872
# http://linux-hardware.org/?id=pci:8086-0d4f-17aa-22b1
# 查出为I219-V, e1000e驱动
# 5.5以后内核支持, Ubuntu 18.04 detected, 20.04 works
# 无线网卡, 现在一般挂在PCIe上
# 目前基本是 WiFi+Blutooth 二合一, WiFi走PCIe通道, 蓝牙走USB
$ lspci -knn | grep -i Network -A3
00:14.3 Network controller [0280]: Intel Corporation Device [8086:02f0]
Subsystem: Intel Corporation Device [8086:0074]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
# 直接搜索 8086:02f0:8086:0074
# https://linux-hardware.org/index.php?id=pci:8086-02f0-8086-0074
# 查出为 Intel / Wi-Fi 6 AX201 160MHz
# 5.7以后内核较好, 5.1-5.6也凑合, Ubuntu 18.04以后work
# 蓝牙
$ lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 06cb:00bd Synaptics, Inc.
Bus 001 Device 002: ID 04f2:b6d0 Chicony Electronics Co., Ltd
Bus 001 Device 004: ID 8087:0026 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
|__ Port 8: Dev 2, If 3, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 2, If 1, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 2, If 4, Class=Application Specific Interface, Driver=, 480M
|__ Port 8: Dev 2, If 2, Class=Video, Driver=uvcvideo, 480M
|__ Port 8: Dev 2, If 0, Class=Video, Driver=uvcvideo, 480M
|__ Port 9: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
|__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
# 这个Dev 4就是蓝牙的, 查8087:0026
# https://linux-hardware.org/index.php?id=usb:8087-0026
# 查出 AX201 Bluetooth
# 4.16内核以上, Ubuntu20及以后work
# 显卡, 挂在PCIe总线, 大概率是NVIDIA的
$ lspci -knn | grep -i 3D -A2
2d:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:1d16] (rev a1)
Subsystem: Lenovo Device [17aa:22b0]
Kernel modules: nvidiafb, nouveau
# 搜索 10de:1d16:17aa:22b0
# https://linux-hardware.org/?probe=a6f88dd316&upgrade
# https://linux-hardware.org/?id=pci:10de-1d16-17aa-22b0
# 查出为 GP108M [GeForce MX330]
# 2.6.33内核及以后支持, Ubuntu 18.04及以后显示work
# SSD, SATA基本淘汰, 现在都是NVMe的了
# 一般占用4个PCIe通道, 新的PCIe 4.0性能更是翻倍
$ lspci -knn | grep -i NVMe -A3
2e:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981 [144d:a808]
Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
Kernel driver in use: nvme
Kernel modules: nvme
# 这个识别出是SM981/PM981
# 也可以搜索 144d:a808:144d:a801
# https://linux-hardware.org/index.php?id=pci:144d-a808-144d-a801
# 查出为三星的 NVMe SSD Controller SM981/PM981/PM983
# M.2 Socket 2接口,走PCI-E 3.0 x4通道,NVME1.2协议
# 4.4内核以后支持
# 声卡
$ lspci -knn | grep -i audio -A1
00:1f.3 Audio device [0403]: Intel Corporation Device [8086:02c8]
Subsystem: Lenovo Device [17aa:22b1]
Kernel driver in use: sof-audio-pci
Kernel modules: snd_hda_intel, snd_sof_pci
# 搜索 8086:02c8:17aa:22b1
# http://linux-hardware.org/?id=pci:8086-02c8-17aa-22b1
# 5.3以后内核支持较好
准备工作如下:
插上U盘, 开机, 进入BIOS, 主要是得关闭Secure Boot, 设置U盘作为启动项. 流程大概如此, 开始:
开机提示按Enter:
根据提示按F1进BIOS:
让这个OS Optimized Defaults
处于Off状态:
碰到Attention点Yes:
检验一下Secure Boot确实处于Off状态:
用触摸板把U盘移到最上面作为启动项, F10保存退出:
配置确认点Yes:
如果是Win10+Ubuntu双系统, 一般先装Win10, 然后Ubuntu选alongside. 这里不是双系统, 把整个盘给Ubuntu:
步骤:
U盘正常安装完成重启
重启弹出 /dev/nvme0n1p2: clean, 按下Fn+Ctrl+Alt+F1/F2 或者 Ctrl+Alt+F1/F2 , 输入用户名和密码登录
# 解决vi使用错误
$ sudo cp /etc/vim/vimrc ~/.vimrc
# Ubuntu16在的时候MX330显卡还没从娘胎里出来, 当然不认识
# 后面的WiFi, 蓝牙, 声卡当时也没见到世面
# 这里只用Intel集显即可, 禁用这个NVIDIA的开源驱动项目nouveau:
$ sudo vi /etc/modprobe.d/blacklist.conf
# 末尾添加下面这句
# blacklist nouveau
# 更新内核
sudo update-initramfs -u
sudo reboot
# lsmod | grep nouveau 检查, 无输出表示nouveau已经被禁用
# 重启已经能进去界面了, 下面的这几句就不执行了
# $ sudo vi /etc/default/grub
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 修改为
# GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
# $ sudo update-grub
# $ sudo reboot
system program problem detected
, 这个弹窗可以设置不让它再弹:
$ sudo vi /etc/default/apport
# enable=1 改为 enable=0
首先观察到WiFi不能用, 但是 sudo dmesg | grep -i iwlwifi
, 启动信息没有iwlwifi相关输出, 说明这个老内核根本不认识这个新无线网卡. 毫无疑问, 系统也不会有这个新网卡的驱动. 除了不识别, 还有启动加载失败的其它硬件 sudo dmesg | grep -i fail
, sudo dmesg | grep -i error
可以看到声卡或者蓝牙等文件找不到的, 先不去管它们
需要安装驱动, 升级内核, 如果手头实在没有其它电脑, 又没有下好驱动+内核文件, 就把手机掏出来, 通过USB共享网络给电脑, 这大概是最不挑系统的一种方法, 比RJ45的有线网络都靠谱
Ubuntu – 软件包搜索结果 – linux-firmware
https://packages.ubuntu.com/search?keywords=linux-firmware
哪一年的电脑下哪一年的, 20年的可以下20.04或者20.10对应的, 这里直接下最新的:
大概是对应 /lib/firmware 目录下的固件, 和内核也有关系. 实在不想折腾哪个好就装最新的, 不行再退, 相当于Windows中硬件的驱动包
首先看下各个系统默认的内核:
Ubuntu16 默认内核 4.15, 可能2017年以前的电脑用较好
Ubuntu18 默认内核 5.4, 可能2019年以前的电脑用较好
Ubuntu20 默认内核 5.8, 可能2021年以前的电脑用较好
Ubuntu21 默认内核 5.11
电脑出的年份与内核版本的合适关系(未验证, 纯猜想):
最终选取:
尽量不要跨度太大, 马上2022年了, 可能这之后电脑的新WiFi/显卡等, Ubuntu16真的要望本兴叹了, 除非手动改成类似iPhone SE2那种硬件跨度5/6年的超级大混搭
笔记本是哪一年出的, 就打哪一年对应的偶数内核? 2020年的电脑, 那就打Ubuntu20对应的5.8版本及以上内核
The Linux Kernel Archives, 长期支持(longterm)的有4.19, 5.4, 5.10的内核, 能撞上longterm版本最好, 撞不上就算了
如果实在不想装太新的内核, 又不用独立显卡只用WiFi的话, 英特尔® 无线适配器的 Linux* 支持 (intel.cn), 这个里面看看WiFi需要的最低内核, 就装那个, 当然不保证有线网卡能用, 事实上, t14 gen1的网卡AX201最低内核5.2, 有线网卡5.5+最好, 所以最少5.5+内核是需要的, 不然常用硬件用不了
如果选的内核提示缺libssl1.1还有固件少.bin还好, 提示缺libc6的话就换个低版本试试
综上, 经过多次测试(5.4有线网卡不识别, 5.5, 5.7, 5.8, 5.10的最低版本内核都可以, 高版本提示缺libc6作罢, 挑个中间的), 2020年的T14 Gen1 装最低的5.8内核版本
关于T14 Gen 1 和 Gen2:
不管是装Ubuntu16 还是 Ubuntu18
20年出的T14 Gen1, 升级到5.8内核可以, Ubuntu18默认的5.4内核可能用不了有线网卡, 也可升到5.8以上
21年出的T14 Gen2, 升级到5.10内核可以, 因为 英特尔® 无线适配器的 Linux* 支持 (intel.cn), AX210网卡至少需要5.10+内核, 再高版本的内核可能又要libc6, Ubuntu16升不了.
libssl1.1的下载:
http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb
5.8内核下载:
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.8/
如下图:
4个文件, lowlatency的不下.
现在有下面这些文件:
t14gen1$ tree
.
├── 5.8
│ ├── linux-headers-5.8.0-050800_5.8.0-050800.202008022230_all.deb
│ ├── linux-headers-5.8.0-050800-generic_5.8.0-050800.202008022230_amd64.deb
│ ├── linux-image-unsigned-5.8.0-050800-generic_5.8.0-050800.202008022230_amd64.deb
│ └── linux-modules-5.8.0-050800-generic_5.8.0-050800.202008022230_amd64.deb
├── libssl
│ └── libssl1.1_1.1.0g-2ubuntu4_amd64.deb
└── linux-firmware
└── linux-firmware_1.198_all.deb
开始装吧:
安装驱动
cd linux-firmware
sudo dpkg -i linux-firmware_1.198_all.deb
安装libssl1.1, 不装的话, 下一步升级内核会提示 没装libssl1.1
cd libssl
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb
升级内核
cd 5.8
sudo dpkg -i *.deb
# 如果提示缺少libc6, 说明内核和系统大环境不匹配, 是不行的, 可能需要编译源码之类的或者无解, 别折腾
# 5.8内核和Ubuntu16的大系统环境还算配
# 重启sudo reboot
# 检查内核
# uname -r
# 5.8.0-050800-generic
重启后, WiFi图标有了, 蓝牙也显示出图标了, 测试WiFi可用, 扬声器可用, 有线网卡可用
摄像头用 sudo cheese
检测, 一片漆黑, 暂时用不到, 不解决
ubuntu-drivers devices
找不到显卡驱动, 应该是MX330和Ubutnu16不配吧, 不折腾了
至此, 全部配置工作结束
拿走吧你, 又不是不能用. 开发出问题了怎么办? 谁知道呢…
https://download.csdn.net/download/weifengdq/20312063
欢迎关注微信公众号: