Acer ASM5201-A13にFreeBSDをインストールするためのメモ
注意
このページの内容は古くなっています.記録のために残してありますが,更新されません.
以下の説明では,これからFreeBSDをインストールするAcer ASM5201-A13をASM5201と表記する.
もちろん,ここに記述されている内容は無保証である. トラブルが発生した際のために,マニュアルに従ってリカバリ・ディスクを作成しておくことを推奨する.
本稿では,インストールの際に注意すべきことを中心に記述する. FreeBSDのインストールの基本的な手順については,"FreeBSD Handbook“の”Installing FreeBSD",『FreeBSDビギナーズバイブル 改訂第2版』(後藤 大地. 毎日コミュニケーションズ, 2005),『改訂版 FreeBSD徹底入門』(衛藤・のだ・細川他. 翔泳社, 2002)などを参照すること. 『Yahoo!やライブドア、2ちゃんねるなどの大規模サイトで採用されている「FreeBSD」をインストールしてみた』(GIGAZINE)も参考になるかも知れない.
また,Unixの操作やシステム管理方法については,『新The UNIX Super Text — 改訂増補版 (上・下)』(中村・新城・西山他. 山口・古瀬[監修]. 技術評論社, 2003),『Absolute BSD FreeBSDシステム管理とチューニング』(Lucas, M. 佐藤 広生[訳]. 毎日コミュニケーションズ, 2004)などを読むこと.
現状
FreeBSD 8.0-STABLEであれば,ほぼ問題なくインストールでき,使用もできる(はず).
動作を未確認の搭載デバイス
IEEE 1394
以前,8.0-CURRENTをインストールした際にBIOSの設定で無効(disable)にしておかないとインストーラが起動しなかった. また,IEEE 1394で接続できる機器を持っていないので,BIOSで無効にしたままにしている.
サウンド
snd_hdaドライバを組み込むとデバイスを認識することは確認した.
その他
Disk geometryに関する警告
起動時にGEOM: ad4s3: geometry does not match label (255h,63s != 16h,63s)
というgeometryに関する警告が出る.
これは,2008年1月17日(UTC)のsrc/sys/amd64/conf/DEFALTSの変更により,GEOM_{BSD|MBR}の代わりにGEOM_PART_{BSD|MBR}が用いられるようになったことが原因らしい.
現在のところ,警告が出るだけなので無視している.
準備
システムの確認
インストールしたASM5201のスペックと接続した周辺機器は以下の表の通りである.
ただし,メモリは標準の2[GB]から4[GB]にしており,前述の通りIEEE 1394はBIOSの設定で無効にしている. また,キーボードとマウスはASM5201に付属していたUSB接続のものは使用していない.
| モデル名 | ASM5201-A13 | 
|---|---|
| CPU | AMD Phenom X3 8400 (2.1[GHz]) | 
| チップセット | AMD 780G | 
| メモリ | 4[GB] (標準は2[GB]) | 
| ビデオ・チップ | ATI Radeon HD 3200 (チップセットに内蔵) | 
| LAN | Marvell Yukon 88E8071 | 
| オーディオ機能 | Intel HDA準拠 (動作は未確認) | 
| HDD | Seagate ST1000DM003 1[TB]に交換. (FreeBSDで約350[GB]を使用)  | 
| 光学ドライブ | Lite-On iHAS324-07に交換  | 
| その他 | ディスプレイ: 三菱電機 RDT231WLM (ハイスピードHDMIケーブルで接続) キーボード: PFU HHKB Lite2 (英語配列,PS/2) マウス: Logicool Wireless Mouse M235 (USB)  | 
インストールするパーティションの確認
出荷時の段階で,ASM5201のハード・ディスクには以下のような3つのパーティションが切られている. このうち,Windows Vistaのエクスプローラなどからはリカバリ用イメージ領域は見えないので,C:, D:という2つのドライブ(パーティション)が存在するように見えるはずである.
本稿では,3番目のパーティション(D:)にFreeBSDをインストールする. もし,この領域でデータがあれば別の場所に退避しておく.
| パーティション | サイズ | 
|---|---|
| リカバリ用イメージ | 14.65[GB] | 
| ACER(C:) | 232.59[GB] | 
| D: | 348.93[GB] | 
リカバリ・ディスクの作成
FreeBSDのインストール中のブートマネージャの設定画面で"None"を選んでも,インストール終了後はFreeBSDだけしか起動しなくなってしまう. ただし,以下のような手順(詳細は後述)を踏めば,Windows Vistaのブートマネージャを使い,FreeBSDとWindows Vistaのデュアル・ブートは可能である. このため,Acer eRecoveryツールを使い,リカバリ・ディスクを作成しておく.
- FreeBSDをインストールする.
 - 作成しておいたリカバリ・ディスクを使って,CドライブにWindows Vista(や付属ソフトウェア)をリカバリする.
 - FreeBSDの/boot/boot1をCドライブにコピーする.
 - Windows Vistaのブートマネージャにboot1を登録し,Windows Vistaとデュアル・ブートできるように設定する.
 
