僕のIntel nucが起動しないわけがない
-
Upload
takuya-asada -
Category
Documents
-
view
2.375 -
download
0
description
Transcript of 僕のIntel nucが起動しないわけがない
僕のIntel NUCが起動しないわけがない
@syuu1228
Intel NUCって人気ですよね
• Intelが作ってるちっちゃいPCね
※出典:http://ascii.jp/elem/000/000/895/895066/#eid895067
#インテル純正の安心感
※出典:http://ascii.jp/elem/000/000/895/895066/#eid895067
bhyveいじり専用PCほしい• Nested VMだと事故る事が結構ある
• NUC小さくて安くて良いね
• x64とVT-xとEPTに対応してる安いNUCどれかな~
• 一番安いNUCでも対応してるっぽい:
• 旧機種:BOXDCCP847DYE(Celeron 847搭載)
• 新機種:DN2820FYKH(Celeron N2820搭載)
• 新コアのBaytrail-Mおもしろそう!
bhyveいじり専用PCほしい• Nested VMだと事故る事が結構ある
• NUC小さくて安くて良いね
• x64とVT-xとEPTに対応してる安いNUCどれかな~
• 一番安いNUCでも対応してるっぽい:
• 旧機種:BOXDCCP847DYE(Celeron 847搭載)
• 新機種:DN2820FYKH(Celeron N2820搭載)
• 新コアのBaytrail-Mおもしろそう!←フラグ
ぽちってみた
壊れてるのこれ…?• FreeBSDが入っている2.5インチHDDを繋いでもレガシーブートモードでブートセクタが認識されている様子が無い
• USBメモリやUSB CD-ROMを認識する気配も無い
• UEFIの設定画面のメモリ容量0GB
• UEFIの設定画面からネット経由のファームアップを選んだらエラーメッセージ
電源容量• 2.5インチHDDは刺さるけど、SSDじゃないと電源容量足りないっぽかった
• ふと何となくHDDを抜いてUSBメモリを刺したらUbuntuがあっさり起動
• HDDをSSDに差し替えてみたらUSBメモリとSSD両方認識
でも色々おかしい• UEFIの設定画面でブートデバイスのリスト空になったりするし
• ブートセレクタでUSBメモリでてこないし
• UEFIの設定画面のメモリ容量0GBだし
• UEFIの設定画面からネット経由のファームアップを選んだらエラーメッセージでるし
ファームウェアアップデートするか…
• UEFIの設定画面からUSBメモリ経由のファームアップを実行したらフリーズ ←
NUC上でFreeBSD入れるのを諦めよう…
• もうなんか全然うまくいかないので別のマシンでSSDにFreeBSDをインストールしてきてから、NUCに刺してみる
• かーねるぱにっく!
• あれ?
• USBでUbuntu Live CDブートしてみる
• 普通にX起動してきてFirefox開いてWebページ見れる
• あれ…?
FreeBSD起動• インストールするFreeBSDのバージョンを変えたり試行錯誤してみたら、動く組み合わせを発見
• 無事起動!
• でもよくみると、CPUコアは2つのはずだが1つしか見えてない。
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テーブルを比較してみる→差分なし
• あれ…?
正解のファームウェアアップデート方法
• リカバリーアップデート(ジャンパをセットして、ファームウェアリカバリモードに設定)
• これで色々な問題が解決するんじゃ!
※出典:http://www.intel.com/jp/support/motherboards/desktop/sb/cs-034524.htm
ところで
• 新ファームの重要な新機能
• Windows 7対応←NEW!
あの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を返してみる
よし、これできっと起動するね!
• panic: Bogus Interrupt Polarity
• アッハイ…
• MADTのInterrupt Polarityの値が仕様で定められた値(INTR_POLARITY_LOW, INTR_POLARITY_HIGH)を外れているみたい
• printfで表示してみる→RESERVED(0x2)が来ている…
• 何だか訳が分からないが、RESERVEDでもpanicする代わりにINTR_POLARITY_LOWを返してみる
起動成功!
FreeBSDにsendprしてみた
• amd64/187966: Intel Baytrail-M NUC panics because of buggy ACPI table
• →takawataさんがCURRENTへマージ
• 解決!
改変版カーネルを含んだFreeBSD-10のISOイメージの配布
• http://people.freebsd.org/~syuu/dn2820fykh_freebsd10/
• FreeBSD-CURRENTにマージされても10のISOが今すぐ書き換わる訳では無いので、取り敢えず作って自前配布してみた
これで終わり?
• よく見ると改造版ISOでブートするとUSBコントローラがdmesgにエラーを吐いてる
• でもデバイスは動いてるっぽい普通にCDインストール出来そう
UbuntuはUSBブートするけどFedoraはUSBブート出来ない?
• Ubuntuは問題なく起動してきたので、Linuxは大丈夫なのかと思ったらそうでもないらしい
• FedoraをUSB-CDブートでテストしてみる
止まる
• USBコントローラのエラーが出た後に止まって起動しない
• このCDを使って別のPCでSSDへFedoraをインストールし、NUCに刺すと正常起動する
• やっぱりUSBまわりがおかしい
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)
FreeBSDでは?
• 割り込みが無効になる問題についてはFreeBSD側で明示的に再設定しているので発生しない
• スイッチングのコードはまだ書いてみていないのでこれからUSB1.x/2.0なデバイスは問題なく動いている
まとめ• DN2820FYKH は #インテル純正の安心感 が得られる楽しいBayTrail-Mマシン
• 皆もFreeBSD 10を入れて #インテル純正の安心感 を得よう(※インストールは専用ISOで)
• 皆もFedora 20を入れて #インテル純正の安心感 を得よう(※インストールは別のマシンで)