SkylakeでLinux(CentOS、Ubuntu)は動くのか?

8/5 発売開始のCore i7-6700K + Z170でLinuxに挑戦!

2015-08-24

いつもパソコン工房インターネット通販ショップへご来店いただき、誠にありがとうございます。パソコン実験工房の親方です。

社内でも、最近はもっぱらWindows 10の無償アップグレードの話題に終始する状況のなか、職人1号が突然こんなことを言い出しました。

職人1号:「そういえば、今後Haswellや対応マザーがなくなってもLinuxって動かせるの?」

「word2vecで遊んでみた」「あんちべさんと一緒に Rakuten MA で形態素解析」でLinuxに挑戦した職人1号のほかにも、社内の法人営業担当もLinuxでの動作には高い関心を持っているようです。
実は、今回のようにCPU、チップセット、メモリーと3つが同時に変更になるような大掛かりなプラットフォームの変更は、お客様にとっても非常に悩ましいことなので、案件ベースでは迅速な検証とその結果のレポーティングがとても大切なことなのです。

親方:「やりましょう。」

と、いうわけで8/5に発売したばかりの LEVEL∞の「Skylake」モデルを使用して、Linuxの動作実験を行ってみます。
Skylake の詳細については、こちらで職人3号が詳しくレポートさせていただきましたのでこちらに任せるとして、今回はSkylakeモデルにニーズの高いCentOS、Ubuntuをインストールしてみて、その挙動などを確認いたします。

パソコンの準備-LEVEL∞ Lev-R017-i7K-TM-SP

用意したのは LEVEL∞HUB でも展示、販売中のこのパソコンです。

PC

●Lev-R017-i7K-TM-SPの仕様
CPU Core i7-6700K プロセッサー (4.0-4.2GHz/4コア/8スレッド/8MBキャッシュ/TDP95W)
マザーボード Z170 Express チップセット
メモリ DDR4-2133 4GB×2(デュアルチャンネル、計8GB)
ストレージ 120GB Serial-ATA SSD
1TB 3.5インチ Serial-ATA HDD
光学ドライブ 24倍速DVDスーパーマルチドライブ
グラフィックカード GeForce GTX 970 4GB GDDR5
電源ユニット 500W 80PLUS SILVER認証 ATX電源
標準OS Windows 8.1 64ビット(DSP)

秋葉原のLEVEL∞HUB限定で販売している、パソコン工房ECサイトの人気モデルにSSDを加えた、お買い得スペシャルモデルです。
ここから、ビデオカードと1TBのHDDを外し、最小限の構成で実験します。

なぜかCentOS 6.5

Linuxといっても、数あるLinuxディストリビューションからどれを?ということになりますが、社内的にはなぜか需要の多い『Cent OS 6.5』で実験することにしました。

●CentOS 6.5とは?
CentOSは、商用のRed Hat Enterprise Linux (RHELと呼ばれることもあります) というOSに含まれる商標や商用パッケージを取り除いてリビルドされたOSで、自由に提供されています。

CentOSの特徴は、Red Hat Enterprise Linuxがベースであることから、非常に安定していると言われていることに加えて、無償ライセンスでありながら、サポート期間も長いことから、商用サポートが不要な企業ではサーバーなどの高度な用途にも採用されています。

また、CentOS 6.5は、2013年12月1日にリリースされたOSです。これだけを見ると新しいOSに見えますが、2004年頃から長く続く、いわゆる2.6系カーネルと呼ばれるOSの中核部分を搭載しています。このため、枯れた安定したカーネルを持つ CentOS 6.5 やその次のバージョン6.6が支持される理由でもあります。

2012年頃から、多くのLinuxディストリビューションがより新しい3.x系カーネルへシフトする中で、Cent OSでも対応できない機能などが目立つようになり、現在は、この3.x系カーネルを搭載した、2015年3月31日リリースの7.1(7.1-1503) が最新のバージョンです。

※CentOS 6.x系は、2015年8月7日に最新バージョンとなる 6.7 がリリースされています。

CentOS インストール

前置きが長くなりましたが、Cent OS 6.5のインストールを開始します。
UEFIでは動かないといった噂もちらほらと聞いてはいたのですが、2013年の年末リリースのOSでもあるので、ここは論より証拠、実験します。

setup1
用意したメディアから起動。DVDメディアから読み込みが始まります。8匹のペンギン (=8論理CPU) が確認できますね。

setup2
光学ドライブを見失うこともなく
「インストール前にこのディスクのチェックをする?」
と聞かれます。Z170のAHCI SATAコントローラーは認識できたようです。でも時間がないので「Skip」です。

