linux:lenovo:lenovox1

文書の過去の版を表示しています。


Lenovo X1 Carbon (Gen6) に Linux を入れる

Lenovo X1 Carbon (Gen6) を入手したので Linux/Win デュアルブートにしてみようと思う。(もくろんでいるのは Win/Arch/Plamo トリプルブート)

プロセッサー : インテル Core i7-8550U プロセッサー (1.80GHz, 8MB)
初期導入OS : Windows 10 Home 64bit
導入OS言語 : Windows 10 Home 64bit - 日本語版
ディスプレイ : 14.0型WQHD液晶 (2560x1440 IPS 300nit) 光沢なし
メモリー : 16GB LPDDR3 2133MHz Soldered
グラフィックス : 内蔵グラフィックス
本体カラー : ブラック
内蔵カメラ : カメラ(HD 720p対応)あり、マイクロフォンあり
指紋センサー : 指紋センサーあり
キーボード : 英語キーボード (バックライト、指紋センサー) ブラック
ポインティング・デバイス : ThinkPadクリックパッド
セキュリティーチップ : TPMあり
TPMセッティング : TPMあり(ハードウェアチップ搭載)
ハード・ディスク・ドライブ : 1TB ソリッドステートドライブ PCIe-NVMe M.2 2280 (OPAL対応)
バッテリー : 3セル リチウムイオンバッテリー (57Wh)
電源 : 45W ACアダプター(USB Type-C)
ワイヤレスLAN : インテル®Dual Band Wireless AC(2x2) 8265、Bluetoothバージョン4.1、vPro対応
アダプター : RJ45拡張コネクター
Integrated Wireless Antenna : WLANアンテナ
Display Panel : 14.0型WQHD液晶 (2560x1440 IPS)、光沢なし、300nits、マルチタッチ非対応、720p HDカメラ、ブラック
グラフィックス : インテル UHD グラフィックス 620
付属品言語 : 日本語
Packaging : リテールパッケージ
標準保証 : 1年間 引き取り修理

とりあえずリカバリメディアを作成するファイルをダウンロードして USB メモリにリカバリメディアを作成。

最初にやったのが Windows ボリュームの縮小。Windows を起動してディスクユーティリティ(正確な名前忘れた)を使ってボリュームを縮小しようとすると 500GB ほど Windows が使った状態にしかならない。

この後者を参考に、

  1. 「システムの保護を無効にする」(これは最初からなっていた)
  2. ハイバネーションを無効にする
    powercfg.exe /hibernate off
  3. 「ページングファイルなし」
  4. 「デバッグ情報の書き込み」を「なし」

これで 60GB 程度まで縮小(もっと縮小できたけど最低限使えるように)縮小後はもとに戻した。

BIOSって用語は不正確かもしれんけど… UEFI の設定メニューで設定変更。

最初起動時に F1 とか F12 押しても Windows が起動してたので Windows から再起動して BIOS 画面へ行っていた。いつの間にか起動時に Enter 押したらやりたいことが選択できるようになった。やったことはArchWikiを参考に、

  1. Secure Boot 無効化
  2. Config → Thunderbolt BIOS Assist Mode - Set to “Enabled”
  3. Config → Power → Sleep State - Set to “Linux”(S3ステートを理解してないけどw)

購入後はファームウェアとして 1.30 が入っていたが、Linux では問題があるようで、

  • Windows から BIOS Update(1.31へ)

