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

11,444 views

Published on

0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
11,444
On SlideShare
0
From Embeds
0
Number of Embeds
273
Actions
Shares
0
Downloads
7
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

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

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

×