setup3
早速ここで、感じの悪いメッセージが登場します。
「サポートしないデバイス、見つけましたー」
一瞬、いやーな気持ちになりますが、軽い気持ちで無視します。そう来られても、「OK」を押すしかありません。

setup4
来ました。ここから先は、あまり深いことを考えずに、特別な設定などは一切行わず進めて行きます。
キーボードの設定、パーティションの設定、地域の設定、インストールパッケージの設定等々。インストールパッケージは、ここでは、デフォルトでチェックの入っているDesktopのまま特に追加などは行わずに進めて行きます。

setup5
そして、無事にインストール完了しました。メディアを取り出して再起動します。

setup6
ログイン画面に辿りつくには、再起動後に基本設定が必要です。ここもユーザー設定、時刻の設定の順で進めて、「Kdump」を有効にしたら再起動でひと通りのセットアップ作業は完了です。

すんなりと成功?

再起動して、いよいよログイン画面を待ちます。
boot
「キター。」

途中、いやーなメッセージが出ていたことなどすっかり忘れ、まずは一安心。
それにしてもすんなりとここまで来ました。これはこれでちょっと拍子抜けです。

では、早速チェックを進めて行きます。
ここまでは、X Windows システムも動作し、モニターもスペック通りのフルHDで出力されていますし、マウスとキーボードの操作も何ら問題ないと感じます。ネットの設定や実際の接続も問題なしです。
とは言え、何が起こっているのかもわからないので、lspci コマンドで、PCIデバイス周りをしっかり認識しているかどうか確認してみます。

$ lspci
00:00.0 Host bridge: Intel Corporation Device 191f (rev 07)
00:01.0 PCI bridge: Intel Corporation Device 1901 (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Device 1912 (rev 06)
00:08.0 System peripheral: Intel Corporation Device 1911
00:14.0 USB controller: Intel Corporation Device a12f (rev 30)
00:14.1 USB controller: Intel Corporation Device a130 (rev 30)
00:14.2 Signal processing controller: Intel Corporation Device a131 (rev 30)
00:15.0 Signal processing controller: Intel Corporation Device a160 (rev 30)
00:15.1 Signal processing controller: Intel Corporation Device a161 (rev 30)
00:16.0 Communication controller: Intel Corporation Device a13a (rev 30)
00:17.0 SATA controller: Intel Corporation Device a102 (rev 30)
00:1d.0 PCI bridge: Intel Corporation Device a118 (rev f0)
00:1d.3 PCI bridge: Intel Corporation Device a11b (rev f0)
00:1e.0 Signal processing controller: Intel Corporation Device a127 (rev 30)
00:1f.0 ISA bridge: Intel Corporation Device a145 (rev 30)
00:1f.2 Memory controller: Intel Corporation Device a121 (rev 30)
00:1f.3 Audio device: Intel Corporation Device a170 (rev 30)
00:1f.4 SMBus: Intel Corporation Device a123 (rev 30)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)

結果は御覧の通りです。
オンボードのイーサネットコントローラー以外は、全て「intel Corporation Device xxxx」となっています。
Cent OS 6.5 からは、インテルのデバイスであることまでは認識できているようです。

次に、もう少し詳細に動作を見るためにdmesg (display message) コマンドを使ってカーネルメッセージを見てみましょう。

$ dmesg | more
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-431.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Fri Nov 22 03:15:09 UTC 2013
Command line: ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=VolGroup/lv_swap crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=jp106 rd_LVM_LV=VolGroup/lv_root LANG=ja_JP.UTF-8 rd_NO_DM rhgb quiet
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
--続ける--

出だしのこの辺はよいのですが、しばらく続けて行くと・・・

(上の続き(中略))
Detected CPU family 6 model 94
UNSUPPORTED HARDWARE DEVICE: Intel CPU model
--続ける--

Skylakeに対して「サポートしないハードウェアデバイス」と言っています。

(上の続き(中略))
Booting Node 0, Processors #1 #2 #3 #4 #5 #6 #7 Ok.
Brought up 8 CPUs
Total of 8 processors activated (64127.88 BogoMIPS)
--続ける--

一方で、インテルHTを含めた8つの論理CPU全てが無事に「activated」と出ています。

(上の続き(中略))
ACPI Error (dswload-0659): [RHUB] Namespace lookup failure, AE_NOT_FOUND
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20090903/psloop-230)
ACPI Error (psparse-0537): Method parse/execution failed [\] (Node ffffffff81fdffb0), AE_NOT_FOUND
ACPI Error (dswload-0659): [I2C0] Namespace lookup failure, AE_NOT_FOUND
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20090903/psloop-230)
ACPI Error (psparse-0537): Method parse/execution failed [\] (Node ffffffff81fdffb0), AE_NOT_FOUND
ACPI Error (dswload-0659): [I2C1] Namespace lookup failure, AE_NOT_FOUND
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20090903/psloop-230)
--続ける--

