phoenix-power主に、ブートローダーに関する設定とハード周りに関する設定です。

EFI

MacのEFIに関する仕組みは、かなり厄介ですが、解決は可能です。MacBookにMacを削除し、ArchLinuxをインストールすると、起動時に30秒ほど、/System/Library/CoreServices/boot.efiを探しますが、これは起動時間を長くしているだけなので、時間の無駄です。(正確には違うけど、これから実行するコマンドを分かりやすくするための表現です)

よって、この問題を解消します。

私は、元から使ってるブートローダーdisk0s1/efi/EFI/arch/grubx64.efiで上書きしますが、アイコンとかもいい感じなので、場合によっては、Macのブートローダーをデフォルトにしておいても良いだろうと思います。(この場合、上書き手順は不要となります)

installer

まず、MacのインストールUSBを作成します。Yosemiteでも同じような感じでしょうが、バージョンは低いほうが、ブートローダー周りの問題をハックしやすいだろうと考えましたので、Mavericksを使用しました。(調べてないけど)

1
$ sudo /Volumes/Untitled/soft/os/Install\ OS\ X\ Mavericks.app/Contents/Resources/createinstallmedia --volume /Volumes/s/ --applicationpath /Volumes/Untitled/soft/os/Install\ OS\ X\ Mavericks.app --nointeraction

bless

それを起動し、以下のコマンドを実行します。

1
2
3
4
5
6
7
8
9
10
11
12
13
$ diskutil list
disk0s1 200M EFI vfat
disk0s2 100G / ext4

$ cd /Volumes
$ mkdir efi
$ mount -t msdos /dev/disk0s1 /Volumes/efi

$ cp -r Image \Volume/System /Volumes/efi
$ cp /Volumes/efi/EFI/arch/grubx64.efi /Volumes/efi/System/Library/CoreServices/boot.efi
$ bless --folder=/Volumes/efi --file=/Volumes/efi/System/Library/CoreServices/boot.efi --setBoot

$ reboot

nvram

起動音を削除したい場合は、再起動前に以下のコマンドを2回実行しておきましょう。

1
2
3
4
$ nvram SystemAudioVolume=%00
$ nvram SystemAudioVolume=%00

$ nvram -p

grub

ちなみに、私のブートローダー作成方法は、以下のような感じです。参考までに。

既にArchLinuxをインストールしている場合は、実行しないでくださいね。念のため。

1
2
3
$ mkfs.vfat /dev/sda1

$ grub-install --force --recheck /dev/sda

icns

/にアイコンを置くと、表示されるみたいな情報もあります。

エントリのアイコンは対象パーティションのルートに/.VolumeIcon.icnsというMacアイコンファイルが存在すれば、それが使われます。

http://d.hatena.ne.jp/ichelm/20141209

.pngを変換するなら、以下のようにすると良いらしいです。

1
2
3
4
5
6
7
8
9
$ mkdir app_name.iconset

$ cd !$

$ curl -o icon_512x512.png https://cdn0.iconfinder.com/data/icons/flat-round-system/512/archlinux-512.png

$ iconutil -c icns .

$ mv ..icns /Volumes/efi/.volumeicon.icns

https://www.iconfinder.com/icons/386451/arch_linux_archlinux_icon

自分の場合、ブラウザでダウンロードし、それをブートルートにコピーしておきました。

1
2
3
4
5
$ sudo mkdir -p /mnt/efi

$ sudo mount /dev/sda1 /mnt/efi

$ sudo cp .volumeicon.icns /mnt/efi

写真技術が酷すぎてすいません。

keyboard

私の場合、F1-F12をハード調整機能にするものと、通常のキーとして機能させるものに分けており、awesomeの設定にて、ショートカットで切り替えられるようにしています。

~/.config/awesome/rc.lua
1
2
3
4
globalkeys = awful.util.table.join(
  awful.key({ modkey }, "[", function () awful.util.spawn_with_shell("xmodmap ~/.xmodmap.default") end),
  awful.key({ modkey }, "]", function () awful.util.spawn_with_shell("xmodmap ~/.xmodmap.origin") end),
)

xbacklight

例えば、輝度の調整です。

明るくする:
$ xbacklight -inc +10
弱くする:
$ xbacklight -dec +10

keycodeにXF86MonBrightnessUpとかあるみたいです。ということで、これを設定します。

~/.config/awesome/rc.lua
1
2
3
4
awful.key({  }, "XF86MonBrightnessDown", function ()
  awful.util.spawn_with_shell("xbacklight -inc +10") end),
awful.key({  }, "XF86MonBrightnessUp", function ()
  awful.util.spawn_with_shell("xbacklight -dec +10") end),

xbdlight

同じく、xbdlightをインストールして、

~/.config/awesome/rc.lua
1
2
3
4
awful.key({  }, "XF86KbdBrightnessDown", function ()
  awful.util.spawn_with_shell("xbdlight off") end),
awful.key({  }, "XF86KbdBrightnessUp", function ()
  awful.util.spawn_with_shell("xbdlight max") end),

その他も、こんな感じで使えそうなキーでもご自由に。

xbindkeys

xbindkeysは、結構使えるのです。

network

ArchWikiでは、networkmanagerがおすすめされていますが、netctlがオススメ。

netctl-ifplugd@interface.serviceは初期から起動していると思われます。ArchLinuxインストール時にリポジトリダウンロードするためにネットワーク接続がどうしても必要ですから、どうやらこれが使われているみたいです。

1
2
3
4
5
6
# デフォルトでインストールされている
$ sudo pacman -S netctl

$ yaourt -S netgui

$ wifi-menu

ただし、メニューバーに表示させるには、networkmanagernm-appletが必要なので、どうしようかと思っています。

wifiの設定関連の情報はこちら。

1
2
3
4
5
# 有線接続のデーモン化
$ systemctl enable netctl-ifplugd@interface.service

# 無線接続のデーモン化
$ systemctl enable netctl-auto@interface.service

接続がバッティングする場合、どちらかのプロファイルを使うかは、設定によって変更できます。自分の場合、設定してなくても有線が優先する感じです。後は、wifiをoffにすることさえ簡単にできるようにしておけば、便利になります。

1
2
3
4
5
6
7
8
# list
$ netctl-auto list

# stop
$ netctl-auto disable-all

# start
$ netctl-auto enable-all

そういえば、自動起動アプリのことを、何となくデーモンと呼ぶことがあるのですが(あくまで私の中では)、これって正しいのだろうか。特に調べてないです。