Ryzen 3000 シリーズに Linux をインストール【AMD Zen2】

7月7日に発売された Ryzen 3000 シリーズ!

シングルスレッド性能マルチスレッド性能ともに対抗の Intel の CPU に勝っている上に、価格は約半額というコスパの良さから発売前から注目を集めていました!

管理人は、7月7日に日本の amazon で予約したにも関わらず、品切れ状態がずっと続き、結局自宅に届いたのは 8 月 11 日でした。現在でも入手困難であることからも、いかに人気かということがお分りいただけると思います。

さて、やっとのことで手に入れた Ryzen 3900x に早速 Linux をインストールしようとしたのですが、思わぬトラブルに遭遇しました。

今回の記事では、Ryzen 3900x にどのようにして linux をインストールしたかについて書きたいと思います。

ZEN2 は、全ての Linux に非対応?



Ryzen 3900x のマシンを組み上げた後、下記のディストロのインストールを試してみましたが、全て失敗しました。

Ryzen 3900x Ubuntu 19.04 をインストール
Ryzen 3900x CentOS 7 をインストール
Ryzen 3900x CentOS 6 をインストール
Ryzen 3900x Fedora 30 をインストール
Intel core-i9 7960xUbuntu19.04 をインストールした後、3900x で起動
Intel core-i9 7960xUbuntu18.10 をインストールした後、3900x で起動

CentOSFedora については、インストールが正常終了できませんでした。Ubuntu はインストールは正常終了するのですが、grub 画面が表示されて起動できませんでした。

全部、desktop 版と server 両方とも試しました。

また、違うマシンでインストールだけ行うという情報も見かけたので、Intel core-i9 7960xUbuntu 16.04 をインストールて見ました。こちらは、一応 ryzen3900x で起動しましたが、色々と不都合な点があったので、使用をやめました。

その後、twitter で検索してみると以下のものにたどり着きました。

そこで、Debeian10 も試してみたのですが、私の環境ではうまく行きませんでした。。。

エラーの原因は、こちらのページにも書いてあるのですが、RDRAND に不具合があることだそうです。つまり、AMD に責任がある!エラー解消には、基本的には BIOS update を待つしかないそうです。



この時点で既に 2 日ほど無駄にしており、このままいろんな設定やディストロを試してみるか、いつになるか分からない BIOS 更新を待つか心が揺れました。結局、今年の夏は猛烈に忙しかったため、BIOS 更新を待つことにしました。

BIOS アップデート

管理人が今回購入したマザーボードは、MSI の X570-A PRO です。一番安かったので、これにしました。

AMD から新しい BIOS が発表されたのが 8 月初旬でしたが、管理人が Ryzen3900x を手に入れた 8 月 12 日時点ではまだ各マザーボードメーカーから BIOS の提供はありませんでした。

その後、MSI は 8 月 26 日になって、ようやく新しい BIOS を配布し始めました。

MSI 製のマザーボードの BIOS 更新方法は簡単です。

まず、別のパソコンで製品ホームページに行き support というところをクリックします。すると、BIOS をダウンロードするページに行きます。

USB メモリにダウンロードした BIOS を入れます。

次に USB メモリ Ryzen3900x 機にを刺して起動し、BIOS 画面に行きます。

M Flash という部分を押すと、BIOS ファイルを選択する画面に行きます。ここで、先ほどダウンロードしたファイルを選択します。

BIOS の更新は 5 分ほどで完了します。

私は、下の動画を見て BIOS 更新を行いました!

再度 Linux インストールにチャレンジ

BIOS の更新をした後に、再度 Linux のインストールを試しました。

まず、Ubuntu 16.04 desktopFedora 30 desktop を試してみましたが、ダメでした。

2 つともインストール自体は成功するのですが、起動すると grub 画面に行ってしまいました。

BIOS 更新してもダメなのかなぁ。。。と思いつつ、ダメもとで Fedora 30 server を試したところ、やっとうまく行きました!

GUI 環境に何か問題があるということなんでしょうか???

とあえず、Ryzen3900x に無事 Linux をインストールすることができて一安心です!

Gaussian のインストール

早速 Gaussian16 revB01Ryzen 3900x でインストールして動かそうとしましたが、
Error: illegal instruction, illegal opcode
というエラーが出てしまい、うまく行きませんでした。

最初は、どう対処したら良いか全く分からなかったのですが、Gaussian16 revC01 に変えたら動きました!理由は、よく分かりません。

revC01 のリリース日は 7 月なので、ZEN2 に対応しているとも考えづらいです。。。

まとめ



やはり、新しい CPU に手を出すのは互換性などの点でリスクが大きいですね。今回も 2 日ほど無駄な時間を費やしました。

結局、BIOS の更新Fedora 30 server がポイントでした!他のディストロも使えるようになって欲しいですね。(管理人の一番のお気に入りのディストロが Fedora なので、Fedora30 が対応しているというのは非常に嬉しいです!)

さて、次回の記事ではいよいよ Ryzen3900x での gaussian16 ベンチマークを公開します!お楽しみに!

追記【2019.09.09】

Ubuntu 18.04 は下記ウェブサイトの情報を参考にすると起動するとの指摘を読者の方から受けました。

AMD Ryzen 7 3700X + Ryzen 9 3900X Offer Incredible Linux Performance But With A Big Caveat

追記【2020.09.06】

Ubuntu 20.04 をインストールしたところ、何の問題もなく起動しました。今後リリースされる linux もおそらく対応してくると思われます。

3 comments

  1. 僕のパソコンのCPUがAMD-RyzenR7-4800Hです。インストールができました。しかし、G16起動時、「Error: illegal instruction, illegal opcode」といいます。1日後で、.bashrcのなか、「export PGI_FASTMATH_CPU=sandybridge」を輸入して、G16は正常なりました。。(ref:http://bbs.keinsci.com/thread-16360-1-1.html、中国語ウェブサイト)
    (日本語が下手で、しょうしょう許してください)

  2. こんにちは

    起動するディストリビューションについてですが、原因であるSystemdのバージョンに着目していただければ、Ubuntu 18.04が動く理由もご理解いただけると思います。

    記事内の私のつぶやきに貼ってあるURLに、「systemd 239 would work fine and systemd 240 would not.」と記載があります。
    どのディストリビューションを選択した場合でも、systemdが239以前なら動作しますが、240以降はパッチが当たっていないと動作しません。
    通常のディストリビューションはLinuxインストーラにもLinux system一式(kernel,systemd,shell,インストール対象ファイル,その他)が入っているため、インストーラ自体のsystemdが240以降の場合は全く動かない状態となるでしょう。
    その場合、動作する古いインストーラを使用し、あとからOSバージョンを上げるなどの工夫が要ります。

    私の環境ではdebian10が動作していますが、これは元々動作していたdebian9からアップグレードしたため、問題は特に生じていませんでした。
    クリーンインストールする場合だと当時のdebianインストーラは動作しないかもしれません。
    また現在のdebianインストーラは2019/9/8に更新されているので、動作するかもしれません。
    他のディストリビューターについても、同様の観点で見極めやバージョン回避が可能です。

    ご参考までに。

    1. コメントありがとうございます。大変勉強になりました!
      また、コメントの承認が遅くなってしまったこと、お詫び申し上げます。

コメントを残す(投稿者名のみ必須)