35
僕のIntel NUCが起動 しないわけがない @syuu1228

僕のIntel nucが起動しないわけがない

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 僕のIntel nucが起動しないわけがない

僕のIntel NUCが起動しないわけがない

@syuu1228

Page 2: 僕のIntel nucが起動しないわけがない

Intel NUCって人気ですよね

• Intelが作ってるちっちゃいPCね

Page 3: 僕のIntel nucが起動しないわけがない

※出典:http://ascii.jp/elem/000/000/895/895066/#eid895067

Page 4: 僕のIntel nucが起動しないわけがない

#インテル純正の安心感

※出典:http://ascii.jp/elem/000/000/895/895066/#eid895067

Page 5: 僕のIntel nucが起動しないわけがない

bhyveいじり専用PCほしい• Nested VMだと事故る事が結構ある

• NUC小さくて安くて良いね

• x64とVT-xとEPTに対応してる安いNUCどれかな~

• 一番安いNUCでも対応してるっぽい:

• 旧機種:BOXDCCP847DYE(Celeron 847搭載)

• 新機種:DN2820FYKH(Celeron N2820搭載)

• 新コアのBaytrail-Mおもしろそう!

Page 6: 僕のIntel nucが起動しないわけがない

bhyveいじり専用PCほしい• Nested VMだと事故る事が結構ある

• NUC小さくて安くて良いね

• x64とVT-xとEPTに対応してる安いNUCどれかな~

• 一番安いNUCでも対応してるっぽい:

• 旧機種:BOXDCCP847DYE(Celeron 847搭載)

• 新機種:DN2820FYKH(Celeron N2820搭載)

• 新コアのBaytrail-Mおもしろそう!←フラグ

Page 7: 僕のIntel nucが起動しないわけがない

ぽちってみた

Page 8: 僕のIntel nucが起動しないわけがない
Page 9: 僕のIntel nucが起動しないわけがない

壊れてるのこれ…?• FreeBSDが入っている2.5インチHDDを繋いでもレガシーブートモードでブートセクタが認識されている様子が無い

• USBメモリやUSB CD-ROMを認識する気配も無い

• UEFIの設定画面のメモリ容量0GB

• UEFIの設定画面からネット経由のファームアップを選んだらエラーメッセージ

Page 10: 僕のIntel nucが起動しないわけがない

電源容量• 2.5インチHDDは刺さるけど、SSDじゃないと電源容量足りないっぽかった

• ふと何となくHDDを抜いてUSBメモリを刺したらUbuntuがあっさり起動

• HDDをSSDに差し替えてみたらUSBメモリとSSD両方認識

Page 11: 僕のIntel nucが起動しないわけがない

でも色々おかしい• UEFIの設定画面でブートデバイスのリスト空になったりするし

• ブートセレクタでUSBメモリでてこないし

• UEFIの設定画面のメモリ容量0GBだし

• UEFIの設定画面からネット経由のファームアップを選んだらエラーメッセージでるし

Page 12: 僕のIntel nucが起動しないわけがない

ファームウェアアップデートするか…

• UEFIの設定画面からUSBメモリ経由のファームアップを実行したらフリーズ ←

Page 13: 僕のIntel nucが起動しないわけがない

NUC上でFreeBSD入れるのを諦めよう…

• もうなんか全然うまくいかないので別のマシンでSSDにFreeBSDをインストールしてきてから、NUCに刺してみる

• かーねるぱにっく!

• あれ?

• USBでUbuntu Live CDブートしてみる

• 普通にX起動してきてFirefox開いてWebページ見れる

• あれ…?

Page 14: 僕のIntel nucが起動しないわけがない
Page 15: 僕のIntel nucが起動しないわけがない

FreeBSD起動• インストールするFreeBSDのバージョンを変えたり試行錯誤してみたら、動く組み合わせを発見

• 無事起動!

• でもよくみると、CPUコアは2つのはずだが1つしか見えてない。

Page 16: 僕のIntel nucが起動しないわけがない

