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
CPUAMD Phenom X3 8400 (2.1[GHz])
チップセットAMD 780G
メモリ4[GB] (標準は2[GB])
ビデオ・チップATI Radeon HD 3200 (チップセットに内蔵)
LANMarvell Yukon 88E8071
オーディオ機能Intel HDA準拠 (動作は未確認)
HDDWestern Digital WD6400AAKS-00A7B0 640[GB]
Seagate ST1000DM003 1[TB]に交換.
(FreeBSDで約350[GB]を使用)
光学ドライブOptiarc AD-7203S
Buffalo DVSM-724S/V-BK(実態はSony Optiarc AD-7260S)に交換
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ツールを使い,リカバリ・ディスクを作成しておく.

  1. FreeBSDをインストールする.
  2. 作成しておいたリカバリ・ディスクを使って,CドライブにWindows Vista(や付属ソフトウェア)をリカバリする.
  3. FreeBSDの/boot/boot1をCドライブにコピーする.
  4. 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 pointSize
/1,024[MB]
swap8,192[MB]
/var2,048[MB]
/tmp1,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 Handbook8.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/ディレクトリの設定ファイルの更新を行う.

  1. cd /usr/src
  2. make buildworld
  3. make buildkernel
  4. make installkernel
  5. システムをrebootし,シングル・ユーザ・モードでログイン
  6. mergemaster -p
  7. make installworld
  8. make delete-old
  9. mergemaster