SlideShare a Scribd company logo
FreeBSD を Mac で動かす
FreeBSD 10.1 を Macbook Air で
デュアルブートする方法
について
2015年8月7日
(株)創夢 内藤 祐一郎
はじめに
FreeBSD は 10.1-RELEASE で
実験的に
UEFI ブートをサポートしました。
はじめに
Mac も UEFI でブートしているため、
試して見たところ
あっさり動きましたので、
試した内容をまとめたいと思います。
使用した Macbook Air
● Mid 2012 13インチモデル
● Core i7 ivybridge
● 8GB Memory
● 256GB SSD
● 日本語キーボード
FreeBSD のインストーラ
FreeBSD-10.1-RELEASE-amd64-uefi-
memstick.img
を USB メモリに書き込みます。
CD でもブートできますが
USB メモリの方が速いのでお勧めです。
Mac での準備
ディスクユーティリティーで
パーテションを分割します。
パーティション分割
パーティション分割
私の環境では
三つ以上のパーティションを
作成できなかったため、
FreeBSD のスワップパーティションを
作成していません。
(スワップを UFS 上に作成しました)
FreeBSD のインストール
USB メモリを挿して
Option キーを押しながら
ブートします。
FreeBSD のインストール
FreeBSD のインストール
EFI Boot 選択すると
FreeBSD のインストーラが起動します。
FreeBSD のインストール
インストール先のディスクとして
先ほど分割したパーティションを選択します。
(他の設定はお好みで)
FreeBSD のブート
インストール後は
USBメモリを
使用してブートすると
SSDにあるFreeBSDが起動します。
FreeBSD のブート
おそらく
“freebsd-ufs“ という名前の
パーティションを検索すると
SSD が先に見つかるのだと
思います。
デュアルブート
” rEFInd “ を使用して
デュアルブートにします。
rEFInd
“OS X” で rEFInd をインストールします。
rEFInd
http://www.rodsbooks.com/refind/
から
Zip ファイルを取得して展開し、
sudo ./install.sh
でインストールします。
rEFInd
rEFInd に
FreeBSDのブートローダを
インストールします。
rEFInd
なんとかして
FreeBSD 10.1 の /boot/boot1.efi を
OS X の扱えるディスクに
置いてください 。
rEFInd
FreeBSDのブートローダを
インストールします。
$ diskutil mount EFI
$ mkdir /Volumes/EFI/EFI/FreeBSD
$ cp boot1.efi /Volumes/EFI/EFI/FreeBSD/boot1.efi
$ diskutil umount EFI
デュアルブート
Mac を再起動します。
デュアルブート
デュアルブート
デュアルブート
デュアルブート
以上でデュアルブート成功です!
FreeBSD環境
FreeBSD から
Macbook Air が
どのように見えているのか?
簡単に見ていきたいと思います。
X のビデオドライバ
Ivybridge 世代の CPU のため、
KMS 対応の intel ドライバが
利用可能です。
サウンド
pcm0 が内臓スピーカに
pcm1 がヘッドフォンに
割当たっています。
sysctl hw.snd.default_unit=0 or 1
で切り替えられます。
Wi-Fi
Air Mac (内臓のWi-Fi) は使えません。
USB NIC を用意しましょう。
タッチパッド
atp(4) ドライバが利用できます。
sysctl で
hw.usb.atp.slide_min_movement=10
くらいに設定すると
二本指スクロールの感度が上がります。
キーボード
キーボードは
USB キーボードとして認識されます。
レイアウトを日本語に変更すれば、
「英数」「かな」キー以外は
使えます。
キーコードについて
日本語キーボードからの
USB キーコードは
英数:0x90
かな:0x91
が送られてきます。
キーコードについて
sys/dev/usb/input/ukbd.c の
ukbd_trtab 配列の
0x90 番目と 0x91 番目に
キーコードを設定すると
キーイベントが発生するようになります。
キーコードについて
最終的には
X のキーシンボルとして
Eisu と Kana に
なると嬉しいのですが
ukbd_trtab
にどの値を入れれば
良いのかが分からず
試行錯誤しています。
サスペンドとレジューム
acpiconf -s 3 でサスペンドします。
レジューム時は画面が真っ暗ですが、
OS は復帰しているようです。
(ssh でログインできました。)
液晶モニタのバックライト
ports/graphics/intel_backlight
をインストールして
sudo intel_backlight 0〜100
キーボードのバックライト
asmc(4) が動作しないため
変えられません。
パワーセーブ
/etc/rc.conf に以下を追加します。
powerd_enable="YES"
performance_cx_lowest="HIGH"
economy_cx_lowest="Cmax"
パワーセーブ
電源の状態
(sysctl hw.acpi.acline)
は
起動時にのみ判定されるようです。
パワーセーブ
バッテリーライフを調べるには
acpiconf -i batt
Thunderbolt
FreeBSD 起動時に
接続されていてかつ、
ドライバのあるデバイスならば
利用可能です。
ホットプラグはできません。
おわり
以上、FreeBSD が Mac で動きます!

