如何在Dell Inspiron 14 7490笔记本电脑上安装Kubuntu ?
我的一个朋友在圣诞节收到了这台笔记本电脑,想在Linux上使用它。更具体地说,我们想安装Kubuntu 19.10,但是到了这一步,我们变得绝望了,可以满足任何发行版的需要。主要问题是笔记本电脑只有一个SSD,但是Linux无法检测到它,因此我们无法在安装程序中选择它。
编辑:我们的上一次尝试可以追溯到2020-02-02
编辑(2020-04-09):BIOS v1.4.1仍然存在问题
1.1.1
,我们安装了该版本1.3.0
。(该版本1.1.1
甚至无法启动到Kubuntu的实时USB中)kubuntu-19.10-desktop-amd64.iso
从官方网站下载。我们检查了校验和是否正确。MBR
,将目标系统设置为BIOS or UEFI
并将文件系统设置为FAT32
。Never
Initramfs unpacking failed
错误)。选择“尝试Ubuntu”,它将启动实时USB桌面会话。我们可以连接到WiFi,使用Firefox,打开终端。此时,我们可以运行一些命令以更好地了解系统。以下是一些结果:
ls -alR /dev
lshw
lsblk
cat /var/log/syslog
运行“安装Kubuntu”程序。在我们应该选择硬盘驱动器的步骤中,它崩溃了。
主要问题是未检测到笔记本电脑的SSD。它阻止安装程序格式化硬盘驱动器并安装Linux。有许多人遇到此问题的报告(请参阅下面的链接)。我将总结对这个问题的理解,并希望找到可行的解决方案。
首先,一些缩写词:
BIOS菜单具有“系统配置”部分,可用于配置硬盘驱动器对操作系统的显示方式:“ SATA操作”。这是此笔记本电脑(BIOS版本1.2.1)上本节的外观:
有两种模式:
以前的戴尔笔记本电脑具有不同的BIOS。在我的Dell XPS 15 9560上,我具有以下菜单:
它具有一个额外的“ AHCI”选项,该选项在Dell Inspiron 14 7490(BIOS v1.2.1)上不可用。
Linux does not support Intel RST currently and requires the SATA mode to be AHCI. Otherwise it cannot communicate with the SSD. Since direct "AHCI" is not available on the Inspiron laptop, it prevents the installation of Linux.
I've been using Dell laptops with Linux for a long time because because they had the reputation that it would "just work". This reputation played when I helped my friend chose a laptop: I expected the installation to go smoothly. This whole situation where they release a laptop with a new BIOS preventing from even installing Linux severely damaged their image. There are multiple threads on the Dell forums complaining about this issue (here is the most commented on).
A possible solution would be for Dell to simply release a BIOS update that unlocks the "AHCI" SATA mode. It would allow to select this mode and install Linux without further issues. This would be the ideal solution, but I don't know how reactive Dell is about these issues. I don't even know if they'll ever release this kind of patch. Opening support requests about this issue may raise the priority of a BIOS update.
An other solution would be to enable Linux to work in Intel RST mode. The most recent discussion I could find on Linux Kernel Mailing List dates from June 2019. The proposed patch in this discussion was declined.
From what I could understand, supporting Intel RST in the Linux Kernel is hard for two reasons: a complex protocol and lacking documentation. When enabling "Intel RST", the BIOS does in fact exposes the SSD through a "remapped AHCI" that looks like AHCI but does not behave like AHCI. The Kernel can detect that the SSD is in remapped mode, but can't use it. It can't use it because this technology is under-documented currently preventing from them from properly implementing it. In the syslog posted above, we can see the step where it warns that the drive is remapped:
Feb 2 18:21:34 kubuntu kernel: [ 1.082521] ahci 0000:00:17.0: version 3.0
Feb 2 18:21:34 kubuntu kernel: [ 1.083006] ahci 0000:00:17.0: Found 1 remapped NVMe devices.
Feb 2 18:21:34 kubuntu kernel: [ 1.083007] ahci 0000:00:17.0: Switch your BIOS from RAID to AHCI mode to use them.
Feb 2 18:21:34 kubuntu kernel: [ 1.083096] ahci 0000:00:17.0: AHCI 0001.0301 32 slots 16 ports 3 Gbps 0x0 impl RAID mode
Feb 2 18:21:34 kubuntu kernel: [ 1.083098] ahci 0000:00:17.0: flags: 64bit ncq sntf pm clo only pio slum part deso sadm sds apst
I don't know when or even if the Kernel will add support for AHCI remapped SSD. If more laptops are released where "Intel RST" is the only option, they may have no choice.
I haven't tried the kernel patch. As mentioned above, I am helping a friend who wants to use Ubuntu: since it's not my laptop I prefer to avoid trying out custom patches.
One of the comments to this question mentioned that Intel RST is supported through dmraid
. This thread asks to boot into live USB and run the following command before starting the installer: "dmraid --erase_metadata --raid_devices /dev/XdY
where X and Y denote the SSDs you're using".
The problem with this solution is that Linux can't see the SSD at all. lsblk
only displays loop0
and /dev/sda
(corresponding to the pendrive). When looking into /dev
, there is no /dev/sdb
or /dev/nvmeX
drive.
Ultimately my question is "How can I install Kubuntu (or Ubuntu) on this laptop?".
My conclusion is that it is currently impossible to install Linux on this laptop. We have to wait for an update from either Dell or Linux. If someone finds out a solution, please answer this question. I am also disappointed in Dell's laptops and will be more reticent to recommend them in the future.
I have just installed Lubuntu 20.04 on this laptop. It's possible, but not easy.
As you said in your question, there were some patches proposed to enable Linux to work in Intel RST mode. The patches were refused in the official Linux branch, but Daniel Drake, who proposed the patches, is working on Endless OS, a Linux based OS, and they maintain an updated version of this patch in their version of the Linux kernel available on GitHub. This kernel is based on Ubuntu's kernel, and they rebase a set of patches on top of it every time they update it, including the patch to support Intel remapped NVMe devices.
Knowing that, you now have two choices :
at this point we are getting desperate and would settle for any distribution
If you don't mind, you can just install Endless OS, and it should work out of the box. Go to https://endlessos.com/download/, download the Basic Multilanguage image, and follow the instructions to create an USB stick from Linux. Or follow the instructions to create an USB stick from Windows.
This one is a lot harder, and you need a lot of technical knowledge.
The idea is to pull and build the kernel from the Endlessm repository on GitHub, and use these packages as a custom kernel on Ubuntu.
For that, you have to pull the Git repository :
git pull https://github.com/endlessm/linux/
Install the necessary build dependencies :
sudo apt install build-essential fakeroot
sudo apt build-dep linux
Build the packages :
cd linux/
fakeroot debian/rules clean
fakeroot debian/rules binary
After a long time, you will then have a lot of .deb files created in the parent directory.
From there, you can use them to create a custom Ubuntu install CD (I haven't done that, but it should be possible).
Or, you can use Endless OS live version to :
You may have to turn Secure Boot off in the kernel to be able to boot on your kernel.
I won't detail the full process, as I don't exactly remember all the steps, but I managed to get a working system with a custom kernel. There were some problems with nouveau when suspending/rebooting, but since I have installed the nvidia driver, everything is working correctly.
Nvme drive is recognized as /dev/nvme0n1. From dmesg :
[ 0.630319] intel-nvme-remap 0000:00:17.0: Found 1 remapped NVMe devices
[ 0.630357] intel-nvme-remap 0000:00:17.0: PCI host bridge to bus 10000:00
lsblk output :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1 259:0 0 953,9G 0 disk
├─nvme0n1p1 259:1 0 680M 0 part /boot/efi
├─nvme0n1p2 259:2 0 128M 0 part
├─nvme0n1p3 259:3 0 105,7G 0 part
├─nvme0n1p4 259:4 0 990M 0 part
├─nvme0n1p5 259:5 0 15G 0 part
├─nvme0n1p6 259:6 0 1,3G 0 part
├─nvme0n1p7 259:7 0 30G 0 part /
└─nvme0n1p8 259:8 0 800,1G 0 part /home
If you use a custom kernel, you may also want to pin the version you are using to avoid it being replaced with the default version when upgrading.
In /etc/apt/preferences.d/linux-image-generic (I haven't tested it yet) :
Package: linux-image-generic
Pin: release a=now
Pin-Priority: 501
仅当您知道自己在做什么时,才应使用此处描述的方法。Endless OS内核中的内核补丁已被官方内核拒绝,我不能保证它的质量。我不能保证它会长期维护并移植到新版本的内核中。
如果您使用自定义内核安装Ubuntu,则必须自己管理所有内核更新。我希望此修复程序只是暂时的,直到Dell发布具有AHCI模式支持的BIOS版本,但可能不会发生。
内核还包括您可能需要查看的其他补丁。您可能还必须从Endlessm存储库中构建和安装其他软件包,例如linux-firmware,因为其中一些补丁程序是为了添加对官方Linux内核当前不支持的新硬件的支持。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句