しかし、さらに続けて行くと、ACPIのエラーがたくさん出てきます。
上記は、ACPIに関するメッセージのほんの一部分で、同じようなメッセージが繰り返し表示されています。
ACPIと言えば、パソコンの電源管理に関わる重要な部分なので、これは問題ありかも知れません。

(上の続き(中略))
ahci 0000:00:17.0: version 3.0
ahci 0000:00:17.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
alloc irq_desc for 129 on node -1
alloc kstat_irqs on node -1
alloc irq_2_iommu on node -1
ahci 0000:00:17.0: irq 129 for MSI/MSI-X
ahci 0000:00:17.0: AHCI 0001.0301 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
ahci 0000:00:17.0: flags: 64bit ncq sntf led clo only pio slum part ems apst
ahci 0000:00:17.0: setting latency timer to 64
(中略)
ata3: SATA link down (SStatus 4 SControl 300)
ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
ata6: SATA link down (SStatus 4 SControl 300)
ata5: SATA link down (SStatus 4 SControl 300)
ata2: SATA link down (SStatus 4 SControl 300)
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata1.00: ACPI _SDD failed (AE 0x5)
ata4.00: ACPI _SDD failed (AE 0x5)
--続ける--

ストレージ周りです。AHCIでSATA SSDと光学ドライブをリンク速度6.0Gbps、1.5Gbpsでそれぞれ動作させているようです。ただし、ここでも接続してある2ポートのACPIで「failed」と出ています。

(上の続き(中略))
r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
r8169 0000:03:00.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
r8169 0000:03:00.0: (unregistered net_device): unknown MAC, using family default
r8169 0000:03:00.0: setting latency timer to 64
alloc irq_desc for 131 on node -1
alloc kstat_irqs on node -1
alloc irq_2_iommu on node -1
r8169 0000:03:00.0: irq 131 for MSI/MSI-X
r8169 0000:03:00.0: eth0: RTL8168b/8111b at 0xffffc9001009e000, (MACアドレス), XID 14100800 IRQ 131
r8169 0000:03:00.0: eth0: jumbo features [frames: 4080 bytes, tx checksumming: ko]
--続ける--
(後略)

ネットワークはr8169ドライバーによって、正常に認識されているようです。
この他、USBもXHCIドライバー(USB3.0), EHCI(USB2.0), UHCI(USB1.1)ドライバーがロードされ、接続したUSBのキーボード/マウスも認識されていました。

ここまで、ターミナルからデバイス周りのチェックを行いましたが、結果としては、
「正常に動いているようには見えますが、電源管理には問題の可能性があります。」
と一旦結論付けます。

各部動作のチェック

一通りターミナルからのデバイスチェックが終わったところで、各デバイスの動きが適切か、動かせる部分は実際に動かして動作確認を行いました。
そして、ここまでの結果をまとめたのが以下の表です。

●CentOS 6.5 結果

チェック項目 チェック内容 結果
UEFI インストール 特別な設定無しでインストールが完了する
作成パーティションの確認 partedコマンドで全領域の使用を確認
X Window System の動作 マウス/キーボードの機能確認、モニターの解像度確認
有線LANポート ドライバーのチェック後、1GBのファイル転送を行う
ハードドライブ ファイルコピーを確認
負荷ランニング 負荷を掛け、停止/再起動が起こらないこと
再起動 10回連続で繰り返し確認を行う ×
スリープからの復帰 10回連続で繰り返し確認を行う ×
CPUの認識 物理構成との一致を確認
メモリーの認識 物理構成との一致を確認
VGAの認識 物理構成との一致を確認
光ディスクドライブ オートマウント、アンマウント、イジェクト、ファイルコピー
サウンド サウンド設定内でテストを実施して問題ないこと

再起動については、ターミナルからのシャットダウンコマンドでの実行とタスクバーの両方から実行したところ、GUIからの再起動において、再起動ボタンを押下後にブラックアウトする場合が10回中5回ほどありました。
このため結果としてはNGとしています。また、スリープからの復帰にも問題ありで復帰させても再開しないのでNGとしています。

蛇足ですが、試しにFlash Playerを入れてYoutubeで動画再生してみたところ、かくつきながらもフルHDの動画が再生できました。

やはり、ACPIの電源管理がうまく行っていないようです。
念のため、下記コマンドで確認してみます。

$ cat /sys/power/state
mem disk

