VAIO Z (クラムシェルモデルのZ1311です)を購入しました。
Arch Linuxが好きで、かつ、たまに再インストールするので、インストール手順を残しておこうと思います。
Arch自体の詳細なインストール手順は公式インストールガイドがしっかりしているので、そちらも参照してください。
VAIO Z
- Z1311
- Windows 10 Home
- 英字配列
- NVMe対応SSD 256GB
- Core i7-6567U
- メモリー16GB
- 13.3型ワイド(16:9) WQHD 2560×1440
ArchのUSBインストールメディアを用意する
Archlinux - DownloadからISOファイルをダウンロードして
Archwiki - USB インストールメディアを参考にUSBインストールメディアを作成する。
Windowsでやること
高速スタートアップを無効化する
これを無効化していないとArchもWindowsも起動しないという悲しいことになる。
"コントロールパネル"→"ハードウェアとサウンド"→"電源オプション"→"カバーを閉じたときの動作を選択"
から無効化する。
2016/09/06追記
oruminさんから、切らなくても両方起動しないことはないというコメントをいただきました。
自分で検証はしていないので、誰かしてくれるとうれしいなあと思います。
パーティション操作
Windowsからみた初期パーティションはboot, C, Recoveryとなっている。
以下の手順でパーティションに変更を加える。
- Windowsのディスクの管理からパーティションを縮小する
- 縮小して空いた部分をLinuxのroot用とhome用の二つに分割
- フォーマットはarchでext4にするので、このときにフォーマットはしない
この時の、サイズなどはご自由に。
UEFI設定
F3 or F4を押しながら電源ボタンを押すと、UEFIの画面が出るので、そこから"BIOSの設定"(実際BIOSではない)を起動
以下を行う
- Secure Bootを無効化
- USB Device Bootをenableへ
- 起動順序を変更し、USB deviceを最上位に
2016/09/07
BIOSはもう存在しないのだという意見を発見したのでUEFIに変更
ただし、VAIO Zの画面上は"BIOS設定"という表記になっていることに注意
Archのインストール
USBインストールメディアからブートして行う。
パーティションの設定
ルート、ブート、ホームで計3つのパーティションを使用する。
なお、ホームとルートを分ける必要は無い。
ホームを分けておくと、Linuxがぶっ壊れた時などに、ホームはそのままで、システムの再インストールだけで済むという利点がある。
Archからみたパーティション
$ lsblk
nvme0n1
|-nvme0n1p1 260M - EFI システムパーティション
|-nvme0n1p2 128M - Windowsのなんかしらが入ってる気がする(Windowsのディスクの管理では表示されない)
|-nvme0n1p3 80GB - Windows 10本体
|-nvme0n1p4 64GB - Archのroot
|-nvme0n1p5 93.1GB - Archのhome
|-nvme0n1p6 1G - リカバリ領域
ext4でフォーマットして、マウントしてやる。
このときbootパーティションはWindowsと共用する。(ブートローダがうまいことやってくれる)
デバイスファイルの番号を間違わないように注意。
$ mkfs.etx4 /dev/nvme0n1p4
$ mkfs.etx4 /dev/nvme0n1p5
$ mount /dev/nvme0n1p4 /mnt
$ mkdir /mnt/boot /mnt/home
$ mount /dev/nvme0n1p1 /mnt/boot
$ mount /dev/nvme0n1p5 /mnt/home
システムのインストール
インストールガイドにならって、ディスクにArchをインストールしていく。
$ wifi-menu
$ timedatectl set-ntp true
$ vim /etc/pacman.d/mirrorlist
$ pacstrap /mnt base base-devel zsh git dialog wpa_supplicant
$ # `wifi-menu`を使おうとすると、`dialog`と`wpa_supplicant`が無いと言ってうまく動かないので、それらも入れてやる
$ genfstab -p /mnt >> /mnt/etc/fstab
ここからインストールしたシステムに切り替えて操作する。
$ arch-chroot /mnt
$ echo computer_name > /etc/hostname
$ ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ vi /etc/locale.gen
$ locale-gen
$ echo LANG=en_US.UTF-8 > /etc/locale.conf
$ mkinitcpio -p linux
$ passwd
これで、arch自体のインストールは終了
ブートローダのインストール
grub
を使おうと思っていたら、grub
はNVMeに対応していないようでブート出来ないらしい。
ふれめも - ArchLinuxをインストールしたにならって、systemd-boot
を使うことにする。
詳細はArchwiki - systemd-bootを参照のこと
ここで、systemd-bootは、systemdに同梱されているらしいので、既にインストール済ということになる。
$ bootctl --path=/boot install
$ vi /boot/loader/loader.conf
$ # default arch
$ # timeout 1
$ # editor 0
$ cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/
$ pacman -S intel-ucode
$ # Intelのマイクロコード修正もここで入れておく
$ blkid -s PARTUUID -o value /dev/nvme0n1p4 >> /boot/loader/entries/arch.conf
$ # 手打ちは大変なので、rootパーティションのPARTUUIDを追記しておく
$ vi /boot/loader/entries/arch.conf
$ # title Arch Linux
$ # linux /vmlinuz-linux
$ # initrd /intel-ucode.img
$ # initrd /initramfs-linux.img
$ # options root=PARTUUID=hogehoge rw
2016/10/31追記
詳細はコメントを参照
options
にnoefi
を追加しないとうまく起動しないようです。
これで、Arch linuxのインストールは終了なので、再起動する。
exit
umount -R /mnt
shutdown -h now
これでデュアルブートされているはず!
Arch Linuxの設定
インストール後の設定も毎回ググっているので、ついでに書いておくことにしました。
大体は、Archwiki - 一般的な推奨事項をなぞっていけばいいはずです。
時刻の設定
詳細はArchwiki - 時刻を参照
Windowsとデュアルブートする場合は少し面倒くさい。
Wikiには、
Linux を使う時はハードウェアクロックを UTC 時刻系に設定するのが有益です。
とあるので、これに従い、ハードウェアクロックをUTCにする。
$ timedatectl set-local-rtc false
大抵、このあたりで時計がずれていたりするので、ntpを使って同期し、ハードウェアクロックに書き込みます。
ついでに、ntpdも自動起動するようにしておきましょう。
$ pacman -S ntp
$ ntpd -gq
$ hwclock --systohc
$ systemctl enable ntpd.service
Linuxの設定はこれで大丈夫そうです。
しかし、Windowsはハードウェアクロックをlocaltimeとして読む込むらしいので、レジストリに手をいれる必要があります。
Windows で UTC を使うに従い、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
の値をDWORD値の1に設定します
また、"日付と時刻"の設定から"時刻を自動的に設定する"をオフにします。
これをしないと、Windowsがハードウェアクロックを変更してしまうようです。
Wifiの自動接続
netctlに自動接続をしてもらいます。
既知のネットワークに自動で接続するとArchwiki - netctlを参照します。
$ ip link
$ # 無線インターフェース名を確認します。
$ # wlp5s0みたいな名前のはずです
$ pacman -S wpa_actiond
$ systemctl enable netctl-auto@wlp5s0.service
ユーザの追加
デフォルトではrootユーザしかないので、自分でユーザを作成します。
その前に、sudo
も入っていないのでインストールしておくとよいです。
$ pacman -S sudo
$ useradd -m -g users -G wheel -s /usr/bin/zsh mopp
$ passwd mopp
$ visudo
yaourt
Archwiki - yaourtにある通り、/etc/pacman.conf
に以下を追加します。
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
$ pacman --sync --refresh yaourt
GUI周り
色々とごちゃごちゃしてるので、気が向いたら追記します。
$ yaourt -S xf86-video-intel xorg-server xorg-xinit xf86-input-libinput i3-wm i3lock i3status dmenu rxvt-unicode ttf-ricty
HiDPI
今回のVAIO Zは13.3インチなのにWQHD(2560×1440)なので少し文字が窮屈です。
目が悪い人だとむしろ作業しづらいはずですので、HiDPIの設定も必要になりますね。
Archwiki - HiDPIに色々書いてありますが、~/.Xresources
にXft.dpi: 144
と書くだけで十分でした。
DPIが96なのが基本のようだったので、1.5倍の144に設定しました。
Windowsのデフォルトは175%みたいなので、1.75倍の168のはずです。
今の所、大体うまく動いていますが、chrome上でuim-mozcを使用すると変換候補リストが入力欄に重なってしまったり、あらぬところに表示されたりするので不便です。
どうやらchromeのバグのようで、2016/08/31現在まで修正はされていないようです。
Issue 475718 - The coordinates send to input method on Hi-DPI Linux environment are not scaled
Bluetoothマウス
今まで、logicoolのunifying無線マウスを使っていましたが、PCをケースにしまうときにレシーバが引っかかって邪魔だなあと思っていたのでbluetoothマウスに乗り換えました。
Archkiwi - Bluetoothの通りにやれば全く問題ありませんでした。
$ yaourt -S bluez bluez-utils
$ systemctl start bluetooth
$ systemctl enable bluetooth
$ bluetoothctl
[bluetooth]# power on
[bluetooth]# scan on
[bluetooth]# agent on
[bluetooth]# pair E3:C4:E5:DF:20:64
[bluetooth]# trust E3:C4:E5:DF:20:64
[bluetooth]# connect E3:C4:E5:DF:20:64
[bluetooth]# quit
$ sudo nvim /etc/udev/rules.d/10-local.rules
# # Set bluetooth power up
# ACTION=="add", KERNEL=="hci0", RUN+="/usr/bin/hciconfig hci0 up"
ただし、
- Windowsをブートして、そっちでペアリングすると、Linuxでペアリングされない
- たまに起動してもマウス操作出来ず、上記手順を繰り返す必要がある
ことがあるので、少し不便です。
2016/12/17追記
systemctl status bluetooth.service
するとSap driver initialization failed.
というメッセージが赤く出ていました。
このSAPドライバ、調べてみるとSIM Access Profileの略称みたいです。
このPCにSIMカードは入りませんし不要ですね。
なので、/etc/systemd/system/bluetooth.target.wants/bluetooth.service
のExecStart
をExecStart=/usr/lib/bluetooth/bluetoothd --noplugin=sap
として、Sap driver
を読み込まなくしてやるといいみたいです。
bluetoothd sap driver issue
英単語辞書
Vimの英単語補完機能()で必要な辞書を/usr/share/dict/words
にインストールします。
入れておくと捗るのでおすすめです。
$ yaourt -S words
参考記事
Archwiki - USB インストールメディア
Archwiki - インストールガイド
Archwiki - systemd-boot
Archwiki - 一般的な推奨事項
ふれめも - ArchLinuxをインストールした