文書の過去の版を表示しています。
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 ボリュームの縮小。Windows を起動してディスクユーティリティ(正確な名前忘れた)を使ってボリュームを縮小しようとすると 500GB ほど Windows が使った状態にしかならない。
この後者を参考に、
- 「システムの保護を無効にする」(これは最初からなっていた)
- ハイバネーションを無効にする
powercfg.exe /hibernate off
- 「ページングファイルなし」
- 「デバッグ情報の書き込み」を「なし」
これで 60GB 程度まで縮小(もっと縮小できたけど最低限使えるように)縮小後はもとに戻した。
BIOS
BIOSって用語は不正確かもしれんけど… UEFI の設定メニューで設定変更。
最初起動時に F1 とか F12 押しても Windows が起動してたので Windows から再起動して BIOS 画面へ行っていた。いつの間にか起動時に Enter 押したらやりたいことが選択できるようになった。やったことはArchWikiを参考に、
- Secure Boot 無効化
- Config → Thunderbolt BIOS Assist Mode - Set to “Enabled”
- Config → Power → Sleep State - Set to “Linux”(S3ステートを理解してないけどw)
購入後はファームウェアとして 1.30 が入っていたが、Linux では問題があるようで、
- Windows から BIOS Update(1.31へ)
Linux からも Update できるみたいだけど、Linux インストール前にやっておいた。
Arch Linux インストール
パーティションの準備
- USBメモリーにイメージをコピーし起動
- fdisk で 128GB 確保(/dev/nvme0n1p5)
- mkfs.ext4 /dev/nvme0n1p5
- /mnt にマウント mount /dev/nvme0n1p5 /mnt
- mkdir -p /mnt/boot/efi
- mount /dev/nvme0n1p1 /mnt/boot/efi
ネットワーク
- 無線。Intel 8265 で iwlmvm を使うようだ。Arch のインストールイメージで起動するとモジュールはロード済み。
- デバイスは wlp2s0 が作られている
- ip link set wlp2s0 up
- アクセスポイント検索 iw dev wlan0 scan | less
- wpa_supplicant の設定
ctrl_interface=/run/wpa_supplicant update_config=1
- wpa_supplicant起動
wpa_supplicant -B -i wlp2s0 -c /etc/wpa_supplicant/wpa_supplicant.conf
- 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 に保存される。
- dhcpcd wlp2s0 これでアドレス割あたった
システムクロック
- timedatectl set-ntp true
ベースシステムインストール
- /etc/pacman.d/mirrorlist の Japan のやつを先頭に
- pacstrap /mnt base base-devel
システム設定
- fstab生成
- arch-chroot /mnt
- ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
- hwclock –systohc –utc
- /etc/locale.genで en_US.UTF-8 ja_JP.UTF-8 のコメントを外し locale-gen
- echo LANG=en_US.UTF-8 > /etc/locale.conf
- echo hostname > /etc/hostname
- /etc/hosts 作成
- pacman -Syyu
- pacman -S iw wpa_supplicant dialog
- chrootを抜けて wpa_supplicant.conf を /mnt/etc/wpa_supplicant/ へコピー
- 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
- systemctl enable network-wireless@wlp2s0.service
- mkinitcpio -p linux
- passwd
- pacman -S grub efibootmgr
- mount /dev/nvme0n1p1 /boot/efi
- grub-install –target=x86_64-efi –efi-directory=/boot/efi –bootloader-id=grub –boot-directory=/boot/efi –recheck(ここは Plamo にならって? /boot/efi にマウント)
Plamo Linux 7.0
あとでちゃんと書く。
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
ディレクトリはないので作る