Arch Linux + awesome with Windows 8.1 in VAIO Pro
先日VirtualBoxでArch Linux入れてみたところでしたが、引き続いてVAIO Proへのインストールが完了したのでまとめます。なお、Window8.1とのデュアルブートです。上のスクリーンショットが完成形。
事前準備
まず起動前の状態でASSISキーを押してBIOS設定を呼び出し、Secure Bootをdisabled
にしておきます。Arch LinuxではSecure Bootをサポートしてないです。あとここではExternal MediaでのBootを許可したりとかしておくべきなんですけど、怠惰なんでASSISTメニューからUSBメモリでの起動を選ぶことでインストール作業を済ませてしまいました。Arch Wikiには「External MediaいじってUSBブートしろ」って書いてあるんで、そっちに従った方がいいと思います。
続いてWindows側での設定。
- コントロールパネル > 電源オプション > 電源ボタンの動作の選択 > 高速スタートアップを有効にする をオフ
- スタートボタン右クリック > ディスクの管理 > パーティションを縮小
既存パーティションを縮めることでLinuxインストール用の領域を作るのが通例ですけど、自分の場合これだ空き容量が小さすぎたので、回復パーティションを削除することにしました。そのために16GBのUSBメモリを買ってきて、回復ドライブを作ります。
VAIO Care > その他の機能 > リカバリーメディアの作成
作成が無事に終わったら、その後一度シャットダウンしてASSISTキー押して起動。以下の手順でリカバリーパーティションが消せます。
トラブルシューティングを開始 > Microsoft IME > トラブルシューティング > VAIOのリカバリー機能 > Windows 8.1 > ツール > リカバリーパーティションを削除
が、自分の場合これだとエラーが出て結局ダメだったんでdiskpartで削除しました。これもあまり褒められたやり方ではないと思うので推奨はしません。256GBモデルをケチらず買っときゃよかったなと初めて思った次第。
インストール
インストール用のUSB指して再度ASSISTキーを押し、USBメディアから起動。そこからは前回のエントリーを参考に、通常通りインストール進めていきます。ポイントは以下の点かなと。
- ディスクパーティション、ESPはWindowsのものを使うので新たな切り出し不要。自分は/mnt/boot(200MB)と/mnt(残り全部)だけ切りました。
- 実際にインストールしていく段階ではネット接続が必要だが、
wifi-menu
でWi-Fi接続できる。意外に簡単。 - インストール後の設定作業でもwifi-menuを使えるようにするため、
pacstrap
するときにdialogとwpa_supplicantも入れておく。
だいたいブートローダーの設定前までは特にハマるポイントはないはず。
ブートローダーの設定
grub-install
まで完了すると、/boot内は次のような感じになりました。
/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi
/boot/efi/EFI/grub/grubx64.efi
……efiがダブったパスになったのあれなんですけど、とりあえずここで言いたいのはもともとのWindowsのブートローダーとgrubがダブりますねという話で、勝手にgrubの方を上げてくれればいいんですけど、このPCの場合なのかWindows8の場合なのかわかりませんが、bootmgfw.efiの方がどうしても呼ばれてしまうので、パスを変える必要があります。
$ cd /boot/efi/EFI/Microsoft/Boot/
$ mv bootmgfw.efi bootmgfw.efi.original #あとで使うので必ず残すこと
$ cp /boot/efi/EFI/grub/grubx64.efi bootmgfw.efi
あとはGRUBのメニューエントリにWindows8のブートローダーを追加してやればよいのですが、この辺はArch Wikiに記述があるのでそちらを見ながらやった方が確実です。で、当然ながらここでchainloader
で呼び出すのがさっき.original
付けて退避した元のブートローダーってことになります。
なお、ここでbootmgfw.efiを上書きしてやっても、Windows Updateをかけることで元に戻ってしまうなんて話がありまして、自分も実際その現象には遭遇しました。面倒だけど遭遇したらもっかいUSBブートしてブートローダー移し替えてやるしかないです。
起動後の各種設定
reboot
をかければGRUBのメニューが起動して、Arch Linuxをブートできるはず。あとはwifi-menu
につないで前回同様にslimとawesomeを導入、その他もろもろ設定します。まずはyaourt
入れとくと何かと便利です。前エントリーに書いたのでやり方省略しますが、yaourt -Syua
は最初にかけておくのが無難。具体的に言うとDropbox落としてみたらバージョン古くて使えなくてハマった。
ドライバ系の設定はだいたいArch WikiにVAIO Proの項があるので見ればOK。
- 今回はVirtualBoxなので、当然ながらビデオドライバ(xf86-video-intel)が必要。
- タッチパッドのドライバは
xf86-input-synaptics
を入れる。 - 音は
alsa-utils
入れたら普通に流れた。
ラップトップだと折りたたんだときの電源の扱いがいろいろあるかと思いますが、デフォルトだとサスペンドになってるので、/etc/systemd/logind.conf
を編集してハイバネートに変更しておきます。
HandleLidSwitch=hibernate
Fn+Functionキーでの各種操作は当然ながらできなくなったので、xbindkeys
を使って設定します。xbindkeys -k
を打つと入力待ちの小窓が現れるので、そこで設定したいキーバインドを押すとキーコードが取れます。あとは取得したキーコードを使って、~/.xbindkeysrc
にキーバインドを設定。
"xbacklight -inc 10"
m:0x0 + c:233
"xbacklight -dec 10"
m:0x0 + c:232
"amixer set Master 3%+"
m:0x0 + c:123
"amixer set Master 3%-"
m:0x0 + c:122
alsamixer
でいちいち音量調節するのが面倒なので、音量の増減もキーバインドしときました。~/.xbindkeysrc
を設けた状態でxbindkeys
コマンド打てばキーバインドが設定されるので、~/.xinitrc
に書き込んで自動起動するようにしておくと捗ります。
フォントはttf-ricty
とotf-takao
ぶち込みました。ターミナルはRictyが好きだけどFirefoxとかGUIアプリで使うにはTakaoが見やすいので使い分け。パッチ当てたりとかは面倒なのでまだしてないけど、もうなんかいっかなって気がする。vim-airlineのためだけにパッチ当てるってのも手間かなと。フォント綺麗に表示するためにここの設定はしとくべきだと思います。
ターミナルはterminator
です。機能豊富なのとノウハウ多くて安定してそうなので。設定は画面右クリック→設定で呼べます。一度何か設定を入れると~/.config/terminator/config
が作られるので、これを編集しても設定可能になる。今こんなとこです。透過はやっぱ素敵。
[global_config]
title_transmit_bg_color = "#490001"
inactive_color_offset = 0.4
[keybindings]
[profiles]
[[default]]
scrollbar_position = hidden
background_image = None
background_darkness = 0.66
background_type = transparent
use_system_font = False
font = Ricty 14
[[mysetting]]
background_image = None
background_type = transparent
scrollbar_position = hidden
[layouts]
[[default]]
[[[child1]]]
type = Terminal
parent = window0
profile = default
[[[window0]]]
type = Window
parent = ""
[plugins]
ターミナル決めたら忘れずにデフォルトターミナルも変更します。rc.lua
をコピーしてきて編集します。
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
ターミナルに関する記述の行を探して変更。
terminal = "terminator"
あとは欲しいソフト適当に入れます。コードとブログ書くのに特化したマシンなので、大したのは入れてないです。
- Dropboxは開発中のコードやdotfilesやメモやタスク全部入りなので自分的には必須。容量の余裕そんなないのでテキスト関連だけ部分同期です。
yaourt
で入れてdropboxd
叩けばGUIで楽々設定できます。あとは~/.xinitrc
にも忘れず書き込むこと。 - ブラウザはVimperatorに慣れてるのでFirefox。以降には昔FEBE使ったりしてた時期もありましたが、今時だとFirefox Sync使えばだいたいいい感じになる。
- バッテリー状態見たいので
ACPI
入れる。本当はawesomeのウィジェットで常時表示させたいけどまだやってない。 - エディタは前回記事でVim入れましたが、その後Wiki読んだらRuntimeもろもろ入ってるのがGVimだけだとわかったんでGVim入れ直しました。colorscheme適用するとターミナルの透過背景塗りつぶされるんで、背景設定の部分だけコメントアウトするとかアレなことしてます。対策求む。
- 開発用にrbenv。
- スクリーンショットはKSnapshot使ってます。
だいたいこんなとこですかねー。骨は折れましたがそこそこ快適に使えてます。まだやりたいことはあって、テーマ変えたりとかウィジェット置いたりとかそのへんが今後の課題です。
あー、あとそういえばlibata.force=noncqを設定しないとSSDの場合は遅くなるていう話を見かけましたけど、今のとこうちの環境は普通に動けてます。一応やっといた方がいいのかね。