SlideShare una empresa de Scribd logo
1 de 42
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 で動きます!

Más contenido relacionado

Destacado

SysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD AdministrationSysAdm: Simplifying FreeBSD Administration
SysAdm: Simplifying FreeBSD AdministrationKen Moore
 
FreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたFreeBSD を VirtualBox にインストールしてみた
FreeBSD を VirtualBox にインストールしてみたHirohisa Yamaguchi
 
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 NagoyaKenji 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 ConnectKazuki Ueki
 
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
 
コンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかコンテナ型仮想化とはなんだったのか
コンテナ型仮想化とはなんだったのかえむ ばーど
 
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 ConnectAmazon 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
 

Destacado (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概要
 

Más de Yuichiro Naito

Más de Yuichiro Naito (20)

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
 
Custom Package Building with Poudriere
Custom Package Building with PoudriereCustom Package Building with Poudriere
Custom Package Building with Poudriere
 

FreeBSD on Mac