More Related Content

Viewers also liked

FreeBSD10.2 on_mac
FreeBSD10.2 on_macFreeBSD10.2 on_mac
FreeBSD10.2 on_mac
Yuichiro Naito
 
Intel graphics
Intel graphicsIntel graphics
Intel graphics
Yuichiro Naito
 
SysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD AdministrationSysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD Administration
Ken Moore
 
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたFreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
Hirohisa Yamaguchi
 
Ruby build
Ruby buildRuby build
Ruby build
Yuichiro Naito
 
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 NagoyaIntroduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Kenji Aoyama
 
20161227 Classmethod Basic Knowledge for Direct Connect
20161227 Classmethod Basic Knowledge for Direct Connect20161227 Classmethod Basic Knowledge for Direct Connect
20161227 Classmethod Basic Knowledge for Direct Connect
Kazuki Ueki
 
Realmを使ってみた話
Realmを使ってみた話Realmを使ってみた話
Realmを使ってみた話
Takahito Morinaga
 
Apache Kylin Streaming
Apache Kylin Streaming Apache Kylin Streaming
Apache Kylin Streaming
hongbin ma
 
Queryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみたQueryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみた
Yoshiyasu SAEKI
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
えむ ばーど
 
わたしとFreeBSD
わたしとFreeBSDわたしとFreeBSD
わたしとFreeBSD
Shintaro Okamatsu
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
Yoshiyasu SAEKI
 
情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?
snicker_jp
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
daisuke-a-matsui
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングYuichi Tateno
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
Amazon Web Services Japan
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
 
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Kazuyuki Mori
 

Viewers also liked (20)

FreeBSD10.2 on_mac
FreeBSD10.2 on_macFreeBSD10.2 on_mac
FreeBSD10.2 on_mac
 
Intel graphics
Intel graphicsIntel graphics
Intel graphics
 
SysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD AdministrationSysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD Administration
 
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたFreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみた
 
Ruby build
Ruby buildRuby build
Ruby build
 
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 NagoyaIntroduction of OpenBSD/luna88k at OSC 2014 Nagoya
Introduction of OpenBSD/luna88k at OSC 2014 Nagoya
 
20161227 Classmethod Basic Knowledge for Direct Connect
20161227 Classmethod Basic Knowledge for Direct Connect20161227 Classmethod Basic Knowledge for Direct Connect
20161227 Classmethod Basic Knowledge for Direct Connect
 
Realmを使ってみた話
Realmを使ってみた話Realmを使ってみた話
Realmを使ってみた話
 
Hairpin dx pattern
Hairpin dx patternHairpin dx pattern
Hairpin dx pattern
 
Apache Kylin Streaming
Apache Kylin Streaming Apache Kylin Streaming
Apache Kylin Streaming
 
Queryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみたQueryable State for Kafka Streamsを使ってみた
Queryable State for Kafka Streamsを使ってみた
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのか
 
わたしとFreeBSD
わたしとFreeBSDわたしとFreeBSD
わたしとFreeBSD
 
Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定Spark Streamingによるリアルタイムユーザ属性推定
Spark Streamingによるリアルタイムユーザ属性推定
 
情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?情報システム部がSplunk を使うとどうなるか?
情報システム部がSplunk を使うとどうなるか?
 
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知Norikra + Fluentd+ Elasticsearch + Kibana リアルタイムストリーミング処理ログ集計による異常検知
Norikra + Fluentd + Elasticsearch + Kibana リアルタイムストリーミング処理 ログ集計による異常検知
 
fluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギングfluentd を利用した大規模ウェブサービスのロギング
fluentd を利用した大規模ウェブサービスのロギング
 
AWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct ConnectAWS Black Belt Techシリーズ AWS Direct Connect
AWS Black Belt Techシリーズ AWS Direct Connect
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要Docker基礎+docker0.9, 0.10概要
Docker基礎+docker0.9, 0.10概要
 

More from Yuichiro Naito

Bhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSDBhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSD
Yuichiro Naito
 
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSDReporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Yuichiro Naito
 
Bmd
BmdBmd
WireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernelWireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernel
Yuichiro Naito
 
FreeBSD Capsicum
FreeBSD CapsicumFreeBSD Capsicum
FreeBSD Capsicum
Yuichiro Naito
 