ACPIのテーブルがちゃんと読めてないか壊れてたりするのでは?• dmesgみると「ACPI BIOS Warning (bug): Incorrect checksum in table [DSDT] - 0x8E, should be 0x51 (20130823/tbprint-233」とか出てる

• ACPIのテーブル、ちゃんと読めてないか壊れてるとしか思えない

• USBメモリでブートしてACPIテーブルのダンプを取る→再コンパイル→エラー無し。FreeBSDでだけおかしいのだろうか?

• UbuntuとFreeBSDでACPIテーブルを比較してみる→差分なし

• あれ…?

Page 17: 僕のIntel nucが起動しないわけがない

正解のファームウェアアップデート方法

• リカバリーアップデート(ジャンパをセットして、ファームウェアリカバリモードに設定)

• これで色々な問題が解決するんじゃ!

※出典:http://www.intel.com/jp/support/motherboards/desktop/sb/cs-034524.htm

Page 18: 僕のIntel nucが起動しないわけがない
Page 19: 僕のIntel nucが起動しないわけがない
Page 20: 僕のIntel nucが起動しないわけがない

ところで

• 新ファームの重要な新機能

• Windows 7対応←NEW!

Page 21: 僕のIntel nucが起動しないわけがない
Page 22: 僕のIntel nucが起動しないわけがない

あのpanicは一体• ACPIの初期化処理の「Bogus Interrupt Trigger Mode」でpanicしている

• MADTのInterrupt Trigger Modeの値が仕様で定められた値(INTR_TRIGGER_LEVEL、INTR_TRIGGER_EDGE)を外れているみたい

• printfで表示してみる→RESERVED(0x8)が来ている…

• 何だか訳が分からないが、RESERVEDでもpanicする代わりにINTR_TRIGGER_LEVELを返してみる

Page 23: 僕のIntel nucが起動しないわけがない

よし、これできっと起動するね!

• panic: Bogus Interrupt Polarity

• アッハイ…

• MADTのInterrupt Polarityの値が仕様で定められた値(INTR_POLARITY_LOW, INTR_POLARITY_HIGH)を外れているみたい

• printfで表示してみる→RESERVED(0x2)が来ている…

• 何だか訳が分からないが、RESERVEDでもpanicする代わりにINTR_POLARITY_LOWを返してみる

Page 24: 僕のIntel nucが起動しないわけがない

起動成功!

Page 25: 僕のIntel nucが起動しないわけがない

FreeBSDにsendprしてみた

• amd64/187966: Intel Baytrail-M NUC panics because of buggy ACPI table

• →takawataさんがCURRENTへマージ

• 解決!

Page 26: 僕のIntel nucが起動しないわけがない

改変版カーネルを含んだFreeBSD-10のISOイメージの配布

• http://people.freebsd.org/~syuu/dn2820fykh_freebsd10/

• FreeBSD-CURRENTにマージされても10のISOが今すぐ書き換わる訳では無いので、取り敢えず作って自前配布してみた

Page 27: 僕のIntel nucが起動しないわけがない

これで終わり?

• よく見ると改造版ISOでブートするとUSBコントローラがdmesgにエラーを吐いてる

• でもデバイスは動いてるっぽい普通にCDインストール出来そう

Page 28: 僕のIntel nucが起動しないわけがない
Page 29: 僕のIntel nucが起動しないわけがない

UbuntuはUSBブートするけどFedoraはUSBブート出来ない?

• Ubuntuは問題なく起動してきたので、Linuxは大丈夫なのかと思ったらそうでもないらしい

• FedoraをUSB-CDブートでテストしてみる

Page 30: 僕のIntel nucが起動しないわけがない
Page 31: 僕のIntel nucが起動しないわけがない

止まる

• USBコントローラのエラーが出た後に止まって起動しない

• このCDを使って別のPCでSSDへFedoraをインストールし、NUCに刺すと正常起動する

• やっぱりUSBまわりがおかしい

Page 32: 僕のIntel nucが起動しないわけがない
Page 33: 僕のIntel nucが起動しないわけがない

LKMLを探る• EHCI host broken -- interrupts disabledBaytrailのBIOSにある”EHCI only”という設定項目を選ぶとEHCI PCI割り込みが無効化されてLinux上でEHCIが動かなくなる

• [PATCH] xhci: Add BayTrail to list of Intel switchable hosts EHCI↔xHCIスイッチングのサポート

• …それ、両方問題あるなら何にも動かないのでは…?

• マージ先は3.14か…? (Fedora ISOは3.11)

Page 34: 僕のIntel nucが起動しないわけがない

FreeBSDでは?

• 割り込みが無効になる問題についてはFreeBSD側で明示的に再設定しているので発生しない

• スイッチングのコードはまだ書いてみていないのでこれからUSB1.x/2.0なデバイスは問題なく動いている

Page 35: 僕のIntel nucが起動しないわけがない

まとめ• DN2820FYKH は #インテル純正の安心感 が得られる楽しいBayTrail-Mマシン

• 皆もFreeBSD 10を入れて #インテル純正の安心感 を得よう(※インストールは専用ISOで)

• 皆もFedora 20を入れて #インテル純正の安心感 を得よう(※インストールは別のマシンで)