wifi6 Linux driver - environment preparation - 1 - Linux


最近看到 電瀨少女介紹 這台電腦 Dell Inspiron 7490, 個人還蠻喜歡的, (很輕便)
而且有搭載 Intel wifi6 ax201, 剛好正在開發 mac80211 driver,
https://github.com/neojou/rtw88-usb
  任何建議還請不吝指教, 一起討論學習)

想來安裝一下 Linux 玩玩看, 學習一下 Intel mac80211 11ax driver 的作法.

Windows



Intel Wi-Fi 6 AX201 160MHz, 等明年 wifi6 11ax AP 便宜些時來買來玩...





Linux


1. 安裝 ubuntu

(1) AHCI

一開始想用 內建 SSD, 裡面已經有 Win10, 想做 Dual mode Linux/Windows
遇到了 Ubuntu 安裝找不到 SSD 的問題...

Dual mode

1. BIOS

BIOS 更新 1.1.1
https://www.dell.com/support/home/tw/zh/twdhs1/product-support/product/inspiron-14-7490-laptop/drivers
變更BIOS設定
  • 關閉Intel快速啟動功能:將Intel Rapid Start Technology設定為Disable
  • UEFI開機模式:由《System Configuration》設定《Boot Mode》為UEFI
  • 關閉Secure boot:將Secure boot設定為Disable

變更Windows設定
  • 關閉Windows快速啟動:《控制台》->《電源選項》->《系統設定》。


2. msinfo32 -> BIOS 模式 UEFI

3. diskmgmt.msc
    在 C: 按右鍵選壓縮空間, 目前有 460G, 空出 200000 = 195.31GB


4. SSD 看不到

Enable AHCI mode
In order to install Ubuntu, you need to set the storage drive to AHCI mode.
  1. Run Command Prompt as an admin.
  2. Run: bcdedit /set {current} safeboot minimal .
  3. Reboot.
  4. Press F12 when you see the Dell logo.
  5. Select AHCI mode in the SATA option under System Configuration.
  6. Press “Apply” then “Exit”.
  7. Login as usual.
  8. Open the Command Prompt as an admin again and type: bcdedit /deletevalue {current} safeboot .
  9. Reboot.


BIOS 找不到切換成 AHCI 的選項... T_T
原來這款並未搭載 AHCI, 只能用 Intel RAID 方式 - Dell 論壇討論
於是改用 外接 USB disk 的方式來試看看.

所以 BIOS SATA option 先 disabled, 免得有時開機開到 SSD.
將來看看 Linux 有沒有支援 SATA RAID (Intel Rapid Restore Technology)




(2) EFI partition

接下來遇到的是 UEFI 的 boot 問題

EFI system 可以參考 wiki
UEFI 可以參考 這篇

我一開始 partition 規劃如下
  sda1 : 16G - FAT - 用rufus 製作 ubuntu 16.04 安裝片
  sda2 : 40G - Linux /
  sda3 : 4G - Linux swap

但裝好後, 有時遇見 Dell 找不到無法開機

研究了一陣子, 最後看到 這篇
原來 fdisk 已經過時, gdisk (GPT fdisk) 可以規劃 128 個 partitions..

- 先用 fdisk 整顆規劃為一個 partition : HPFS / NTFS / exFAT
 +1M : BIOS boot partition - EF02
 1M - 16G (因為 原本 40G 位置已經裝好 Linux) : EFI system
 +40G -Linux /
 +4G - Linux swap

設定 bootable flag 在 Linux /
接下來用 Dell BIOS add EFI option 即可

選 \EFI\BOOT\BOOTX64.EFI



另外 Secure Boot 可以先關閉



PS: 之前安裝的方式如下, chroot 這方式還蠻好用的, 也可以把 usb disk 接到另外一台Linux 開機後 chroot 到 usb disk 上, 來做下載安裝設定相關程式.

開機按 F12 可以從 sda1 先跑安裝程式, 但最後 grub-install 出了問題

1. grub-install: error: failed to get canonical path of `aufs'.
2.grub-install: error: cannot find EFI directory
這是因為 sda1 被 mount 成 /cdrom 只能讀, 不能寫,

參考了這篇解法- AskUbuntu
sudo mount /dev/sdb3 /mnt
sudo mount /dev/sdb2 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt$i; done
sudo cp /etc/resolv.conf /mnt/etc
sudo modprobe efivars
sudo chroot /mnt
update-grub
這樣就可以從 usb disk 開機了.



2. 安裝 linux v5.4

(1) 因為這台沒有 ethernet, ubuntu 16.04 似乎還沒支援 Intel ax201
      把 usb disk 先接到另一台 Linux, mount /dev/sdb2 /mnt

(2) 可以到這看一下 source code 路徑: https://www.kernel.org/
      cd /mnt/usr/src/
      sudo wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.4.tar.xz

(3) 另外得安裝相關 package, 用類似上述手法, 先切換到 usb disk 的 filesystem,
    (e.g. 切換前 which git 會回覆 /usr/bin/git, 切換後 which git 就沒有,
              因為這個 filesystem 還沒裝過. )

(4) 安裝相關套件
      sudo apt-get update
      sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils kernel-package libelf-dev dpkg-dev
     sudo apt-get install flex bison 
     sudo apt-get install sysbench
     sudo apt install openssl libssl-dev

(5) 和我原本 Intel i5-5200 CPU @2.20GHz 比較
      sysbench --test=cpu --num-threads=4 run
      total time: 3.5151s
   
      Dell Inspiron 7490 我是用 Intel i7-10510U CPU @ 1.80GHz
      有八核
       total time: 1.7019s

      果然新電腦比較快^^

(6) cd /usr/src ;  tar Jxvf  <.tar.xz>

(7) make clean
     make distclean
     make mrproper

(8)  cp /boot/config-`uname -r` ./.config
       make menuconfig

(9) sudo make -j7 deb-pkg

(10)
dpkg -i linux-image-5.3.1_5.3.1-1_amd64.deb
dpkg -i linux-headers-5.3.1_5.3.1-1_amd64.deb
sudo update-grub

--
問題: warning: Clock skew detected. Your build may be incomplete.

這是因為時間不對, 可以先
date -s 11/28/2019
date -s 19:47:00


--
kernel v5.4 會發生底下的問題: 

 Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler

會 hang 住, 和當初拿 ubuntu 18.04 iso 的狀況相同

後來改安裝

https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.156.tar.gz


這是 LTS version 的 Linux. 安裝後可開機. 

目前 Linux 可用. 下一篇來介紹 Intel ax201 driver



留言

熱門文章