Let’s note J9 に FreeBSD をインストール

Let's note J9 を購入して早速 FreeBSD をインストールしてみた。
結論を先に書いておくと、

  • 有線LANは使える
  • 無線LANは使えない
  • XはVESA(1024x768)でなら使える
  • サスペンド&レジュームは不完全(成功する場合もあるが、失敗して再起動する場合もある)

という感じでまだ実用にはならないレベル。

256GBのSSD版を購入したが、Windowsの初期設定の前にFreeBSDのインストールを試したところ、第1パーティションから順に

 12000MB リカバリー用データ領域?
   300MB リカバリー用プログラム領域?
 40000MB Windows7
191897MB 空き領域

となっていた。Windowsのセットアップをすると第4パーティションをフォーマットして使うのかな?
しかし、手間が省けて丁度よいのでこの第4パーティションにFreeeBSD 8.1-RELEASE (amd64) をインストールした。インストール完了後、FreeBSDブートローダから第1だったか第2だったか忘れたけどどちらかのパーティションから起動したら、無事にWindows7のセットアップも完了した。
以前はブートローダーを消されたり、FreeBSDブートローダからWindowsを起動できなかったりした気がするんだけど、そういう問題は何も起きなかった。

J9 で FreeBSD 8.1-RELEASE を使ってみて気づいたこと。

  • 有線LANは re0 として利用可能
  • X は VESA でしか使えない (1633x786では表示できない)
  • sysctrl hw.acpi.reset_video=1 するとサスペンド&レジュームできたが、レジューム後に interrupt storm detected on "irq9:"; throttling interrupt source というメッセージが出続ける(けど、使うことはできる)

1秒ごとにこのメッセージが出続けるようで、精神衛生上よくないのでOSをアップデートしてみた。8-STABLE にしても特に改善せず。9-CURRENT にしたところレジューム後の interrupt... メッセージが出なくなって一安心。しかし、それ以外は特に改善されていない気がする。

例えば、XはVESA (1024x768)でしか利用できていない。Xorg の最新の xf86-video-intel でならグラフィックチップに対応できている気がするけど、ports/x11-drivers/xf86-video-intel は 2.7.1 ということで古くて対応していない。同じディレクトリで xf86-video-intel29 というのをみつけたけど、Makefile

IGNORE=we have to wait of GEM support to get ironlake chips to work

と設定されていて使えなくしてある。無視してインストールしてみたが画面が真っ黒になって使えない感じ。リモートログインしてkill -9でXを殺しても画面が真っ暗のまま。Xは下記のようなメッセージが表示している。

(==) Log file: "/var/log/Xorg.0.log", Time: Sat Nov 13 05:30:48 2010
(++) Using config file: "/root/xorg.conf.new"
* File exists: [drm] Failed to open DRM device for ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
(EE) intel(0): Failed to become DRM master.
failed to set mtrr: Invalid argument
(EE) intel(0): Failed to initialize kernel memory manager
Setting master 

あと、9-CURRENTにしてから試したのは、

  • 無線LANkldload if_iwn で iwn0 として認識したが利用できていない (PRO/Wireless 6250のファームウェアがまだ無い?)
  • 音は kldload snd_hda で認識した(鳴るかどうか試していない)
  • SDカードスロットは kldload sdhci したら認識したが、SDカードを刺しても無反応。何か設定が必要? (devdは起動済み)
  • 液晶バックライトの明るさを変更できない (kldload acpi_panasonic して、sysctl で hw.acpi.panasonic.lcd_brightness 等は表示・設定できるが、バックライトの明るさに反映されない。ちなみに Fn+F1/F2 でこの値は変化している)

…という感じで、無線LANが使えず、XもVESAでしか使えないので、実用にはならないが、VESAでXを立ち上げたままサスペンド&レジュームができているのは救い。2回続けて成功したので大丈夫だと思っていたら、3回目は帰ってこなかった。真っ暗な画面のまましばらく放置していたらリブートしてBIOS画面で謎の "Error sending End Of Post message to ME" という文字が一瞬表示されてブートマネージャの画面へ。これってACPI関係のデバッグ用メッセージなのかな?
追試の結果、Xが立ち上がっていてもいなくて、サスペンド&レジュームは成功する場合もあれば失敗する場合もあることが分かった。

