「Mac」の版間の差分
(同期) |
(同期) |
||
82行目: | 82行目: | ||
* スワップパーティションは任意です。RAM が 4GB 以上あるマシンでは、スワップパーティションがないほうが良いパフォーマンスを期待できます。また、後で'''スワップファイル'''を作ることも可能です、[[スワップ#スワップファイル|スワップファイル]]を参照してください。 |
* スワップパーティションは任意です。RAM が 4GB 以上あるマシンでは、スワップパーティションがないほうが良いパフォーマンスを期待できます。また、後で'''スワップファイル'''を作ることも可能です、[[スワップ#スワップファイル|スワップファイル]]を参照してください。 |
||
* パーティションに関する詳細は、[[パーティショニング]]を見て下さい。 |
* パーティションに関する詳細は、[[パーティショニング]]を見て下さい。 |
||
− | * 2014年8月現在 {{pkg|refind-efi}} にはバグが存在し EFI パーティションが {{ic|/boot}} にマウントされていると {{ic|refind-install}} を実行することができません。( |
+ | * 2014年8月現在 {{pkg|refind-efi}} にはバグが存在し EFI パーティションが {{ic|/boot}} にマウントされていると {{ic|refind-install}} を実行することができません。([[systemd-boot]] など) 他のブートローダーにはこのような問題はなく {{ic|/boot}} から {{ic|/boot/efi}} を分割する必要はありません。 |
}} |
}} |
||
シンプルな例 (LVM や crypto なし): |
シンプルな例 (LVM や crypto なし): |
||
355行目: | 355行目: | ||
{{Tip| |
{{Tip| |
||
− | * MBP 6.2 - プロプライエタリの [[NVIDIA]] ドライバーでは、ハードウェアによるビデオデコードのための [[NVIDIA#Pure Video HD |
+ | * MBP 6.2 - プロプライエタリの [[NVIDIA]] ドライバーでは、ハードウェアによるビデオデコードのための [[NVIDIA#Pure Video HD|PureVideo HD]] がサポートされています。 |
* EFI モードで OS をインストールしたのに NVIDIA のバイナリドライバーが BIOS モードでしか動作しない場合 (EFI ブートで黒画面になるなど)、次のページを見てください: http://askubuntu.com/a/613573/492886 。 |
* EFI モードで OS をインストールしたのに NVIDIA のバイナリドライバーが BIOS モードでしか動作しない場合 (EFI ブートで黒画面になるなど)、次のページを見てください: http://askubuntu.com/a/613573/492886 。 |
||
}} |
}} |
||
407行目: | 407行目: | ||
'''古い Macbook 機種の特記事項 (MacBook 2,1 で確認):''' 古い Macbook のモデル (マルチタッチ未対応) では、xf86-input-synaptics パッケージをインストールしないとタッチパッドが正しく動作しません。このパッケージのインストールと設定については [[Touchpad Synaptics]] を見て下さい。 |
'''古い Macbook 機種の特記事項 (MacBook 2,1 で確認):''' 古い Macbook のモデル (マルチタッチ未対応) では、xf86-input-synaptics パッケージをインストールしないとタッチパッドが正しく動作しません。このパッケージのインストールと設定については [[Touchpad Synaptics]] を見て下さい。 |
||
− | '''Macbook Pro(5,5) のノート:''' Extra の {{Pkg|xf86-input-synaptics}} を使うのがずっとシンプルです。3本指のスワイプなどの機能がありませんが、このドライバーは高速なレスポンスを提供します。{{Pkg|gpointing-device-settings}} にはシンプルな GUI 設定が入っています。参考用に、以下は Xorg の設定ファイル {{ic|/etc/X11/ |
+ | '''Macbook Pro(5,5) のノート:''' Extra の {{Pkg|xf86-input-synaptics}} を使うのがずっとシンプルです。3本指のスワイプなどの機能がありませんが、このドライバーは高速なレスポンスを提供します。{{Pkg|gpointing-device-settings}} にはシンプルな GUI 設定が入っています。参考用に、以下は Xorg の設定ファイル {{ic|/etc/X11/xorg.conf.d/60-synaptics.conf}} です。 |
Section "InputClass" |
Section "InputClass" |
||
Identifier "touchpad catchall" |
Identifier "touchpad catchall" |
||
527行目: | 527行目: | ||
SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled" |
SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled" |
||
− | 上記の設定が使えない場合、ARPT が無効になっていることを確認して、適切なルールを udev に追加してください |
+ | 上記の設定が使えない場合、ARPT が無効になっていることを確認して、適切なルールを udev に追加してください: |
+ | |||
+ | SUBSYSTEM=="pci", KERNEL=="0000:03:00.0", ATTR{power/wakeup}="disabled" |
||
=== 環境光センサー === |
=== 環境光センサー === |
||
555行目: | 557行目: | ||
options snd_hda_intel model=mb5 |
options snd_hda_intel model=mb5 |
||
+ | |||
+ | MacBookPro12,1 の場合: |
||
+ | |||
+ | options snd-hda-intel index=1,0 |
||
iMac8,1 を使っている場合、代わりに次を使って下さい |
iMac8,1 を使っている場合、代わりに次を使って下さい |
||
927行目: | 933行目: | ||
=== MacBook === |
=== MacBook === |
||
+ | |||
+ | ==== April 2016 12" - バージョン 9,1 ==== |
||
+ | |||
+ | * {{ic|noapic}} カーネルオプションを指定することで EFI から USB ブートできます (Ubuntu の場合、{{ic|noacpi nomodeset}} も必要なようです)。起動時に Alt キーを押すのを忘れないでください。 |
||
+ | |||
+ | * ワイヤレスカードは {{ic|brcmfmac}} で特に設定もなく動作します。 |
||
+ | |||
+ | * サスペンドは問題なく動作します。 |
||
+ | |||
+ | * 内蔵のフラッシュドライブはカーネル 4.6 以上で動作します。 |
||
+ | |||
+ | * 録音は問題なく動作しますが、再生は動作しません (解決方法もまだありません)。 |
||
+ | |||
+ | * キーボードやタッチパッドは動作しません (解決方法もまだありません)。 |
||
+ | ** DSDT をハックする WIP ドライバーが [https://github.com/cb22/macbook12-spi-driver こちら] にありますが、バッテリーの消費量が著しく上昇します。 |
||
==== Mid 2007 13" - バージョン 2,1 ==== |
==== Mid 2007 13" - バージョン 2,1 ==== |
||
945行目: | 966行目: | ||
/dev/sda2 -> / |
/dev/sda2 -> / |
||
− | /dev/sda1 -> /boot |
+ | /dev/sda1 -> /boot |
− | + | 使用しているブートローダーは rEFIt ではなく [http://www.rodsbooks.com/refind/index.html rEFInd] です。インストール方法は rEFInd のホームページにあります。通常は rEFInd をコピーすることでインストールできます: |
|
+ | mkdir /boot/EFI |
||
cp -vr /usr/share/refind/drivers_ia32 /boot/EFI/refind/ |
cp -vr /usr/share/refind/drivers_ia32 /boot/EFI/refind/ |
||
cp -vr /usr/share/refind/tools_ia32 /boot/EFI/refind/ |
cp -vr /usr/share/refind/tools_ia32 /boot/EFI/refind/ |
||
991行目: | 1,013行目: | ||
===== Bluetooth ===== |
===== Bluetooth ===== |
||
Bluetooth はカーネル 4.4.0 から完全にサポートされています。 |
Bluetooth はカーネル 4.4.0 から完全にサポートされています。 |
||
+ | |||
+ | ===== サスペンド & 電源オフ (11,4+) ===== |
||
+ | 11,4 や 11,5 の MacBook Pro はデフォルトのカーネルだと正しくシャットダウンしたりサスペンドすることができません。この問題の詳細は [https://bugzilla.kernel.org/show_bug.cgi?id=103211 Bug 103211] にあり、一時的なパッチは {{AUR|linux-macbook}} でインストールできます。 |
||
===== キーボード & タッチパッド ===== |
===== キーボード & タッチパッド ===== |
2016年8月17日 (水) 16:41時点における版
関連記事
MacBook (Air/Pro) に Arch Linux をインストールするのは他のコンピュータに Arch をインストールするのと大して変わりはありません。とはいえ、MacBook 固有のハードウェア設定のため、説明を分ける必要がある特別な注意事項が多少存在します。Arch Linux 一般の情報は、インストールガイドやビギナーズガイドを参照してください。このページでは Linux カーネルでサポートされているハードウェアを使っている Apple のコンピュータにおけるインストールの説明を入れています。機種ごとの注意事項やトラブルシューティングなどは (ページ右上の) '関連'ページを見て下さい。
目次
- 1 概要
- 2 Mac OS X のインストールとファームウェアのアップデート
- 3 パーティション
- 4 GRUB から直接ブートする
- 5 インストール
- 6 インストール後の設定
- 7 rEFIt
- 8 モデルごとの情報
- 9 参照
概要
具体的に言うと、MacBook で Arch Linux をインストールする手順は以下の通りになります:
- OS X のインストール: 最終的な構成をどうしたいのかに関わらず、出来る限り OS X のクリーンインストールから始めて下さい。
- ファームウェアのアップデート: アップデートを行うことでエラーが減りハードウェアの新しい機能が使えるようになるはずです。
- パーティション: このステップでは OS X パーティションを縮小または削除して Arch Linux のためのパーティションを作成します。
- Arch Linux のインストール: 実際にインストールを行います。
- インストール後の設定: MacBook の特有設定。
Mac OS X のインストールとファームウェアのアップデート
OS X をインストールする方法については Apple による資料を参照してください。OS X をインストールしたら、アップルメニュー > ソフトウェアアップデート を開き、全てのソフトウェアを更新しましょう。ソフトウェアアップデートを実行した時は、コンピュータを再起動する必要があります。再起動後、ソフトウェアアップデートをもう一度実行して全ての更新がインストールされたことを確認してください。
OS X をインストールしておくつもりがない場合は、以下のファイルのバックアップを作成してください:
/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
後で iSight を使うのにこのファイルが必要になります。
/Library/ColorSync/Profiles/Displays/*
カラープロファイルを調整するにはこのファイルが必要です。
パーティション
インストールの次のステップはハードドライブの再パーティションです。通常の方法で OS X をインストールした場合、ドライブは GPT フォーマットとなり以下のパーティションが含まれているはずです:
- EFI: ディスクの最初にある 200 MB のパーティション。パーティションツールによっては msdos や FAT と認識されることがあり通常は #1 とラベル付けされます。
- Mac OS X: ディスクの残り容量全てを占めている (HFS+) パーティション。通常は #2 とラベルが設定されます。
- Recovery: リカバリーパーティション (Mac OS X 10.7 以上のみ)。
インストールしたいオペレーションシステムの数によってパーティションの方法は変わります。このページでは以下の選択肢を説明しています:
- Arch Linux だけのシングルブート。
- OS X と Arch Linux のデュアルブート。
- Mac OS X, Windows XP, Arch Linux のトリプルブート。
どれにするのか決められないのならば、デュアルブートを推奨します。いつでも好きなときに OS X に戻ることができるからです。
Arch Linux のみ
一番簡単です。Arch Linux がインストールできる他のハードウェアと同じようにパーティションをすれば、ほとんど上手くいきます。特筆すべきは MacBook のファームウェアの起動音です。このサウンドをオフにするには: インストールを始める前に OS X でボリュームをミュートにしてください。MacBook のファームウェアは (可能であれば) OS X の値を使います。OS X パーティションを取り除くと、マシンのファームウェアを簡単に更新する方法がなくなるので注意してください。外付けドライブを使って OS X を起動する必要があります。 EFI モード (推奨) もしくは bios 互換モードで起動することができますが、よくわからない場合は EFI を選択してください。
EFI を使ってインストールするには、EFI ブータブルメディアを作成する手順に従って下さい。完了したら EFI モードで USB キーがちゃんと起動しているかどうかを EFI カーネル変数をチェックして確認してください。EFI パーティションは vfat ではなく hfsplus
ファイルシステム (hfsprogs) でフォーマットする必要があります。そうしないと mactel-bootAUR が失敗します。Macbook では efibootmgr は使用できません。
EFI
- cgdisk (gptfdisk パッケージ) を実行してください。
- 必要なパーティションを作成してください。
シンプルな例 (LVM や crypto なし):
partition mountpoint size type label /dev/sda1 /boot/efi 200MiB vfat EFI /dev/sda2 /boot 100MiB ext2 boot /dev/sda3 - adjust swap swap /dev/sda4 / 10GiB ext4 root /dev/sda5 /home remain. ext4 home
- 完了したら、#インストール に進んで下さい。
BIOS 互換
- インストールメディアを起動して tty を切り替えて下さい。
- parted を起動して下さい。パーティションテーブルを msdos に変更してから通常通りにパーティションしてください。GRUB は GPT に対応しています。
- 必要なパーティションを作成してください。
- 完了したら、#インストール に進んで下さい。
Mac OS X と Arch Linux
OS X と Arch Linux が共存するようにハードドライブをパーティションするには、OS X のパーティショニングツールを使ってから Arch Linux のツールで仕上げをするのが一番簡単な方法です。
手順:
- OS X で、Disk Utility.app を実行してください (
/Applications/Utilities
にあります)。
- 左のカラムからパーティションするドライブを選択してください (パーティションではありません)。右のパーティションタブをクリックしてください。
- ボリュームスキームからリサイズするボリュームを選択してください。
- OS X パーティションと Arch Linux パーティションにそれぞれ容量をどれくらい割り当てるか決めて下さい。ソフトウェアアプリケーションやファイルの数にもよりますが、標準的な OS X のインストールには 15-20 GiB が必要だということを覚えておいて下さい。
- 最後に、サイズのところに OS X パーティションに割り当てる新しい (縮小した) サイズを入力して適用をクリックします。これで空きスペースから新しいパーティションが作成されます。このパーティションは後で削除します。
- 上記作業が完了したら、次に進んで下さい。もし失敗した場合は、先に OS X の中からパーティションを修復する必要があるかもしれません。
- ブート中に alt キーを押して Arch インストール CD を起動して下さい。あなたが選択したブート方法によって以下の方法のどちらかに従って下さい。
EFI
- cgdisk を実行してください。
- Disk Utility.app で作成したパーティションを削除して Arch Linux に必要なパーティションを作成してください。OS X ではパーティションの後に 128 MiB の隙間があると良いので、最後の Mac OS X パーティションの後に最初のパーティションを作成する際、cgdisk がパーティションの最初のセクターを聞いた時に +128M と入力してください。Apple のパーティションポリシーに関する詳細は こちら を読んでください。シンプルな例 (LVM や crypto なし):
partition mountpoint size type label /dev/sda1 /boot/efi 200MiB vfat EFI /dev/sda2 - ? hfs+ Mac OS X /dev/sda3 - ? hfs+ Recovery /dev/sda4 - 100MiB hfs+ Boot Arch Linux from the Apple boot loader (optional) /dev/sda5 /boot 100MiB boot boot /dev/sda6 - ? swap swap (optional) /dev/sda7 / 10GiB ext4 root /dev/sda8 /home remaining ext4 home
- 完了したら、#インストール に進んで下さい。
BIOS 互換
- root で parted を実行してください。
- 空きスペースのパーティションと他のインストールに使うスペースのパーティションを削除します。MBR はプライマリパーティションを4つまでしか持てないので注意してください (efi パーティションを含む)。arch には2つのプライマリパーティションを残します。システムパーティションとホームパーティションを作って、スワップファイルを使うという方策と (論理パーティションは使いません)、ひとつのパーティションを共有パーティションにするという方策が考えられます (下を参照)。
- 次に、(ファイルシステムを必要とする) パーティション上に (特に
/boot
を含むパーティションに) ファイルシステムを新しく作成します。次のステップで rEFIt が MBR に正しいパーティションタイプを設定できるようにする必要があります (既存のファイルシステムを使わない、parted によって設定されたパーティションタイプは無視されるようです)。GRUB を正しいパーティションにインストールするために不可欠です。
- ここで、コンピュータを再起動して rEFIt でハードドライブのパーティションテーブルを修正してください (これをしていないと、Mac が Linux のパーティションを認識できるように後で GRUB を再インストールする必要が生じることがあります)。rEFIt のメニューが表示されたら、update partition table を選択して、Y を押して下さい。そして再起動します。
- 完了したら、#インストール に進んで下さい。
Mac OS X, Windows XP, Arch Linux のトリプルブート
この方法はどの環境でも使えるとは保証できませんが、late 2009 以降の Macbook では問題ないことをテスト済みです。
ハードドライブをパーティションして、全てのオペレーティングシステムが共存できるようにする一番簡単な方法は、Mac OS X のディスクユーティリティを使って、XP のフォーマッタを使って、XP をインストールして、Arch Linux のツールでフィニッシュすることです。
手順:
- OS X で、Disk Utility.app を実行してください (
/Applications/Utilities
にあります)。
- 左のカラムからパーティションするドライブを選択してください (パーティションではありません)。右のパーティションタブをクリックしてください。
- ボリュームスキームからリサイズするボリュームを選択してください。
- Mac OS X のパーティション、XP のパーティション、Arch Linux のパーティションそれぞれにどれだけ容量を割り当てるか決定します。ソフトウェアアプリケーションやファイルの数によりますが、標準的な Mac OS X 環境には 15-20 GiB、XP もそれと同じくらいの容量が必要になることを覚えておいて下さい。OSX 200Gb, XP 25Gb, Arch 25Gb くらいで十分でしょう。
- 割り当てを決めたら行動に移します。+ ボタンを押して新しいパーティションを追加し、自由にラベルを付けて下さい。XP パーティションは一番最後のパーティションにして FAT32 でフォーマットします。後で迷わないように Arch は HFS でフォーマットすると良いでしょう、どちらにしろフォーマットし直すことになります。
linux から見るとパーティションは以下のようになります:
- sda (ディスク)
- sda1 (Mac ブートパーティション - OSX からは見れません)
- sda2 (HFS+ の OSX インストール)
- sda3 (一時的に HFS の Arch インストール)
- sda4 (FAT32 の XP インストール)
- 最後に、適用をクリックします。これで空きスペースから新しいパーティションが作成されます。
- 上記作業が完了したら、次に進んで下さい。もし失敗した場合は、先に Mac OS X の中からパーティションを修復する必要があるかもしれません。
- この方法でブートキャンプをする必要はありません。EFIt プログラムはかなりの柔軟性があります (ただし GRUB ほどの柔軟性はありません)。rEFIt をダウンロードしてインストールしてください [1]。
- OS X のターミナルを開き以下を実行してください、これで rEFIt ブートマネージャが有効になります。
cd /efi/refit ./enable.sh
- rEFIt が動作するか再起動して確認してください、起動時に表示されるはずです。立ち上がったら rEFIt パーティションマネージャを開いて変更を承諾してください。
- XP インストール CD を挿入して rEFIt で起動します - ブートローダーによって認識されるまで何回か再起動する必要があるかもしれません。XP をインストールして、インストールが完了したら XP でドライバーが動くように OSX インストール CD を使います。
- Arch インストール CD を起動して、root でログインし
# /arch/setup
を実行してください。
- 通常通りにインストールを行います。arch インストーラーには sda3 を root パーティションとしてマウントさせ ext3 でフォーマットします。
/boot
やスワップパーティションはないので警告は無視して下さい。
- この時点で、デュアルブートする場合は、コンピュータを再起動して rEFIt でハードドライブのパーティションテーブルを修正します (これを行っていないと、Mac に Linux パーティションを認識させるために後で GRUB の再インストールをする必要が出てきます)。rEFIt のメニューに入ったら、update partition table を選択して、Y を押して下さい。
# reboot
- これで完了です。#インストール に進むことができますが、#GRUB から直接ブートする を読んでおいて下さい。
GRUB から直接ブートする
GRUB を EFI パーティションに直接インストールする
- GRUB をメインのブートローダーとして使用し、rEFIt (http://refit.sourceforge.net/、上の #BIOS 互換 や #Mac OS X, Windows XP, Arch Linux のトリプルブート で記述) などを使う代わりに"ブート中に Alt/Option キーを押す"方法で Mac OS X に戻したい場合は、Mac の既存の EFI パーティション (下記参照) に grub をインストールする必要があります。
手順:
- grub をインストールしてください
/boot
にefi
という名前のディレクトリを作成してください
- Mac 上にある既存の EFI パーティションをこの
/boot/efi
ディレクトリにマウントしてください
- このディレクトリに GRUB をインストールしてください
/boot/grub
にlocale
という名前のディレクトリを作成してください
/usr/share/locale/en\@quot/LC_MESSAGES/
から/boot/grub/locale
にgrub.mo
をコピーしてください
- GRUB の設定を生成してください
- 完了です。これで再起動後 GRUB が起動し新しくインストールした Archlinux を起動することができます。
- Mac OS X を起動したいときはコンピュータの起動中に ALT/Option キーを押し続けて下さい。
詳細 (GRUB/EFI サンプル#M5A97 から引用):
grub をインストールして boot パーティションがハードディスクに GPT としてあるか確認して、基本の Arch インストール作業は完了です。
GRUB#UEFI システム 2 より:
UEFI システムパーティションは GRUB のインストールスクリプトが検出できるように /boot/efi/
にマウントする必要があります:
# mkdir -p /boot/efi # mount -t vfat /dev/sdXY /boot/efi
X はブートするハードディスク、Y は先に作成した efi パーティションに置き換えて下さい。
以下のコマンドで GRUB UEFI アプリケーションとモジュールを /boot/grub/x86_64-efi
にインストールしてください:
# modprobe dm-mod # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck --debug # mkdir -p /boot/grub/locale # cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo
GRUB の設定を生成してください
# grub-mkconfig -o /boot/grub/grub.cfg
bless を使う
分割したパーティションに GRUB を配置した後 "blessing" を行うことで rEFIt を使わずに EFI モードで GRUB から直接起動できます。この手順は Macbook 7,1 で動作することが確認されています。GRUB は FAT32 か HFS+ パーティションでホストしたほうが良いですが、ext2 や ext3 も動作します。GRUB の appleloader コマンドは 7,1 では現在動作しませんが、ここから利用できるパッチでサポートを追加することが可能です。
適切な場所に GRUB をインストールした後、その場所から起動するようにファームウェアを設定する必要があります。既存の OS X 環境か OS X のインストールディスクから設定を行うことができます。次のコマンドは GRUB を既存の OS X パーティションの /efi/grub
にインストールしたと仮定しています:
# bless --folder /efi/grub --file /efi/grub/grub.efi
コンパイル
機種によっては EFI_ARCH を i386 に設定する必要があります。
bzr branch --revision -2 bzr://bzr.savannah.gnu.org/grub/trunk/grub grub cd grub ./autogen.sh patch -p1 < appleloader_macbook_7_1.patch export EFI_ARCH=x86_64 ./configure --with-platform=efi --target=${EFI_ARCH} --program-prefix="" make cd grub-core ../grub-mkimage -O ${EFI_ARCH}-efi -d . -o grub.efi -p "" part_gpt part_msdos ntfs ntfscomp hfsplus fat ext2 normal chain boot configfile linux multiboot cp grub.efi *.mod *.lst yourinstalllocation
インストール
- Arch Linux インストール CD もしくは必要に応じて最新の Archboot iso (非公式) から起動してください。Apple の UEFI で起動できる USB を作るには、UEFI ブータブル USB を作成する手順に従う必要があります。
- インストールガイドに則ってインストールを進めて下さい。ただし以下の箇所は別です:
- ハードドライブの準備では、ファイルシステムのマウントポイントの設定だけを行なって下さい。適切なパーティションを割り当てるように注意してください。#パーティション に従っていればパーティションは既に作成されているはずです。
- (EFI で起動する場合) ブートローダーをインストールした後、インストーラーを終了して GRUB をインストールしてください。
- (BIOS 互換で起動する場合) ブートローダーをインストールした後、menu.lst ファイルを編集して reboot=pci を kernel 行の最後に追加してください、例:
kernel /vmlinuz26 root=/dev/sda5 ro reboot=pci
これで MacBook が Arch から正しく再起動できるようになります。 - (BIOS 互換で起動する場合) ブートローダーのインストールでは、
/boot
があるパーティションに GRUB をインストールしてください。 - システムの設定では、/etc/mkinitcpio.conf を編集して autodetect フックの後のどこかに keyboard フックを追加してください。これで Arch が起動する前にキーボードを使う必要があるときにキーボードのドライバーがロードされます (例: LUKS パスワードを入力したりトラブルシューティングのシェルを使う場合など)。
- インストール作業が完了したら、コンピュータを再起動してください。
- オプティカルメディアを使っている場合、MacBook の起動時にエジェクトキーを押して下さい、これで Arch Linux のインストールディスクが排出されるはずです。
- Mac OS X と Arch Linux のデュアルブートをする場合、システムの起動時に alt (option) キーを押すことで Mac ブートローダーを使って起動する OS を選択します。
Arch Linux だけのインストールにおける追加の手順
GRUB はやや複雑で EFI 環境の rEFInd よりもわかりにくいため、基本的に rEFInd が推奨です。また、ブータブルデバイスが接続されているとき、rEFInd はブータブルデバイスのエントリを追加するため、設定を更新したときにリビルド・再配置が必要なく、破損したシステムをレスキューするのが楽になります。
rEFInd
- [extra] から rEFInd をインストールしてください。
- rEFInd を EFI パーティションにインストールしてください:
# refind-install
- /boot にある linux イメージの設定ファイルを作成してください:
# refind-mkrlconf
- カーネルパラメータを追加する必要があるときは
/boot/refind_linux.conf
を編集してください。 - mactel-boot を使って rEFInd をデフォルトのブートローダーに設定する必要があるかもしれません。
インストール後の設定
Xorg
Xorg の記事に従って Xorg をインストール・設定してください。
ビデオ
MacBook はモデルによって異なるグラフィックカードが搭載されています。
搭載されているグラフィックカードを確認するには:
$ lspci | grep VGA
- intel を含む文字列が表示された場合、xf86-video-intel ドライバーのみが必要です。Intel ベースの MacBook は設定をせずとも動作します。
- nVidia が返される場合、NVIDIA を読んで下さい。
- もしくは ATI や AMD の文字が確認できた場合、ATI を読んで下さい。
NVIDIA ノート
NVIDIA のグラフィックカードが搭載された MacBook では、バックライトを正しく動作させるために AUR の nvidia-blAUR パッケージが必要になるかもしれません。
MacbookPro 5.5, NVIDIA とセカンダリディスプレイ
2011年1月1日現在、セカンダリディスプレイを使っていると最新の NVIDIA ドライバー (290.10) が正しく動作しないことがあります (TwinView で確認)。NVIDIA の現在の 長期サポート版の 275xx ドライバーは問題なく動作するようです。nvidia-275xxAUR と nvidia-utils-275xxAUR、さらに x86_64 環境で32ビットのサポートが必要な場合は lib32-nvidia-utils-275xxAUR もインストールしてください。
MacbookPro 5.5 には NVIDIA 9400m グラフィックカードが載っています。この問題は他のデバイスにも当てはまります。
タッチパッド
デフォルトでタッチパッドは基本的な機能が使えるはずです。ネイティブの OSX と全く同じように使える真のマルチタッチドライバーは AUR からインストールできます: xf86-input-multitouch-gitAUR。このドライバーは、1本指・2本指・3本指のジェスチャーをサポートしており、3本指の縦と横のスワイプを区別します。詳細については ドライバーのプロジェクトページ で読むことができます。
xf86-input-multitouch-git にはドライバーのソースを編集する以外に設定というものをサポートしていません。また、ユーザーによっては手のひらのタッチで誤ってクリックと認識されることがあるようです。現在は設定を可能にしたフォークとして xf86-input-mtrack-gitAUR が利用できます。設定オプションは readme でドキュメントになっています。
以下は Macbook 7,1 で上手く動作する mtrack のオプションです:
Option "Thumbsize" "50" Option "ScrollDistance" "100"
もしかしたら次を追加する必要があるかもしれません:
MatchDevicePath "/dev/input/event10"
タップでクリックを無効化 (つまりクリックするときは押すように) するには、以下を mtrack の設定セクションに追加してください:
Option "TapButton1" "0" Option "TapButton2" "0" Option "TapButton3" "0"
ナチュラルスクロール: Mac OSX のような自然な2本指のスクロールを設定するには、Touchpad Synaptics#ナチュラルスクロール を参照してください。
xf86-input-mtrack-gitAUR を使用している場合、上スクロールと下スクロールのボタンを入れ替えることができます (同じく左スクロールと右スクロールも):
/etc/X11/xorg.conf.d/10-mtrack.conf
... Option "ScrollUpButton" "5" Option "ScrollDownButton" "4" Option "ScrollLeftButton" "7" Option "ScrollRightButton" "6" ...
古い Macbook 機種の特記事項 (MacBook 2,1 で確認): 古い Macbook のモデル (マルチタッチ未対応) では、xf86-input-synaptics パッケージをインストールしないとタッチパッドが正しく動作しません。このパッケージのインストールと設定については Touchpad Synaptics を見て下さい。
Macbook Pro(5,5) のノート: Extra の xf86-input-synaptics を使うのがずっとシンプルです。3本指のスワイプなどの機能がありませんが、このドライバーは高速なレスポンスを提供します。gpointing-device-settings にはシンプルな GUI 設定が入っています。参考用に、以下は Xorg の設定ファイル /etc/X11/xorg.conf.d/60-synaptics.conf
です。
Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "SHMConfig" "on" Option "TapButton1" "1" Option "TapButton2" "3" Option "TapButton3" "2" Option "PalmDetect" "on" Option "VertEdgeScroll" "off" Option "HorizEdgeScroll" "off" Option "CornerCoasting" "off" Option "EdgeMotionUseAlways" "off" Option "AreaLeftEdge" "10" Option "AreaRightEdge" "1270" EndSection
OS X のようなマルチタッチジェスチャーは現在新しい synaptic ドライバーでは壊れています。OS X のマルチタッチジェスチャーを Arch に追加したいユーザーには、xSwipe が細かくカスタマイズ可能で、軽量な Perl スクリプトとしてピッタリでしょう。インストールして設定したら (Github の xSwipe wiki を参照)、xSwipe をスタートアップアイテムとして追加することを推奨します。
キーボード
MacBook のキーボードはデフォルトで動作します。fn キーを Fx キーと交換するには Apple Keyboard を見て下さい。
xbindkeys などの適当なアプリケーションを使うか DE の設定によってマッピングすることができます。しかしながら他の良い方法として AUR から pommedAUR をインストールすることを推奨します。MacBook のハードウェアにあわせて /etc/pommed.conf
を編集してください。サンプルファイルの /etc/pommed.conf.mac
や /etc/pommed.conf.ppc
から作成します。
設定ファイルがなくても動作させることは可能で、デフォルトの設定でおそらく動作します。それから pommed の systemd サービスを有効化・起動してください。
systemctl enable pommed systemctl start pommed
キーボードのバックライト
キーボードのバックライトは /sys/class/leds/smc::kbd_backlight
によって制御されています。このディレクトリの brightness
に適当な値を書き出して下さい。
kbdlightAUR を使ってスクリプトを使用したり sxhkd でスクリプトを実行してキーボードバックライトを制御することも可能です。root にならなくてもキーボードの光量を変更できるという利点があります。
NVIDIA ノート
pommed でバックライトが正しく動作しない場合、nvidia-blAUR パッケージをインストールしているか確認して以下を
find . -name "*" -exec sed -i 's/mbp_backlight/nvidia_backlight/' '{}' \;
pommed の PKGBUILD の build() 関数の2行目に挿入してパッケージを再作成してください。フォーラムの投稿 より。
もしくは pommed の PKGBUILD の build() を修正する方法もあります:
find . -name "*" -exec sed -i 's/nvidia_backlight/apple_backlight/' '{}' \;
上の方法で上手く行かない場合は以下を試して下さい。
nvidia-settings を実行して、/etc/X11/xorg.conf
ファイルを編集し、以下の行を Device セクションに追加:
Option "RegistryDwords" "EnableBrightnessControl=1"
保存して再起動し、バックライトボタンが動作するか確かめる。 詳しい情報は ubuntu macbook pro 5,5 にあります。
Wi-Fi
MacBook はモデルによって異なるワイヤレスカードが搭載されています。
あなたの MacBook にどのカードが使われているかは次のコマンドで簡単に確認できます:
# lspci | grep Network
- Atheros のカードが載っている場合、何も設定しなくても全て上手く動くはずです。
- Broadcom のカードが載っている場合、Broadcom BCM4312 のページに従って下さい。
- 5.0 と 6.0 世代の MacBook には BCM43xx が載っていることがあります、Broadcom ワイヤレスページの broadcom-wl ドライバーの手順に従って下さい。再起動するとインターフェイスが入れ替わってしまうことがあるので udev ルールでインターフェイスを定義するのが良いでしょう。
- 8.1 世代の MacBook には BCM4331 が載っており、Linux (3.0 と 3.1) にも Broadcom のプロプライエタリドライバーにもありません。ただし Linux 3.2 では実験的なサポートがあります。3.2 以前のカーネルでこのドライバーを実行するには、compat-drivers を使う必要があります。
電源管理
Powerdown はバッテリーの寿命を伸ばすスクリプトのセットで、簡単に設定することができます。powerdown をインストールしただけで MacBook Air 2013 なら約11時間もちます。 もちろん電源管理における通常の推奨事項はすべてあてはまります。
サスペンドとハイバネート
サスペンド (suspend to ram) とハイバネート (suspend to disk) は何も設定しなくても問題なく動作します:
$ systemctl suspend
フタを閉じてサスペンドしたときなど、特定の状況下でマシンが"復帰した後にすぐサスペンドする"という問題が報告されています。この問題は gconf-editor → gnome-power-manager → actions の "event_when_closed_battery" オプションの選択を外すことで解決します。
ハイバネーションの設定方法の詳細はサスペンドとハイバネートを見て下さい。特に、スワップパーティションかファイルのどちらかが必要です。
サスペンドした後、ノートパソコンが数秒で立ち上がってしまう場合、/proc/acpi/wakeup
の中にある LID0 以外の全てを無効化すると良いかもしれません:
# echo XHC1 > /proc/acpi/wakeup $ cat /proc/acpi/wakeup Device S-state Status Sysfs node P0P2 S3 *disabled EC S3 *disabled HDEF S3 *disabled pci:0000:00:1b.0 RP01 S3 *disabled pci:0000:00:1c.0 RP02 S3 *disabled pci:0000:00:1c.1 RP03 S3 *disabled pci:0000:00:1c.2 ARPT S4 *disabled pci:0000:03:00.0 RP05 S3 *disabled pci:0000:00:1c.4 RP06 S3 *disabled pci:0000:00:1c.5 SPIT S3 *disabled XHC1 S3 *disabled pci:0000:00:14.0 ADP1 S3 *disabled LID0 S3 *enabled
永続的に無効化するには:
$ cat /etc/udev/rules.d/90-xhc_sleep.rules # disable wake from S3 on XHC1 SUBSYSTEM=="pci", KERNEL=="0000:00:14.0", ATTR{power/wakeup}="disabled"
上記の設定が使えない場合、ARPT が無効になっていることを確認して、適切なルールを udev に追加してください:
SUBSYSTEM=="pci", KERNEL=="0000:03:00.0", ATTR{power/wakeup}="disabled"
環境光センサー
次のパスから値を読み出すことができます:
/sys/devices/platform/applesmc.768/light
上記のパスを "cat" すると (4,0) といったふうに値が返ってきます。スクリプトは2番目の値を無視して、1番目の値を環境光の明るさとして使います。
内蔵の環境光センサーを使って画面やキーボードのバックライトの輝度を自動的に調整したい場合、Lighter [2] (シンプルな perl スクリプト、簡単に調整可能) や Lightum [3] (Gnome や KDE が必要ですが Lighter よりも古く機能が揃っています)。
サウンド
まず最初に ALSA の wiki ページを参照してください。それで何かが上手く動かない時は、以下を読んで下さい。
/etc/modprobe.d/50-sound.conf
または /etc/modprobe.d/modprobe.conf
を編集して次の行を加えて下さい:
options snd_hda_intel model=intel-mac-auto
これで MacBook のコーデックが自動的に指定されます。また MacBookPro5,X では、次を使うこともできます (ジャック出力は "HP" で制御されます):
options snd_hda_intel model=mb5
MacBookPro12,1 の場合:
options snd-hda-intel index=1,0
iMac8,1 を使っている場合、代わりに次を使って下さい
options snd-hda-intel model=mbp3 position_fix=2
ハードウェアにあわせて、他のオプションを指定してみることもできます。全ての利用可能な設定はカーネルドキュメントに記載されています。オンラインで閲覧可能です:
設定したら、再起動してください。
Bluetooth
Bluetooth の記事を見て必要なソフトウェアをインストール・設定してください。
ウェブカメラ
iSight
Macbook や pre 6,2 MacBook Pro (6,2 は2010年発売) の iSight ウェブカメラには Apple のプロプライエタリなファームウェアが必要ですが、このファームウェアは再配布することができません。そのためファームウェアを MacOS から抽出して Arch にロードさせる必要があります。
AUR から isight-firmware-toolsAUR をインストールしてファームウェアを抽出してください。この AUR パッケージにいは必要な udev ルールや ELF バイナリも含まれており、ファームウェアファイルを /lib/firmware/isight.fw
に抽出さえすれば、コンピュータを起動するたびにファイルがロードされるようになっています (つまり /etc/udev/rules.d/isight.rules
が /usr/lib/udev/ift-load
を使用します)。
手順:
まず OS X をインストールしたディスク上にある特定のファイルからファームウェアを取得しなくてはなりません。ファイルは /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
にあります。
マルチブートしている場合 MacOSX ドライブをマウントするには:
# sudo mkdir /media/MacOSX # sudo mount -t hfsplus /dev/sda2 /media/MacOSX
そして AUR から isight-firmware-toolsAUR をインストールします。
上述の OSX ディレクトリにある AppleUSBVideoSupport
ファイルを探してください。Arch の方にコピーするか (どの OSX 環境でもかまいません、iMac など、システム特有のものではありません)、マルチブートしている場合、OSX ドライブをマウントして件のディレクトリまで移動してください (10.7 (Lion) ではディレクトリは /System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS
です)。ディレクトリの中まで進めたらドライバーを抽出します:
# ift-extract --apple-driver AppleUSBVideoSupport
抽出が完了したら、ファームウェアが存在するか確認します:
# ls /lib/firmware/isight.fw
ファームウェアが見つかったら、Mac を一度シャットダウンして起動しなおします (カメラのハードウェア状態をクリアするため)。再起動してはいけません。
ブート時に自動でロードされるようになるはずです。ロードされない場合は uvcvideo モジュールを手動でロードすることができます。
様々なアプリケーションを使ってカメラをテストすることができます:
- MPlayer
# mplayer tv:// -tv driver=v4l2:width=320:height=240:device=/dev/video0 -fps 30
- Cheese
- Skype
- Ekiga
スナップショットを撮るシンプルな方法は:
# mplayer tv:// -vf screenshot
s キーを押してスナップショットを撮影してください。ファイルのフォーマットは shot\d\d\d\d.png
で標準出力に表示されます。
Facetime HD
(2013 MBA 以降に含まれている) Facetime HD ウェブカメラは UVC デバイスでなくなったため、そのままでは動作しません。bcwc_pcie ドライバーが開発中ですが、実際に使えるようになるまではしばらく時間がかかるでしょう。Linux bug #71131 や Ubuntu bug #1276711 も参照。
温度センサー
温度を見るには lm_sensors をインストール・設定してください。Lm sensors のページを見て下さい。
カラープロファイル
Mac OS のカラープロファイルを使用することができます。
まず、AUR から xcalibAUR をインストールしてください。
次に Mac OS パーティションの /Library/ColorSync/Profiles/Displays/
ある規定のカラープロファイルを ~/colorprofiles/
などにコピーします。
MacBook モデルのプロファイルと一致するカラープロファイルが存在します、適切なプロファイルを選択してください:
- Color LCD-4271800.icc CoreDuo CPU の MacBook Pro
- Color LCD-4271880.icc Core2Duo の MacBook
- Color LCD-4271780.icc CoreDuo または Core2Duo の MacBook (Pro ではない)
最後に次を実行してプロファイルを有効にできます:
# xcalib ~/colorprofile.icc
Apple Remote
まず、LIRC の wiki ページを見て IR を操作するソフトウェア lirc を正しくインストール・設定してください。
そして /etc/conf.d/lircd
を編集して LIRC が /dev/usb/hiddev0
(または /dev/hiddev0
) を使うように設定してください。以下のようになります:
# # Parameters for lirc daemon # LIRC_DEVICE="/dev/usb/hiddev0" LIRC_DRIVER="macmini" LIRC_EXTRAOPTS="" LIRC_CONFIGFILE="/etc/lirc/lircd.conf"
irrecord (lirc をインストールして利用できます) を使ってリモートコントローラの信号にあうように設定ファイルを作成します (または、下の lircd.conf
を使うこともできます):
# irrecord -d /dev/usb/hiddev0 -H macmini output_conf_file
lircd を起動して irw で動作するか確認してください。
/etc/lirc/lircd.conf
の例:
begin remote name lircd.conf.macbook bits 8 eps 30 aeps 100 one 0 0 zero 0 0 pre_data_bits 24 pre_data 0x87EEFD gap 211994 toggle_bit_mask 0x87EEFD01 begin codes Repeat 0x01 Menu 0x03 Play 0x05 Prev 0x09 Next 0x06 Up 0x0A Down 0x0C end codes end remote
HFS パーティションの共有
まず、hfsprogs パッケージをインストールする必要があります。
パーティションのリストを表示してください:
fdisk -l /dev/sda
出力例:
# fdisk -l /dev/sda Device Boot Start End Blocks Id Type /dev/sda1 1 26 204819 ee GPT /dev/sda2 26 13602 109051903+ af Unknown /dev/sda3 * 13602 14478 7031250 83 Linux /dev/sda4 14478 14594 932832+ 82 Linux swap / Solaris
"Unknown" パーティションが OS X のパーティションで /dev/sda2
にあることがわかります。
/media に "mac" フォルダを作成してください:
# mkdir /media/mac
/etc/fstab の最後に次の行を加えて下さい:
/dev/sda2 /media/mac hfsplus auto,user,rw,exec 0 0
マウントして下さい:
mount /media/mac
確認してください:
ls /media/mac
HFS+ パーティション
HFS+ パーティションは現在 Mac OS X のデフォルトになっていますが、Linux では完全なサポートがなくデフォルトでは読み込み専用でマウントされます。HFS+ パーティションに書き出しを行うには、ジャーナリングを無効にする必要があります。これは Mac OS X のディスクユーティリティを使うことで可能です。詳しくは Apple のサポートページ を参照してください。もしくはコマンドラインから実行してください:
パーティションを確認:
$ diskutil list /dev/disk0 #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *750.2 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_HFS OSX 149.5 GB disk0s2 3: Apple_HFS Macintosh HD 599.2 GB disk0s3 4: Apple_Boot Recovery HD 650.0 MB disk0s4
この例では Macintosh HD という名前の disk0s3 パーティションを使います。ジャーナリングが有効になっているかどうか確認するために次を実行:
$ diskutil info /dev/disk0s3 | grep -i journal File System Personality: Journaled HFS+ Name (User Visible): Mac OS Extended (Journaled) Journal: Journal size 49152 KB at offset 0x1176000
ジャーナリングを無効化するには次を実行:
$ sudo diskutil disableJournal disk0s3 Password: Journaling has been disabled for volume Macintosh HD on disk0s3
ジャーナリングが無効になったことを確認するため info コマンドを再度実行:
$diskutil info /dev/disk0s3 | grep -i journal $
何も出力されなければ、ジャーナリングは無効になっています。
ホームシェアリング
UID の同期
OS X
手順 1: UID と GID を変更する
Leopard 以前
/Applications/Utilities
フォルダの NetInfo Manager を開く。- ウィンドウ下部にある鍵をクリックして、ユーザーアカウントのパスワードあるいは (root アカウントを作成した場合) root パスワードを入力して、ユーザーアカウントのトランザクションへのアクセスを有効にしてください。
/users/<new user name>
を開いてください (<new user name> は Arch と共有するフォルダの読み書き権限を持っているアカウントの名前に置き換えてください)。- UID の値を 1000 に変更 (Arch で作成した最初のユーザーで使われるデフォルト値)。
- GID の値も 1000 に変更 (Arch で作成した最初のユーザーで使われるデフォルト値)。
/groups/<new user name>
を開いてください。変更が自動的に保存されます。
Leopard
Leopard には、NetInfo Manager アプリケーションが存在しません。UID の同期に必要な手順は異なります:
- System Preferences を開く。
- Users & Groups をクリック。
- ペインのロックを解除してください。
- ユーザーを右クリックして Advanced Options を選択。
- User ID フィールドの値をメモしてください。後で必要になります。UID と GID の値を両方変更して Arch の共有したいアカウントの UID と GID にしてください (Arch では最初に作成されたユーザーの UID と GID は 1000 になります)。
手順 2: "Home" パーティションを変更する
/Applications/Utilities
フォルダの Terminal を開く。
- 以下のコマンドを入力してホームフォルダのパーミッション設定を戻してください。<your user name>, <your user group>, <your old UID> は UID の値を変更したユーザーの名前、GID を変更したグループの名前、変更する前の UID 番号にそれぞれ置き換えてください。
# find /User/<your user name> -user <your old UID> -exec chown <your user name>:<your user group> {} \;
Arch
Arch Linux で UID を同期する際は、新しいユーザーアカウントを作成するときに行うのが推奨されます。そのため Arch Linux をインストールしてすぐに同期するのを推奨します。
/etc/fstab
のエントリを編集して Arch のホームを Mac OS のホームで置き換えます。
起動前の EFI の待機を止める
起動する前に"白画面"で Macbook が30秒も待機してしまう場合、ファームウェアに起動するパーティションを伝える必要があります。
Mac OS X を起動してください。インストールしていない場合は、インストール DVD を使うか (言語を選択して、Utilities->Terminal をクリック)、または他の MacBook の Mac OS X を使います (2つのコンピュータを firewire か thunderbolt で接続して、T を押しながら別の MacBook を起動し、Options を押しながら自分の MacBook を起動する)。
MacBook に Mac OS X ターミナルを呼び出したら、ブートパーティションが EFI かどうかに応じて、それぞれ異なるコマンドを root で実行してください:
# bless --device /dev/disk0s1 --setBoot # if the booting partition is EFI
もしくは
# bless --device /dev/disk0s1 --setBoot --legacy # if the booting partition is not EFI
(GRUB や EFI が sda1 にある場合。sdb2 にあるときは /dev/disk1s2 などにしてください)。https://bbs.archlinux.org/viewtopic.php?pid=833215 と https://support.apple.com/kb/HT1533 も参照。
起動音を消す
起動音のチャイムのボリュームは EFI 変数の SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82 によって制御されています。ミュートにするには:
# printf "\x07\x00\x00\x00\x00" > /sys/firmware/efi/efivars/SystemAudioVolume-7c436110-ab2a-4bbb-a880-fe41995c9f82
もしくは、Mac OS X インストールディスクを使ってミュートすることもできます。インストールディスクで起動して、言語を選択し、Utilities > Terminal をクリックして、次を入力 (ボリュームの値は自由に設定してください):
# /usr/sbin/nvram SystemAudioVolume=%01
kworker が CPU を占有してしまう
Yosemite を使っている場合、kworker の CPU 使用量が跳ね上がることがあります [4]。これは ACPI の割り込みが暴走しているのが原因です。
最近の ACPI の割り込みの数を調べることで問題が起こっているかどうか確認できます:
$ grep . -r /sys/firmware/acpi/interrupts/
特定の割り込み (GPE66 の場合が多いです) がおかしくなっているようだったら、それを無効化します (XX は暴走している割り込みに置き換えて下さい):
# echo "disable" > /sys/firmware/acpi/interrupts/gpeXX
間違った ACPI 割り込みを無効化してしまうと他の問題が噴出するので、自己責任で行って下さい。上記のコマンドで問題が解決する場合、起動時に自動的に割り込みを無効化する systemd サービスを作成する方法が書かれた こちらのスレッド を見て下さい。
rEFIt
詳細は refit myths を見て下さい。
OS X で、Refit のホームページ から ".dmg" をダウンロードしてインストールします。
Terminal を開いて以下を入力してください:
cd /efi/refit; ./enable.sh
rEFIt の問題
Arch や rEFIt をインストールした後に問題が発生する場合、特に起動する OS が正しく表示されなかったり GRUB のプロンプトでスタックして以下のように表示する場合:
GRUB>_
次のリンクを見て下さい: http://mac.linux.be/content/problems-refit-and-grub-after-installation
It can give you a basic idea on how to boot off the Arch live cd, mount the problem Arch install, chroot, use gptsync, and reinstall GRUB. This is probably for more advanced users who can translate the commands from a debian system to an Arch system and also apply it to the partitions on their machine. Be careful not to install GRUB in the wrong spot.
gptsync のコピーが必要な場合、次の URL から wget できます: http://packages.debian.org/sid/gptsync 。64ビットの場合:
$ wget http://ftp.us.debian.org/debian/pool/main/r/refit/gptsync_0.14-2_amd64.deb
i386 の場合:
$ wget http://ftp.us.debian.org/debian/pool/main/r/refit/gptsync_0.14-2_i386.deb
.deb パッケージなので deb2targzAUR プログラムが必要です。
Mavericks のアップグレードが Arch のブートオプションを破壊する
Linux のブートパーティションを別にしてマルチブートしている場合、OSX Mavericks のアップグレードによって Apple のリカバリブートパーティションでブートパーティションが上書きされていますことがあります。こうなると rEFIt/rEFInd の Archlinux 起動オプションが破壊されます。この状況を解決するにはブートパーティションを別にするのをやめて EFI system partition (ESP) を使ってブートローダーをインストールするのがベストです。また、開発が停止している rEFIt ではなく rEFInd を使うことが推奨されます。
ブートローダーが grub2 の場合:
Arch LiveCD を使ってシェルを起動し、破壊された Archlinux 環境に chroot します。
ESP を /boot
にマウントします。
fstab を編集して古いブートパーティションを削除して ESP を新しいブートパーティションにします。そして ESP を新しい /boot
パーティションにマウントします:
# mount -a
linux を再インストール:
# pacman -S linux
/boot
に新しい initramfs と vmlinuz を作成:
# mkinitcpio -p linux
grub をインストール:
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --recheck --debug
新しい grub.cfg
ファイルを作成:
# grub-mkconfig -o /boot/EFI/grub/grub.cfg
grub.cfg
は grubx64.efi
と同じディレクトリにある必要があります。
rEFInd に付いている mkrlconf.sh
を実行して新しい refind_linux.conf
ファイルを /boot
に生成します。
chroot 環境を終了します。
再起動してください。rEFInd に Archlinux の新しいエントリが追加され、Archlinux を起動することができるはずです。
モデルごとの情報
MacBook
April 2016 12" - バージョン 9,1
noapic
カーネルオプションを指定することで EFI から USB ブートできます (Ubuntu の場合、noacpi nomodeset
も必要なようです)。起動時に Alt キーを押すのを忘れないでください。
- ワイヤレスカードは
brcmfmac
で特に設定もなく動作します。
- サスペンドは問題なく動作します。
- 内蔵のフラッシュドライブはカーネル 4.6 以上で動作します。
- 録音は問題なく動作しますが、再生は動作しません (解決方法もまだありません)。
- キーボードやタッチパッドは動作しません (解決方法もまだありません)。
- DSDT をハックする WIP ドライバーが こちら にありますが、バッテリーの消費量が著しく上昇します。
Mid 2007 13" - バージョン 2,1
古い Macbook は32ビットの EFI を使っているため、通常のインストールイメージは認識されません。ディスクから UEFI サポートを削除するか (Unified_Extensible_Firmware_Interface#オプティカルメディアから UEFI ブートサポートを削除する) またはディスクの32ビット EFI バージョンを作成する必要があります。以下では最初の方法を使って、BIOS モードで起動します。もうひとつの方法を試したい場合は、まず Unified_Extensible_Firmware_Interface#ISO から UEFI ブータブル USB を作成する を読んで下さい。
まず必要に応じてハードディスクを準備します。ここでは "Linux のみインストール" を行います:
/dev/sda1 HFS+ AF00 200M -> EFI boot system on Apple HFS+ partition /dev/sda2 ext4 8300 147G -> arch system /dev/sda3 swap 8200 1G -> swap
hfsprogs パッケージには HFS/HFS+ ファイルシステムを扱うためのツールが含まれています。rEFInd ブートローダーは自動的に hfsprogs を認識します。EFI ブートローダーのパーティションは通常 FAT32 (vfat) パーティションです。rEFIt を最初に試す場合、HFS+ ファイルシステムを動作させる必要があるので、そのままにしておきます。
マウントポイントは:
/dev/sda2 -> / /dev/sda1 -> /boot
使用しているブートローダーは rEFIt ではなく rEFInd です。インストール方法は rEFInd のホームページにあります。通常は rEFInd をコピーすることでインストールできます:
mkdir /boot/EFI cp -vr /usr/share/refind/drivers_ia32 /boot/EFI/refind/ cp -vr /usr/share/refind/tools_ia32 /boot/EFI/refind/ cp -vr /usr/share/refind/fonts /boot/EFI/refind/ cp -vr /usr/share/refind/icons /boot/EFI/refind/ cp -v /usr/share/refind/refind_ia32.efi /boot/EFI/refind/ cp -v /usr/share/refind/refind.conf-sample /boot/EFI/refind/refind.conf cp -v /usr/share/refind/refind_linux.conf-sample /boot/refind_linux.conf
The pitfall here is, that the system bootet in BIOS compatibility mode and not in EFI mode. You cannot therefore use efibootmgr
, because the EFI variables (even with 'modprobe efivars') are not available. While installing the system get mactel-bootAUR. The hfs-bless
utility comes in handy, when blessing the EFI bootloader. This is done by calling:
hfs-bless /boot/EFI/refind/refind_ia32.efi
Since the Linux kernel does come with EFI stub enabled, it seems a good idea to run it through a bootloader first. Especially if it runs not out of the box. But using rEFInd makes GRUB (or any other bootloader) obsolete, because of that.
Not running out of the box is unfortunately the initial stage for the kernel. Since we installed it in BIOS mode, two modules are missing to grant access to the root partition while booting. Hence the 'initfsram-linux.img' can not be found/loaded. Adding the following modules to your 'MODULES' line in /etc/mkinitcpio.conf
solved this (original post).
/etc/mkinitcpio.conf
MODULES="ahci sd_mod"
カーネルイメージを再生成:
# mkinitcpio -p linux
The bootloader rEFInd can scan kernels even out of the '/boot/efi/...' directory and assumes an efi kernel even without the extension '.efi'. If you do not want to try out special kernels, this should work without the hassle to copy each kernel after building to some spot special.
If you happen to get multiple entries for one boot image, it often results of a previous installation of a bootloader within the MBR. To remove that, try the following - taken from the original post. This is valid for GPT partitioned discs, so please check your environment and save your MBR first.
# dd if=/dev/zero of=/dev/sda bs=440 count=1
MacBook Pro
Early 2015 13"/15" - バージョン 12,x/11,4+
ワイヤレス
brcmfmac
ドライバーが動作します (2015年11月20日現在)。5Ghz 帯を使うには新しいファームウェアが必要です ([5] を参照)。
Bluetooth
Bluetooth はカーネル 4.4.0 から完全にサポートされています。
サスペンド & 電源オフ (11,4+)
11,4 や 11,5 の MacBook Pro はデフォルトのカーネルだと正しくシャットダウンしたりサスペンドすることができません。この問題の詳細は Bug 103211 にあり、一時的なパッチは linux-macbookAUR でインストールできます。
キーボード & タッチパッド
ハプティックフィードバックはトラックパッドにファームウェアが組み込まれているため何も設定しなくても動作します。
マルチタッチのサポートについては複数のドライバーが利用できます。以下は MacBookPro12,1 で動作することを確認済みです。
xf86-input-libinput を使う場合、以下の設定で OS X の機能をエミュレートできます。詳しくは libinput
の man ページを見て下さい。
/etc/X11/xorg.conf.d/90-libinput.conf
Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "NaturalScrolling" "true" EndSection
xf86-input-synaptics を使う場合、タッチパッドを完全に動作させるには以下の設定が必要です。
/etc/X11/xorg.conf.d/60-magictrackpad.conf
Section "InputClass" Identifier "Trackpad" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" EndSection
さらに、US/ANSI キーボードの場合、チルダキー (Esc と Tab の間にある ~ のキー) が < や > として登録されてしまうという問題があります。以下の設定ファイルで問題は解決します。
/etc/modprobe.d/hid_apple.conf
options hid_apple iso_layout=0
昔のカーネル用のパッチなど、詳しくは カーネルの bugzilla を見て下さい。
グラフィック
Intel のグラフィックカードを使う場合、xf86-video-intel をインストールしてください。OpenGL/3D のサポートに関する情報は Intel Graphics を見て下さい。
デュアルグラフィックについては 11,3 のグラフィックセクションを見て下さい。
Apple Thunderbolt 2 ギガビットイーサネットドングル
MacBookPro12,1 ("sudo dmidecode -s system-product-name" の出力) にはバグが存在 (カーネル 4.0.4) し起動時にはドングルが認識され動作するのに、ホットプラグすることができずに、切断してから再接続したときに認識・動作しません。次のカーネルバグレポートを参照: https://bugzilla.kernel.org/show_bug.cgi?id=100191
2012 - 2014 モデル
- MacBookPro11,x (Late 2013—Mid 2014)
- MacBookPro10,x (Mid 2012—Early 2013)
MacBook Air
Early 2014 11" - バージョン 6,1
2013年バージョンとほとんど同じで、唯一と言っていい違いはプロセッサーが少し速くなったことだけです。バージョン番号は2013年版から変わっていません。
このページやフォーラムスレッドの MBA 2013 13" の記述に従うことで間違いなく動作します。 Bluetooth は2013年版では動作しないと報告されてたのに対して、ほとんど同じはずなのに2014版では問題なく動作します。
未解決の問題:
- ウェブカメラのドライバーがまだ存在しない。
- rEFInd が起動を始めるのに30秒もかかる。bless を使うと rEFInd のロードを止められますが、再インストールが必要です。
Mid 2013 13" - バージョン 6,2
インストールとブート
Booting from a normal 2013.6 USB key works fine, but I could not seem to get either GRUB or Syslinux working.
I was able to boot by first installing Arch Linux following the Macbook guide at the wiki (having a separate FAT32 /boot partition). Skip the bootloader installation.
Installing rEFInd from OS X (important!) and installing the EFI stub loader made me able to boot fine.
Arch だけのインストール
This method works without refind and uses grub to boot EFI. Partition as follows:
/dev/sda1 200M Microsoft basic data /dev/sda2 256M Linux filesystem /dev/sda3 4G Linux swap /dev/sda4 108.6G Linux filesystem
sda1 can also be a HFS+ partition for EFI. This example chooses to use FAT32 (vfat). Although swap is optional, it is required for hibernation. Instead of sda4 for root and home, an alternative partition scheme would be to make sda4 as root and sda5 as home.
Format and mount:
# mkfs.vfat -F 32 /dev/sda1 # mkfs.ext2 /dev/sda2 # mkswap /dev/sda3 # swapon /dev/sda3 # mkfs.ext4 /dev/sda4
# mount /dev/sda4 /mnt # mkdir /mnt/boot # mount/dev/sda2 /mnt/boot # mkdir /mnt/boot/efi # mount /dev/sda1 /mnt/boot/efi
Finish the installation according to the Beginner's Guide and skip anything after the bootloader. After you have generated your initramfs and set root passwd follow below to setup grub:
# pacman -S grub efibootmgr # mount -t efivarfs efivarfs /sys/firmware/efi/efivars # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug # grub-mkconfig -o /boot/efi/EFI/grub/grub.cfg # cp /boot/efi/EFI/grub/grub.cfg /boot/grub/grub.cfg # cp /boot/efi/EFI/grub/grubx64.efi /boot/efi/EFI/boot/bootx64.efi}}
Now you can exit/unmount/reboot:
# exit # umount -R /mnt # reboot
安定性の問題
This is the big worry for me. Every now and then my system hangs for a brief moment and everything involving net or disk access just hangs there for a while and then it seems to work. So far it only seems to happen when I run something disk- or CPU-intensive. Also had an occassion when I could not start X and just got this repeating all over my screen:
ata1.00: failed command: WRITE FPDMA QUEUED ata1.00: cmd 61/08:f0:10:8c:c2/00:00:0b:00:00/40 tag 30 ncq 4096 out res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout) ata1.00: status: { DRDY }
On the next attempt it worked fine. I did SMART short and long tests on my disk and they returned fine:
There are some messages in my boot that indicate this could be disk and/or ACPI related.
These are with 2013-06 ISO, 3.9.7-1 2013 x86_64 kernel.
journalctl -b Seems to only work with the headphone jack, not with the speakers.
Marvell ATA サスペンドバグ
Marvell 128・256 GB ドライブが載っている 2013 Macbook Air を使っている場合、pm-suspend を使った後で以下の ata エラーが表示されることがあります:
ata1: exception Emask 0x10 SAct 0x0 SErr 0x10000 action 0xe frozen ata1: irq_stat 0x00400000, PHY RDY changed ata1: SError: { PHYRdyChg } ata1: hard resetting link ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310) ata1.00: unexpected _GTF length (8) ata1.00: unexpected _GTF length (8) ata1.00: configured for UDMA/33 ata1: EH complete
Try what Patrick and Tejun figured out on the linux bug. I followed what Patrick describes with sata_alpm, and I haven't seen the issue since.
サスペンド/レジューム
サスペンドから復帰した後に輝度が 0% か 100% のどちらかになります。カーネルが修正されるまでは、mba6x_bl-dkmsAUR をインストールして patjak の fix を使って下さい。Patjak の github は [6] にあります。
WiFi
WiFi は設定をしなくても動作します。broadcom-wl-dkmsAUR をインストールしてネットワークに接続します。
タッチパッド
カーネル 3.10.3 からタッチパッドは xf86-input-synaptics で完全に動作します。
オーディオ
Linux 3.12 からサウンドは設定をしなくても動作します。alsa-utils だけでは音が鳴らない場合は、以下のエントリで /etc/asound.conf
を作成する必要があるかもしれません:
defaults.pcm.card 1 defaults.pcm.device 0 defaults.ctl.card 1
Mid 2012 13" — バージョン 5,2
arch カーネル 3.5 のデフォルトのブートメディアではカーネルパニックが起きます。intremap=off
を追加することで直ります。さらに、applesmc
モジュールのロードに問題があります (温度センサー、ファン、キーボードのバックライトが動作しません)。これらの問題は linux 3.6-rc4 メインラインカーネルで修正されています (テスト済み)。
Mid 2012 11.5" — バージョン 5,1
スリープ状態から復帰したときに X11 に問題が発生する場合 (黒画面になる、コンソールでマウスカーソルが動かないなど)、xf86-input-synaptics を削除して xf86-input-mtrack-gitAUR をインストールしてください。このパッケージは以下のようなエラーを修正します:
(EE) [dix] bcm5974: unable to find touch point 0
This might apply to Version 5,2 assuming they use the same trackpad.
Archboot 2012.06 イメージを使ってインストールする
Several people have reported problems installing Arch Linux on the MBA version 5,2 (See problems booting archlinux on a MacBook Air Mid 2012). A common problem is that the screen is not detected and therefore goes black when the installer boots. To fix this problem one has to select the normal install (Not the LTS) during boot and press tab to edit the boot flags. Then add noapic flag to the boot line. This should fix the screen going black. Install the system as you normally would. It may help later in the configuration process if the support packages are installed already at this stage.
When the install has finished again add the noapic flag to the GRUB boot line (if you use GRUB) and also add i915.diescreaming=1 (or perhaps i915.die). This should keep the screen from going black when booting the new system. After you enter the system the wireless driver should be loaded. If you installed the support packages during installation you should have the wifi-menu command. Run it and select the network you want to use. One could also use wpa_supplicant but wifi-menu is quite fast to use at this stage. Now you are ready to upgrade the system. As of writing there have been a lot of changes to Archlinux since the 2012.06 image of Archboot was released (filesystem and glibc). Therefore the upgrade process can be a bit difficult. The current solution has sucessfully upgraded a standart archboot version to a up-to-date version as of October 2012 and this step should be obsolete in future releases of archboot.
First ignore the new "big" changes to Arch Linux,
# pacman -Suy --ignore glibc,libarchive,curl,filesystem
If this only upgrades pacman then run the command again. Remember to make sure that pacman is ignoring the packages you do not want upgraded now. Otherwise you may break the system and have to reinstall! Now upgrade to the new filesystem,
# pacman -S filesystem --force
As described in Glibc upgrade guide there may be conflicts with installed packages that require the /lib directory. Follow the guide and remove any packages that use /lib. The stock 3.4.2 kernel from Archboot should be on this list so first upgrade this,
# pacman -S linux
This may give some errors saying that the system may not boot because of missing modules. Ignore this warning for now. The stock install may also contain gcc in the /lib directory so also remove this if needed and any other packages that have conflicts. Now Glibc should be the only package in /lib so run the system upgrade and accept all changes,
# pacman -Su
Finally reinstall the kernel so that it can find the correct modules.
Now this command should not give any errors like last time. You can also reinstall gcc at this point. After a rebooted the system should startup and the new kernel should have fixed the problem with the screen going black. If want to boot Xorg then you may need to remove the i915.diescreaming=1 line from GRUB. If not then attach a external screen and try to fix the problem that way. Some people have reported commands that may help on the forum.
Mid 2011 — バージョン 4,x
カーネル 3.2 から何も設定しなくても動作します。Archboot を使用して、GRUB をインストールし EFI を使うことが推奨されています。
Early 2008 — バージョン 1,1
ワイヤレスアダプターを動作させるために b43-fwcutter (もしくは b43-firmwareAUR) が必要なことを除けば、全て問題なく動作します。
このモデルには USB ポートが一つしかないので、Arch をインストールするにはセルフパワーの USB ハブを使うのが楽です。USB ネットワークアダプタ (USB ポートに接続できる無線または ethernet アダプタ) と Arch のインストールメディアを USB ハブに接続します。
起動後に無線ネットワークをスキャンしても何も結果が得られない場合、一度 b43
と ssb
モジュールをアンロードしてから再度ロードし直して下さい:
# rmmod ssb # rmmod b43 # modprobe b43
There is a good chance you will find what's wrong with DMA from the dmesg log.
Even if you can scan wireless networks after reloading the modules, it's still possible that you will only be able to connect to some networks, but not all of them. According to a more detailed discussion here: http://crunchbang.org/forums/viewtopic.php?id=17368, adding pio=1,qos=0
options to the b43 module can solve this problem.
I tested this for a 13' MacBook Air 1,1 with a BCM4321 chipset, and it works.
参照
- MacBook Air
- Macbook Air Early 2014 — dabase.com
- Installing Archlinux on Macbook Air 2013 — Frank Shin
- Arch Linux Installation with OS X on Macbook Air (Dual Boot) — Pankaj Kumar
- Arch Linux – MacBook Air 2013 — Ryan Gehrig
- Installing Linux on a Macbook Air (4,2) — Nico Schottelius
- Arch linux single, pure efi boot on the macbook air3,1/3,2 — DIMENSION9
- MacBook Pro
- http://www.netsoc.tcd.ie/~theorie/interblag/2010/01/30/installing-arch-linux-on-a-mac-pro/
- http://allanmcrae.com/2010/04/installing-arch-on-a-macbook-pro-5-5/
- http://allanmcrae.com/2012/04/installing-arch-on-a-macbook-pro-8-1/
- http://linux-junky.blogspot.com/2011/08/triple-boot-archlinux-windows-7-and-mac.html