Linux からも Update できるみたいだけど、Linux インストール前にやっておいた。

  1. USBメモリーにイメージをコピーし起動
  2. fdisk で 128GB 確保(/dev/nvme0n1p5)
  3. mkfs.ext4 /dev/nvme0n1p5
  4. /mnt にマウント mount /dev/nvme0n1p5 /mnt
  5. mkdir -p /mnt/boot/efi
  6. mount /dev/nvme0n1p1 /mnt/boot/efi
  • 無線。Intel 8265 で iwlmvm を使うようだ。Arch のインストールイメージで起動するとモジュールはロード済み。
  • デバイスは wlp2s0 が作られている
  1. ip link set wlp2s0 up
  2. アクセスポイント検索 iw dev wlan0 scan | less
  3. wpa_supplicant の設定
    ctrl_interface=/run/wpa_supplicant
    update_config=1
  4. wpa_supplicant起動
    wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf
  5. wpa_cli 実行
    wpa_cli -i wlp2s0
    > scan
    OK
    ...(表示が出る)
    > scan_results
    (結果が表示される)
    > add_network
    0
    > set_network 0 ssid "MYSSID"
    > set_network 0 psk "passphrase"
    > enable_network 0
    (接続されたログが出る)
    > save_config
    OK

    これで /etc/wpa_supplicant/wpa_supplicant.conf に保存される。

  6. dhcpcd wlp2s0 これでアドレス割あたった
  1. timedatectl set-ntp true
  1. /etc/pacman.d/mirrorlist の Japan のやつを先頭に
  2. pacstrap /mnt base base-devel
  1. fstab生成
  2. arch-chroot /mnt
  3. ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  4. hwclock –systohc –utc
  5. /etc/locale.genで en_US.UTF-8 ja_JP.UTF-8 のコメントを外し locale-gen
  6. echo LANG=en_US.UTF-8 > /etc/locale.conf
  7. echo hostname > /etc/hostname
  8. /etc/hosts 作成
  9. pacman -Syyu
  10. pacman -S iw wpa_supplicant dialog
  11. chrootを抜けて wpa_supplicant.conf を /mnt/etc/wpa_supplicant/ へコピー
  12. systemd unit 作成(これは結局やめてあとで netctl 入れた)
    /etc/systemd/system/network-wireless@.service
    [Unit]
    Description=Wireless network connectivity (%i)
    Wants=network.target
    Before=network.target
    BindsTo=sys-subsystem-net-devices-%i.device
    After=sys-subsystem-net-devices-%i.device
    
    [Service]
    Type=oneshot
    RemainAfterExit=yes
    
    ExecStart=/usr/bin/ip link set dev %i up
    ExecStart=/usr/bin/wpa_supplicant -B -i %i -c /etc/wpa_supplicant.conf
    ExecStart=/usr/bin/dhcpcd %i
    
    ExecStop=/usr/bin/ip link set dev %i down
    
    [Install]
    WantedBy=multi-user.target
  13. systemctl enable network-wireless@wlp2s0.service
  14. mkinitcpio -p linux
  15. passwd
  16. pacman -S grub efibootmgr
  17. mount /dev/nvme0n1p1 /boot/efi
  18. grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=grub –boot-directory=/boot/efi –recheck(ここは Plamo にならって? /boot/efi にマウント)

あとでちゃんと書く。

7.0 インストール直後は、

  • grub からブートした直後ブラックアウト(grub の画面のまま切り替わらない)
  • 無線LANデバイスが有効になるまで非常に時間がかかる(firmware のロードに失敗して fallback して何か別のファームウェアをロードしてる?)
    • この時点では無線LANデバイスは Arch と同じく wlp2s0
  • 4.18.16 カーネルに入れ替え
  • 最新の firmware に
  • するとデバイス名が wlan0 に(kernel デフォルト名?)
  • X 起動後 Synaptics の設定を Mac のように(スクロール方向をタブレット、スマホ風に。ナチュラルスクロールっていうの?)
    ~$ cat /etc/X11/xorg.conf.d/20-thinkpad.conf 
    Section "InputClass"
    	Identifier "touchpad catchall"
    	Driver "synaptics"
    	MatchIsTouchpad "on"
    	MatchDevicePath "/dev/input/event*"
    	Option	"VertScrollDelta"	"-111"
    	Option	"HorizScrollDelta"	"-111"
    EndSection

    ディレクトリはないので作る

  • linux/lenovo/lenovox1.1541521423.txt.gz
  • 最終更新: 2018/11/06 16:23
  • by tenforward