起動用ディスクの作成
DVD(あるいは,CD)からブートしてインストールを行うため,日本にあるFreeBSD関連のサイトのFTPサービスに挙げられているFTPサーバより,8.0-RELEASEのISOイメージをダウンロードし,これをDVD(あるいは,CD)に焼いて起動用のディスクを作成する.
インストール作業
BIOSの設定
ASM5201を再起動し,Acerのロゴが表示されている間に"Delete"キーを押し,BIOSの設定画面を表示する. BIOSの設定画面で,“Integrated Pheripherals"から"Onboard Device Setup"を選び,“Onboard 1394 Controller"を"disable"にし,F10キーを押して設定を保存する.
FreeBSDのインストール
ブート
ASM5210を再起動し,Acerのロゴが表示されている間にF12キーを押すと,起動デバイス選択画面が表示されるので,起動用DVDをセットし,CD/DVDドライブからの起動を選択する.
インストーラの起動オプション画面では"1. Boot FreeBSD [Default]“を選択して,インストーラが起動するのを待つ.
その後,国やキーボードの設定などを尋ねられるので,適切なものを選択する.
FreeBSD用スライスの確保
注: FreeBSDでは,Windowsでパーティションと呼ばれている領域はスライスと呼ばれる. そして,スライスをパーティションに分割する.
FDISKパーティション・エディタで,FreeBSDのためのスライスを確保する. 既に述べたように,本稿ではad4s3(ad4の3番目)にFreeBSDをインストールする. このため,“NTFS/HPFS/QNX"と表示されている2つ目(始めのものは,Windows Vista用)のスライスを"D: Delte slice"でいったん削除し,改めて残り全てを"C: Create slice"でFreeBSD用のスライスとして設定する.
パーティションの設定
ディスクラベル・エディタで,FreeBSDのスライスにパーティションを作成する. 本稿では,以下のように設定した.
| Mount point | Size | 
|---|---|
| / | 1,024[MB] | 
| swap | 8,192[MB] | 
| /var | 2,048[MB] | 
| /tmp | 1,024[MB] | 
| /usr | 約336[GB] (残り全て) | 
ブートマネージャの選択画面では,とりあえず"None"を選択しておく.
配布ファイルの選択
必要に応じて,適切な配布ファイルを選択する.
インストール・メディアの選択
本稿ではDVDからインストールするので,インストール・メディアの選択では"CD/DVD"を選択する.
その他
その他は,通常のFreeBSDインストール手順の通りで,特に注意することはない.
最後に,Windows Vistaとのデュアル・ブートに使用するため,/boot/boot1をUSBメモリなどにコピーしておく.
以上で,FreeBSDのインストール作業についての説明は終了である.
Xorgサーバの設定
現在のatiドライバは,ASM5201に搭載されているRadeon HD 3200(RS780)をサポートしている. atiドライバをインストールするためには,meta portであるxorg-driversのインストール時に表示されるドライバの選択画面で,atiドライバのインストールを選択すれば良い.
Xorgの設定ファイルであるxorg.confの記述例は『日記のような備忘録 (2014-04-27)』にある.
この設定では,mousedが事前に起動されていることを期待しているが,hald(HAL daemon)とdbus(-daemon)の起動は必要としない.
また,これにはportsでインストールしたフォントのディレクトリ設定も含んでいる.
Windows Vistaとのデュアル・ブートの設定
リカバリ・ディスクの作成で説明したように,FreeBSDをインストールするとWindows Vistaが起動しなくなる. 以下の作業で,Windows VistaとFreeBSDをデュアル・ブートできるように設定する.
最初に,用意しておいたリカバリ・ディスクを用いて,CドライブにWindows Vista(や付属ソフトウェア)をリカバリする.
続いて,以下の方法でWindows Vistaのブート・マネージャを使ってデュアル・ブートを設定する.
これらの作業は『ノートパソコンでVistaとFreeBSDのデュアルブート:メモ』(ゆーゆーじてき☆)に書かれている方法そのものである.
まず,FreeBSDのインストール作業の最後にUSBメモリなどにコピーしておいた/boot/boot1を,Cドライブ直下にコピーした後,適当な名前に変更する. 本稿では,参考にしたページに従い,C:\freebsd.pbrとした.
次に,コマンド・プロンプトを管理者権限で起動する. つまり,コマンド・プロンプトのアイコンを右クリックして「管理者として実行」して,コマンド・プロンプトを起動する.
あとは新しいエントリを作成するために,以下のコマンドをコマンド・プロンプトで実行していく.
bcdedit /create /d "FreeBSD" /application bootsector
作成されたエントリのID(GUID)が数桁の文字列({12a3bc4d-e567-89fg-h0i1-234jk56l7mn8}のようなもの)として表示されるので,これをメモしておく. 以降の説明では,これを{ID}と表記する.
bcdedit /set {ID} device boot	
bcdedit /set {ID} device boot
bcdedit /set {ID} path \freebsd.pbr
bcdedit /dislayorder {ID} /addfirst
ブート・メニューに表示される順番を,“FreeBSD”, “Windows Vista"とする. このため,この作業は任意である.
bcdedit /default {ID}
ブート・メニューが表示されてから一定時間(デフォルトで30秒)を経過しても,起動するOSの選択が行われなかった場合に,FreeBSDを起動するようにしている. このため,この作業も任意である.
付録
カーネルとユーザ・ランドの再構築
BIOSの設定で無効にしたIEEE 1394以外のASM5201のデバイスは,カーネルやユーザ・ランドの再構築を行わなくても使用できる. このため,以下の作業は絶対に必要というものではない.
以下の説明では,カーネルとユーザ・ランドのソースを取得し,これらを再構築することで8.0-STABLEとする.
以下の作業は,全てrootで行う.
csupの設定ファイルの設定
/usr/share/examples/cvsup/standard-supfileを/etc/ディレクトリに適当な名前でコピーし,これを変更してcsupの設定ファイルとして使用する.
ここでは,設定ファイルの名前を/etc/supfile-stableとする.
以下に,csupの設定ファイルの記述例を挙げる.
ここで,hostで指定するホスト名はports/sysutil/fastest_cvsupなどを使って,ネットワーク的に近いCVSサーバを選択して記述する.
*default host=cvsup2.jp.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_8
*default delete use-rel-suffix
*default compress
#
src-all
カーネルとユーザ・ランドのソースの更新
csup /etc/supfile-stableにより,カーネルとユーザ・ランドのソースを更新する.
make.confの設定
/usr/share/examples/etc/make.confを参考にして,/etc/make.confを記述する. 以下に,/etc/make.confの記述例を挙げる. ここで,KERNCONFで指定している名前(CAMILLE)は,次に作成するカーネル・コンフィグレーション・ファイルの名前である.
CPUTYPE=opteron
KERNCONF=CAMILLE
カーネル・コンフィグレーション・ファイルの設定
/usr/src/sys/amd64/conf/GENERICを適当な名前でコピーし,これを変更してカーネル・コンフィグレーション・ファイルとして使用する. ここでは,カーネル・コンフィグレーション・ファイルの名前を/usr/src/sys/amd64/conf/CAMILLEとする. 以下に,カーネル・コンフィグレーション・ファイルの記述例を挙げる(詳しくは,FreeBSD Handbookの8.4 The Configuration Fileを参照すること).
## Kernel configuration file for Acer Aspire ASM5201-A13
##
##		CPU: AMD Phenom X3 8400 (2.1[GHz])
##		Chipset: AMD 780G
##		Memory: 4[GB] (DDR2 800[MHz] PC2-6400 1[GB] x 4)
##		Video: ATI Radeon HD 3200 (in AMD 780G chipset)
##		HDD: 640[GB] Western Digital WD6400AAKS-00A7B0
##		LAN: Marvell Yukon 88E8071
##		CD/DVD drive: Optiarc AD-7203S
##
cpu		HAMMER
ident		CAMILLE
#makeoptions	DEBUG=-g		# Build kernel with gdb(1) debug symbols
options 	SCHED_ULE		# ULE scheduler
options 	PREEMPTION		# Enable kernel thread preemption
options 	INET			# InterNETworking
options 	INET6			# IPv6 communications protocols
options 	SCTP			# Stream Control Transmission Protocol
options 	FFS			# Berkeley Fast Filesystem
options 	SOFTUPDATES		# Enable FFS soft updates support
options 	UFS_ACL			# Support for access control lists
options 	UFS_DIRHASH		# Improve performance on big directories
options 	UFS_GJOURNAL		# Enable gjournal-based UFS journaling
options		MD_ROOT			# MD is a potential root device
options 	MSDOSFS			# MSDOS Filesystem
options 	CD9660			# ISO 9660 Filesystem
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
options 	PSEUDOFS		# Pseudo-filesystem framework
options 	GEOM_PART_GPT		# GUID Partition Tables.
options 	GEOM_LABEL		# Provides labelization
options 	COMPAT_43TTY		# BSD 4.3 TTY compat (sgtty)
options 	COMPAT_IA32		# Compatible with i386 binaries
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
options 	COMPAT_FREEBSD7		# Compatible with FreeBSD7
options 	SCSI_DELAY=5000		# Delay (in ms) before probing SCSI
options 	KTRACE			# ktrace(1) support
options 	STACK			# stack(9) support
options 	SYSVSHM			# SYSV-style shared memory
options 	SYSVMSG			# SYSV-style message queues
options 	SYSVSEM			# SYSV-style semaphores
options		P1003_1B_SEMAPHORES	# POSIX-style semaphores
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options		PRINTF_BUFR_SIZE=128	# Prevent printf output being interspersed.
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev
options 	HWPMC_HOOKS		# Necessary kernel hooks for hwpmc(4)
options 	AUDIT			# Security event auditing
options		MAC			# TrustedBSD MAC Framework
options		FLOWTABLE		# per-cpu routing cache
# Make an SMP-capable kernel by default
options 	SMP			# Symmetric MultiProcessor Kernel
# CPU frequency control
device		cpufreq
# Bus support.
device		acpi
device		pci
# ATA and ATAPI devices
device		ata
device		atadisk		# ATA disk drives
device		ataraid		# ATA RAID drives
device		atapicd		# ATAPI CDROM drives
device		atapifd		# ATAPI floppy drives
options 	ATA_STATIC_ID	# Static device numbering
# SCSI peripherals
device		scbus		# SCSI bus (required for SCSI)
device		ch		# SCSI media changers
device		da		# Direct Access (disks)
device		cd		# CD
device		pass		# Passthrough device (direct SCSI access)
device		ses		# SCSI Environmental Services (and SAF-TE)
# atkbdc0 controls both the keyboard and the PS/2 mouse
device		atkbdc		# AT keyboard controller
device		atkbd		# AT keyboard
device		psm		# PS/2 mouse
device		vga		# VGA video card driver
device		splash		# Splash screen and screen saver support
# syscons is the default console driver, resembling an SCO console
device		sc
device		agp		# support several AGP chipsets
# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device		miibus		# MII bus support
device		msk		# Marvell/SysKonnect Yukon II Gigabit Ethernet
# Pseudo devices.
device		loop		# Network loopback
device		random		# Entropy device
device		ether		# Ethernet support
device		tun		# Packet tunnel.
device		pty		# BSD-style compatibility pseudo ttys
device		md		# Memory "disks"
device		gif		# IPv6 and IPv4 tunneling
device		faith		# IPv6-to-IPv4 relaying (translation)
device		firmware	# firmware assist module
# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device		bpf		# Berkeley packet filter
# USB support
device		ohci		# OHCI PCI->USB interface
device		ehci		# EHCI PCI->USB interface (USB 2.0)
device		usb		# USB Bus (required)
device		uhid		# "Human Interface Devices"
device		ukbd		# Keyboard
device		ulpt		# Printer
device		umass		# Disks/Mass storage - Requires scbus and da
device		ums		# Mouse
# FireWire support
#device		firewire	# FireWire bus code
#device		dcons		# Dumb console driver
#device		dcons_crom	# Configuration ROM for dcons
# On-die sensor on AMD K8/K10/K11 CPUs
device		amdtemp
# Direct Rendering modules for 3D acceleration.
device		drm		# DRM core module required by DRM drivers
device		radeondrm	# ATI Radeon
# sound
#device		sound
#device		snd_hda
カーネルとユーザ・ランドのmakeとインストール
/usr/src/Makefileのコメントとして記述された説明にあるように,以下の手順でカーネルとユーザ・ランドのmakeとインストール,および/etc/ディレクトリの設定ファイルの更新を行う.
- cd /usr/src
 - make buildworld
 - make buildkernel
 - make installkernel
 - システムをrebootし,シングル・ユーザ・モードでログイン
 - mergemaster -p
 - make installworld
 - make delete-old
 - mergemaster