Xrdp
XrdpXrdp
Bhyve debug-server
Bhyve debug-serverBhyve debug-server
Bhyve debug-server
Yuichiro Naito
 
Tramp mode
Tramp modeTramp mode
Tramp mode
Yuichiro Naito
 
HandBrake with QSV
HandBrake with QSVHandBrake with QSV
HandBrake with QSV
Yuichiro Naito
 
FreeBSD 12.1 RELESE
FreeBSD 12.1 RELESEFreeBSD 12.1 RELESE
FreeBSD 12.1 RELESE
Yuichiro Naito
 
Modern fonts
Modern fontsModern fonts
Modern fonts
Yuichiro Naito
 
FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!
Yuichiro Naito
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
Yuichiro Naito
 
Iocage
IocageIocage
FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!
Yuichiro Naito
 
How to use PTI & IBRS patch
How to use PTI & IBRS patchHow to use PTI & IBRS patch
How to use PTI & IBRS patch
Yuichiro Naito
 
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
Yuichiro Naito
 
FreeBSD Ports Flavors
FreeBSD Ports Flavors FreeBSD Ports Flavors
FreeBSD Ports Flavors
Yuichiro Naito
 
Bsdtw repo
Bsdtw repoBsdtw repo
Bsdtw repo
Yuichiro Naito
 
How to use blacklistd
How to use blacklistdHow to use blacklistd
How to use blacklistd
Yuichiro Naito
 

More from Yuichiro Naito (20)

Bhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSDBhyve Management Daemon Version 3.0 on FreBSD
Bhyve Management Daemon Version 3.0 on FreBSD
 
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSDReporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
Reporting AsiaBSDCon 2024 in Taipei for FreeBSD NetBSD
 
Bmd
BmdBmd
Bmd
 
WireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernelWireGurad in the FreeBSD kernel
WireGurad in the FreeBSD kernel
 
FreeBSD Capsicum
FreeBSD CapsicumFreeBSD Capsicum
FreeBSD Capsicum
 
Xrdp
XrdpXrdp
Xrdp
 
Bhyve debug-server
Bhyve debug-serverBhyve debug-server
Bhyve debug-server
 
Tramp mode
Tramp modeTramp mode
Tramp mode
 
HandBrake with QSV
HandBrake with QSVHandBrake with QSV
HandBrake with QSV
 
FreeBSD 12.1 RELESE
FreeBSD 12.1 RELESEFreeBSD 12.1 RELESE
FreeBSD 12.1 RELESE
 
Modern fonts
Modern fontsModern fonts
Modern fonts
 
FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!FreeBSD 12.0 RELEASE!
FreeBSD 12.0 RELEASE!
 
Psql & proctitle
Psql & proctitlePsql & proctitle
Psql & proctitle
 
Iocage
IocageIocage
Iocage
 
FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!FreeBSD 11.2 RELEASE!
FreeBSD 11.2 RELEASE!
 
How to use PTI & IBRS patch
How to use PTI & IBRS patchHow to use PTI & IBRS patch
How to use PTI & IBRS patch
 
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
 
FreeBSD Ports Flavors
FreeBSD Ports Flavors FreeBSD Ports Flavors
FreeBSD Ports Flavors
 
Bsdtw repo
Bsdtw repoBsdtw repo
Bsdtw repo
 
How to use blacklistd
How to use blacklistdHow to use blacklistd
How to use blacklistd
 

Recently uploaded

RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
TatsuyaHanayama
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
GrapeCity, inc.
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
K Kinzal
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
GrapeCity, inc.
 

Recently uploaded (7)

RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19RayBarcode Product Description Documentation - 2024.6.19
RayBarcode Product Description Documentation - 2024.6.19
 
RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19RaySheet Product Description Documentation - 2024.6.19
RaySheet Product Description Documentation - 2024.6.19
 
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdfクラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
クラウドネイティブにおけるセキュアなソフトウェア・サプライ・チェーンの考え方とベストプラクティス.pdf
 
RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19RayPen Product Description Documentation - 2024.6.19
RayPen Product Description Documentation - 2024.6.19
 
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Eventシグネチャで始めるRustプログラミング - Superteam Japan Developer Event
シグネチャで始めるRustプログラミング - Superteam Japan Developer Event
 
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer EventSolanaで始めるRustプログラミング - Superteam Japan Developer Event
Solanaで始めるRustプログラミング - Superteam Japan Developer Event
 
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet DocumentationRaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
RaySheetで解決できるシナリオ10選-業務改善に貢献する機能 - RaySheet Documentation
 

FreeBSD on Mac