最後に 9-CURRENT での dmesg を。

Copyright (c) 1992-2010 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.0-CURRENT #0: Thu Nov 11 07:05:10 JST 2010
    root@j9:/usr/obj/usr/current/src/sys/GENERIC amd64
WARNING: WITNESS option enabled, expect reduced performance.
CPU: Intel(R) Core(TM) i7 CPU       M 640  @ 2.80GHz (2793.07-MHz K8-class CPU)
  Origin = "GenuineIntel"  Id = 0x20655  Family = 6  Model = 25  Stepping = 5
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x29ae3ff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,POPCNT,AESNI>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant
real memory  = 8594128896 (8196 MB)
avail memory = 8042246144 (7669 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <MATBIO CFJ9-1  >
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s) x 2 SMT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  1
 cpu2 (AP): APIC ID:  4
 cpu3 (AP): APIC ID:  5
ACPI Warning: 32/64X FACS address mismatch in FADT - 0xDADD5F40/0x00000000DADD8D40, using 32 (20101013/tbfadt-586)
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <MATBIO CFJ9-1> on motherboard
ACPI Error: [DD02] Namespace lookup failure, AE_NOT_FOUND (20101013/dswload-772)
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20101013/psloop-326)
ACPI Error: Method parse/execution failed [\\] (Node 0xffffffff80c8c0e0), AE_NOT_FOUND (20101013/psparse-633)
ACPI Error: [EHC1] Namespace lookup failure, AE_NOT_FOUND (20101013/dswload-772)
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20101013/psloop-326)
ACPI Error: Method parse/execution failed [\\] (Node 0xffffffff80c8c0e0), AE_NOT_FOUND (20101013/psparse-633)
ACPI Error: [EHC1] Namespace lookup failure, AE_NOT_FOUND (20101013/dswload-772)
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20101013/psloop-326)
ACPI Error: Method parse/execution failed [\\] (Node 0xffffffff80c8c0e0), AE_NOT_FOUND (20101013/psparse-633)
acpi0: Power Button (fixed)
Timecounter "ACPI-safe" frequency 3579545 Hz quality 850
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
acpi_ec0: <Embedded Controller: GPE 0x17> port 0x62,0x66 on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xe080-0xe087 mem 0xf0000000-0xf03fffff,0xe0000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <Intel Ironlake (M) SVGA controller> on vgapci0
agp0: aperture size is 256M, detected 32764k stolen memory
pci0: <simple comms> at device 22.0 (no driver attached)
ehci0: <Intel PCH USB 2.0 controller USB-B> mem 0xf0e08000-0xf0e083ff irq 16 at device 26.0 on pci0
usbus0: EHCI version 1.0
usbus0: <Intel PCH USB 2.0 controller USB-B> on ehci0
pci0: <multimedia, HDA> at device 27.0 (no driver attached)
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 17 at device 28.1 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci10: <ACPI PCI bus> on pcib3
iwn0: <Intel(R) PRO/Wireless 6250> mem 0xf0800000-0xf0801fff irq 18 at device 0.0 on pci10
iwn0: MIMO 2T2R, MoW, address 00:23:15:79:84:f0
iwn0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
iwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
iwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
pcib4: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci11: <ACPI PCI bus> on pcib4
pci11: <unknown> at device 0.0 (no driver attached)
pci11: <base peripheral, SD host controller> at device 0.1 (no driver attached)
pcib5: <ACPI PCI-PCI bridge> irq 17 at device 28.5 on pci0
pci12: <ACPI PCI bus> on pcib5
re0: <RealTek 8168/8111 B/C/CP/D/DP/E PCIe Gigabit Ethernet> port 0x9000-0x90ff mem 0xf0404000-0xf0404fff,0xf0400000-0xf0403fff irq 17 at device 0.0 on pci12
re0: Using 1 MSI messages
re0: Chip rev. 0x2c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 1 on miibus0
rgephy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
re0: Ethernet address: 00:1b:d3:df:ba:7d
ehci1: <Intel PCH USB 2.0 controller USB-A> mem 0xf0e07000-0xf0e073ff irq 23 at device 29.0 on pci0
usbus1: EHCI version 1.0
usbus1: <Intel PCH USB 2.0 controller USB-A> on ehci1
pcib6: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci13: <ACPI PCI bus> on pcib6
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel 5 Series/3400 Series PCH SATA300 controller> port 0xe070-0xe077,0xe060-0xe063,0xe050-0xe057,0xe040-0xe043,0xe020-0xe03f mem 0xf0e06000-0xf0e067ff irq 19 at device 31.2 on pci0
atapci0: AHCI called from vendor specific driver
atapci0: AHCI v1.30 controller with 4 3Gbps ports, PM not supported
ata2: <ATA channel 0> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pci0: <dasp> at device 31.6 (no driver attached)
pcib7: <ACPI Host-PCI bridge> on acpi0
pci63: <ACPI PCI bus> on pcib7
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 900
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
orm0: <ISA Option ROM> at iomem 0xd0000-0xd0fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
p4tcc0: <CPU Frequency Thermal Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
p4tcc1: <CPU Frequency Thermal Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
p4tcc2: <CPU Frequency Thermal Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
p4tcc3: <CPU Frequency Thermal Control> on cpu3
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
ad4: 244198MB <TOSHIBA THNSNC256GNSJ CJPA0202> at ata2-master UDMA100 SATA 3Gb/s
GEOM: ad4: partition 4 does not start on a track boundary.
GEOM: ad4: partition 4 does not end on a track boundary.
GEOM: ad4: partition 3 does not start on a track boundary.
GEOM: ad4: partition 3 does not end on a track boundary.
GEOM: ad4: partition 2 does not start on a track boundary.
GEOM: ad4: partition 2 does not end on a track boundary.
GEOM: ad4: partition 1 does not start on a track boundary.
GEOM: ad4: partition 1 does not end on a track boundary.
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
SMP: AP CPU #3 Launched!
WARNING: WITNESS option enabled, expect reduced performance.
ugen0.1: <Intel> at usbus0ugen1.1: <Intel> at usbus1

uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
GEOM: ad4s4: geometry does not match label (15h,63s != 16h,63s).
Root mount waiting for: usbus1 usbus0
uhub1: 2 ports with 2 removable, self powered
uhub0: 2 ports with 2 removable, self powered
Root mount waiting for: usbus1 usbus0
ugen0.2: <vendor 0x8087> at usbus0ugen1.2: <vendor 0x8087> at usbus1

uhub2: <vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, addr 2> on usbus0
uhub3: <vendor 0x8087 product 0x0020, class 9/0, rev 2.00/0.00, addr 2> on usbus1
Root mount waiting for: usbus1 usbus0
uhub2: 6 ports with 6 removable, self powered
Root mount waiting for: usbus1 usbus0
uhub3: 8 ports with 8 removable, self powered
ugen0.3: <IntelR Corporation> at usbus0
ugen1.3: <Qualcomm Incorporated> at usbus1
Root mount waiting for: usbus1
ugen1.4: <ALPS> at usbus1
Trying to mount root from ufs:/dev/ad4s4a [rw]...
wlan0: Ethernet address: 00:23:15:79:84:f0

sdhci0: <Generic SD HCI> mem 0xf0600000-0xf06000ff irq 16 at device 0.1 on pci11
sdhci0: 1 slot(s) allocated

acpi_panasonic0: <Panasonic Notebook Hotkeys> on acpi0

hdac0: <Intel PCH High Definition Audio Controller> mem 0xf0e00000-0xf0e03fff irq 22 at device 27.0 on pci0
hdac0: HDA Driver Revision: 20100226_0142
hdac0: HDA Codec #0: Realtek ALC269
hdac0: HDA Codec #3: Intel G45 HDMI
pcm0: <HDA Realtek ALC269 PCM #0 Analog> at cad 0 nid 1 on hdac0
pcm1: <HDA Intel G45 HDMI PCM #0 DisplayPort> at cad 3 nid 1 on hdac0