スタンバイに対応していれば、「mem disk」の前に「standby」を加えた、「standby mem disk」と結果が返ってくるのですが、どうやら、CentOS 6.5 からも「standby」には対応できていないようです。
試しに、「サスペンド」は「catコマンド」で「mem」(メモリーに作業の状態を書き込むスリープ状態)と帰ってきてはいるのですが、GUIでのサスペンドの実行では、スリープするものの復帰しないので、コマンドラインでも試してみます。

# echo -n mem > /sys/power/state

結果はGUIでの操作と全く同じで、何度やっても復帰できませんでした。
それでは、作業の状態をストレージに書込み休止する「ハイバネーション」はどうでしょうか。

# echo -n disk > /sys/power/state

これは、うまく復帰してくれます。
というわけで、やはり電源管理、再起動やスタンバイ、サスペンドに問題があることが分かりました。

因みに、CentOS の他、Ubuntu 14.04.01とUbuntu 14.10についても同様のチェックをしましたので、一挙公開します。

●Ubuntu 14.04.01 LTS 結果

チェック項目 チェック内容 結果
UEFI インストール 特別な設定無しでインストールが完了する
作成パーティションの確認 partedコマンドで全領域の使用を確認
X Window System の動作 マウス/キーボードの機能確認、モニターの解像度確認 △ ※1
有線LANポート ドライバーのチェック後、1GBのファイル転送を行う
ハードドライブ ファイルコピーを確認
負荷ランニング 負荷を掛け、停止/再起動が起こらないこと
再起動 10回連続で繰り返し確認を行う
スリープからの復帰 10回連続で繰り返し確認を行う ×
CPUの認識 物理構成との一致を確認
メモリーの認識 物理構成との一致を確認
VGAの認識 物理構成との一致を確認
光ディスクドライブ オートマウント、アンマウント、イジェクト、ファイルコピー
サウンド サウンド設定内でテストを実施して問題ないこと ×

※1. モニターの解像度は、1024x768固定で変更できず

●Ubuntu 14.10 結果

チェック項目 チェック内容 結果
UEFI インストール 特別な設定無しでインストールが完了する
作成パーティションの確認 partedコマンドで全領域の使用を確認
X Window System の動作 マウス/キーボードの機能確認、モニターの解像度確認 △ ※1
有線LANポート ドライバーのチェック後、1GBのファイル転送を行う
ハードドライブ ファイルコピーを確認
負荷ランニング 負荷を掛け、停止/再起動が起こらないこと
再起動 10回連続で繰り返し確認を行う
スリープからの復帰 10回連続で繰り返し確認を行う ×
CPUの認識 物理構成との一致を確認
メモリーの認識 物理構成との一致を確認
VGAの認識 物理構成との一致を確認
光ディスクドライブ オートマウント、アンマウント、イジェクト、ファイルコピー
サウンド サウンド設定内でテストを実施して問題ないこと ×

※1. モニターの解像度は、1024x768固定で変更できず

Ubuntuでは、再起動はおこなえるものの、スリープからの復帰ができない点は、CentOSと同じでした。ACPI周りは、より新しいカーネルのUbuntuでも互換性に問題があるようです。サウンドも認識はしているようですが、時間の関係もあって音を出すところまで確認ができませんでした。

さらにUbuntu 14.10 については、CPU 内蔵グラフィックドライバーがインテルの開発者サイトにあるので、ダメ元でインストールしましたが、結果は以下のような状況に…。

error

ドライバーインストール→再起動後フルHDで起動したので成功と思いきや、何故か画面が崩れます。マウスの操作に連動して画面がちらついたり移動してしまい、マウスもまったく機能しませんでした。
これではNGです。

まとめ

今回は、時間の関係で肝心なパフォーマンスチェックには至りませんでしたが、今回の実験では、ACPI周りで互換性がなさそうなことが分かりました。

ACPI周りを除いて、インボックスのドライバーと互換性がありそうなだけに残念な結果ですが、ACPIによる電源管理は無効としてしまって、ひたすらパソコンを動かし続けるという用途限定であれば、パフォーマンンス次第では検討の余地があるかも知れません。また、実験に用意した各Linuxも最新バージョンを用意すれば、また別の結果が出ていた可能性も大いに考えられるので、引き続き実験を続けたいと思います。

今回の実験の結論としては、
「実験に用意したパソコンと各Linuxにおいて、これらを完全に動作させるには、相当の課題が残ります。」
と結論付けることにします。

Linuxというと、ハードもソフトも枯れたものでという考え方がある一方で、先端分野では最新デバイスとの組み合わせのニーズも少なからずですが常に存在しています。今回のレポートが少しでもお役に立てれば幸いです。

Skylake+Linuxの動作に関する情報やご要望がありましたら、是非ともお知らせください。



執筆:パソコン工房 親方