はい、それは新年であり、その古いMacハードウェアを適切に置く時期です。 新しい Linuxをインストールして…..を使用します。もちろんです!
このビデオガイドでは、Macbook Proにインストールをセットアップする方法を説明します(この特定のものは2013年後半のRetinaのものですが、以降のすべてのMacで機能するはずです)。 Wi-Fiがそのままでは機能しないことと、それを修正する方法を示しています。 WiFiドライバーをインストールできるように、USBWi-Fiイーサネットドングルまたはその他の形式の接続を準備してください。
このガイドの基礎は、MacへのLinuxのインストールに関する包括的なガイドに基づいています。ドライブのパーティション分割からディスク暗号化のロック解除まで、すべてを網羅しているため、詳細については確認する必要があります。気になることがあれば、そこから始めましょう。
面倒なことはありませんが、ビデオのハウツーは次のとおりです。
整理したいその他のこと…
残念ながら、Appleはオープンハードウェアまたはソフトウェアエコシステムを支持していません。実際、私はそれらが毎年独占的になり、ロックダウンされていると主張します。そのため、最初にMacbookでmacOSからLinuxに切り替えたかったのです。ハードウェアは素晴らしいですが、それは適切です。つまり、少し難解なことを実行することは、ほとんどの場合、箱から出してすぐにできるわけではありません。幸いなことに、以前は問題だったもののほとんど(キーボードライト、サスペンド/レジューム、デュアルモニター、サウンド)は、LinuxでMacを使用している人がたくさんいるため、基本的には長年にわたってコミュニティによって修正されています。ただし、多くの人がまだFaceTime Webカメラを機能させることができないと言っており、パフォーマンスの問題も報告しています。CPUが1つのコアで80〜100%咀嚼しています。これらの問題を修正する方法については、次の点をお読みください。
パフォーマンスの問題:
私のように、Macが熱くなり始め、CPUファンが燃え尽きていることに気付いた場合は、システムモニターアプリのリソースビューでCPU履歴の出力を確認してください(または top > ターミナルで)、おそらく「kworker」プロセスがCPUをかみ砕いていることに気付くでしょう。これはよく知られているバグなので、これを修正するには、ターミナルで次のコマンドを実行します。
$sudo -s
grep . -r /sys/firmware/acpi/interrupts/
ACPI(Advanced Configuration and Power Interface)で動作するファームウェアに関連する約70行のリストが表示されます。これらのほとんどは非常にうまくやっていますが、gpe 16のような番号を持つものが1つ見つかります。 その横にたくさんあります。次のようになります:
/sys/firmware/acpi/interrupts/gpe16: 225420 STS enabled unmasked
見つけたと思ったら、単に無効にすることができますが、間違った変更を加えた場合に備えて、まずファイルをバックアップしてください。 gpe16を使用していることに注意してください。これは、問題が見つかったためです。おそらく、gpe16とは異なります。
cp /sys/firmware/acpi/interrupts/gpe16 /root/gpe16.backup
echo "disable" > /sys/firmware/acpi/interrupts/gpe16
数秒後、CPUファンの回転が止まり、トップ/システムモニターに通常の使用統計が表示され始めた場合は、正しい統計がわかります。正しくない場合は、無効にするのではなく、単に「有効」とエコーします。
変更を永続的にするには、ターミナルで次のタスクを実行し、値「16」を使用した値に変更します。
# crontab -e
--Add the below line to the crontab, so it will be executed every startup/reboot:
@reboot echo "disable" > /sys/firmware/acpi/interrupts/gpe16
-- Save/exit. Then, to make it work also after wakeup from suspend:
# touch /etc/pm/sleep.d/30_disable_gpe16
# chmod +x /etc/pm/sleep.d/30_disable_gpe16
# vim /etc/pm/sleep.d/30_disable_gpe16
-- Add this stuff:
#!/bin/bash
case "$1" in
thaw|resume)
echo disable > /sys/firmware/acpi/interrupts/gpe16 2>/dev/null
;;
*)
;;
esac
exit $?
FaceTime HDカメラ:
カーネルにはFaceTimeHDモジュールが必要です。始めるのは少し苦痛ですが、一度設定するとうまくいきます。完全なドキュメントはこちらです:https://github.com/patjak/bcwc_pcie/wiki/Get-Started#get-started-on-ubuntu
Ubuntuですべてを動作させるために私が従った手順は次のとおりです。かなり新しいバージョンのUbuntuを実行している必要があります(16.04以降で問題ありません)。したがって、18.10は心配ありません。ターミナルから次のすべてのコマンドを実行する必要があります。$
通常のユーザーとしてコマンドを実行することを示します
$
通常のユーザーとしてコマンドを実行することを示します#
ルートとして示します(sudoコマンドを使用)。例:$ sudoapt-getinstall…
- 依存関係をインストールします:
# apt-get install linux-headers-`
uname -r`
git kmod libssl-dev checkinstall curl xzcat cpio
- ファームウェアファイルを抽出してインストールします:
-
$ git clone https://github.com/patjak/bcwc_pcie.git
-
$ cd bcwc_pcie/firmware
-
make
-
sudo make install
-
- 出力には「
Copying firmware into '/usr/lib/firmware/facetimehd'
- 次に、カーネルモジュール(ドライバー)をビルドする必要があります。そのディレクトリに変更します:
$ cd ..
- (これでbcwc_pcieフォルダーに移動するはずです)
- カーネルモジュールをビルドします:
$ make
- dkpgを生成し、カーネルモジュールをインストールします。これは、後で簡単にアンインストールできます:
# checkinstall
カーネルのdepmodを実行して、カーネルを見つけてロードできるようにします:# depmod
- カーネルモジュールを読み込む:
# modprobe facetimehd
- 「チーズ」のようにインストールして、ウェブカメラが機能するかどうかを確認してみてください。
/ dev/videoは存在しません
この時点でドライバーに問題があり、/ dev / videoがありませんでした。これは、次の手順を実行することで簡単に修正できました。
シナリオによっては、bdc_pci
をアンロードする必要があります カーネルモジュールを挿入する前、または/dev/video
(または/dev/video0
)は作成されません。 modprobe -r bdc_pci
を使用してこれを行います 。すでにmodprobefacetimehdを実行している場合は、modprobehdを再実行する前に、modprobe-rfacetimehdも実行してください。これで問題が解決しました。
起動時にカメラを機能させる
起動時にドライバを有効にする場合は、追加の手順が必要になる場合があります。 Ubuntuでは、以下が機能するはずです:
$sudo echo facetimehd >> /etc/modules
sudo gedit /lib/systemd/system-sleep/99facetimehd
または、/ lib / systemd / system-sleepが存在しない場合:sudo gedit /usr/lib/systemd/system-sleep/99facetimehd
これを空のファイルに貼り付けます:
#!/bin/sh
case $1/$2 in
pre/*)
echo "Going to $2..."
modprobe -r facetimehd
;;
post/*)
echo "Waking up from $2..."
modprobe -r bdc_pci
modprobe facetimehd
;;
esac
そして保存します。
実行可能にする:sudo chmod a+x /lib/systemd/system-sleep/99facetimehd
またはsudo chmod a+x /usr/lib/systemd/system-sleep/99facetimehd
システムを更新するときに、facetimehdドライバーも更新することを確認してください
Ubuntuでシステムアップデートを実行すると、カーネルもアップデートされることがよくあります。カーネルを更新するときは、そのカーネルバージョンで動作するようにモジュールをアップグレードする必要があります。カスタムモジュールを作成したら、モジュールも最新であることを確認する必要があります。その方法は次のとおりです。
dkms.conf
を確認する必要があります モジュール名facetimehd
およびバージョン番号0.1
正しく、dkms.conf
を更新してください または、-m
の手順を調整します および-v
使用されます。
- 必要なパッケージをインストールする:
# apt install debhelper dkms
- インストールされている場合は古いパッケージを削除します:
# dpkg -r bcwc-pcie
- 作業するディレクトリを作成します:
# mkdir /usr/src/facetimehd-0.1
- gitリポジトリディレクトリに変更します:
$ cd bcwc_pcie
- ファイルをコピーします:
# cp -r * /usr/src/facetimehd-0.1/
- そのディレクトリに変更します:
# cd /usr/src/facetimehd-0.1/
- 以前のデブとバックアップをすべて削除します:
# rm backup-*tgz bcwc-pcie_*deb
- 以前のコンパイルをクリアします:
# make clean
- 新しいモジュールをDKMSに登録します:
# dkms add -m facetimehd -v 0.1
- モジュールをビルドします:
# dkms build -m facetimehd -v 0.1
- Debianソースパッケージを作成します:
# dkms mkdsc -m facetimehd -v 0.1 --source-only
- Debianバイナリパッケージを作成します:
# dkms mkdeb -m facetimehd -v 0.1 --source-only
- debをローカルにコピー:
# cp /var/lib/dkms/facetimehd/0.1/deb/facetimehd-dkms_0.1_all.deb /root/
- ローカルビルドファイルを削除します:
# rm -r /var/lib/dkms/facetimehd/
- 新しいdebパッケージをインストールします:
# dpkg -i /root/facetimehd-dkms_0.1_all.deb
問題が発生した場合は、DKMSパッケージの作成に関するこのガイドをお読みください:http://www.xkyle.com/building-linux-packages-for-kernel-drivers/