Re:シルの日々の戯言。

折れた心が少しだけくっついたから何かを綴ってみるテスト。

Surface3(Cherry Trail世代)にUbuntu18.10を載せてみた

先日の戯言に記載した通りSurface3を比較的安価に入手したので、Windows10が動いているにも関わらずLinux導入を目論み入手しました。
sylve.hatenablog.jp

Surface 3 (4G LTE + Wi-Fi) - 64GB

Surface 3 (4G LTE + Wi-Fi) - 64GB

しかし、どうやら調べて行くとSurface3・・・と言うよりは、Surface3が搭載しているCherry Trail世代のCPUでは何やらLinuxを利用するには手間な部分が存在するとともに、Surface3でLinuxを利用するにはいくつかの注意事項があるようです。

Cherry TrailとBay Trailは(Linuxを導入する上では)難のある世代らしい

Surface3で利用しているCherry Trail及び一つ前のBay Trailでは、何やらLinux導入には少し注意が必要なCPUのようです。

具体的にはUEFIに問題がありまして、BIOSからUEFIへの移行時期だったのかUEFIにも32bitと64bitの2種類が存在するようです。

これが何を意味するかと言うと、Bay Trail以降のCPUは64bit対応CPUにも関わらずUEFIが32bit版として導入されている場合があり、(UEFI 32bitだと)多くの場合Linux導入時に合わせて導入されるブートローダーが(UEFI=64bitとして扱われて)64bit向けの設定を行う故にLinuxインストールは行えるが起動が出来ない事象が発生するらしいとのこと。*1

問題の回避方法は技術力溢れる猛者により見出されており*2、また一部のLinuxディストリビューションではUEFI 32bitを搭載したマシンでも問題無く動作するよう改良されているので、一般ユーザー目線だと(多くのLinux開発者の力によって開発が進み)時間の流れと共にあまり気にせずともいい問題になりつつあります。*3

なお、Surface3に関してはUEFIは64bitのようで、特に気にすることなく心置き無くLinuxを導入することが可能な模様です。・・・えぇ、入れる「だけ」ならば・・・。*4

Surface3で動くLinuxディストリビューション選定

Surface3にLinuxを入れる「だけ」なら懸念事項はありませんが、Windowsのように通常のクライアントOSとして*5利用する場合は、Linuxカーネルのバージョンに注意する必要があります。

具体的には、Linux Kernel 4.8からSurface3のタッチパネル関連のサポートが始まり、Linux Kernel 4.10にて対応拡充が図られている模様です。

mag.osdn.jp
mag.osdn.jp

Linux Kernel 4.10自体が2017年2月19日公開なので、よっぽど保守的なディストリビューション以外は取り込まれているとは思いますが、一応利用しようと考えているディストリビューションLinux Kernelが何を利用しているか確認しておく必要があります。

・・・何が言いたいかと言うと、私が比較的扱い慣れているCentOSは、ベースとしているRed Hat Enterprise Linuxが利用しているLinux Kernelの情報を見れば察して貰えると思います・・・。*6

Red Hat Enterprise Linux のリリース日と収録カーネルの一覧 - Red Hat Customer Portal

(個人的に扱い慣れているCentOSがKernel的に厳しいとなると)下手に選定であれこれ悩むのも馬鹿らしいので、安直な選定ではありますが、利用ユーザーが多い=情報も豊富なUbuntuを導入してしまおうと思います。
Homepage | Ubuntu Japanese Team

Ubuntuの場合、16.10でLinux Kernel 4.8、17.04でLinux Kernel 4.10を採用しているのでLinux Kernelが古くてSurface3で使えないと言うことは無いと思われますし、サポート創成期に様々な知見が蓄積されているので、調べるにも情報が多いと言う利点があります。・・・ただ、近年は(CPUパワー的な意味で)重量級ディストリビューションになりつつある状況なので、もしかするとSurface3では少々スペック不足に陥る可能性もあります。

そうなると、Ubuntu派生ディストリビューションLinux Mint辺りを使うと幸せになるのかも知れませんね・・・。*7
https://linuxmint.com

Linux Mint 19: Desktops and Administration

Linux Mint 19: Desktops and Administration

閑話休題、今回はSurface3でLinuxを扱ってみたいと言う理由から、Ubuntu 18.10を利用して行こうと思います。全体的に重量級ディストリビューションと化していますし、末永く利用するなら一つ前のUbuntu 18.04が長期サポートのLTS版を使えば良いんでしょうが、まだまだSurface3でLinuxを動かすにはLinux Kernelを始めとした様々なコンポーネントのバージョンは新しい方が良いと思うので、あえてUbuntu 18.10を採用してみます。

Ubuntu 18.10 on Surface3での問題事項

Ubuntu 18.10をSurface3に導入して*8ゴニョゴニョとこねくり回していますが、案の定問題がチラホラ・・・と言うか、Ubuntu 18.04の導入記事で挙げられている問題のうち、いくつかはUbuntu 18.10でも発生しました。
terurou.hateblo.jp

具体的には、Wi-Fiが最初は使えているが利用途中で切断され、再接続が行えなくなる事象がUbuntu 18.10でも引き続き発生していました。*9

Wi-Fiの対処方法は明記されているものの、具体的にどのパラメータ設定が悪いのかは不明とのことなのでUbuntu 18.10環境で少し調べてみると、Wi-Fiパワーマネージメントの設定が元凶っぽい雰囲気。

Linux Mint 18.1でWi-Fiの省電力機構を無効化する - afnf.net

Ubuntu 18.10 on Surface3では上記サイトに記載されたWi-Fiパワーマネージメント無効化設定を施すと安定して使えている・・・と思う。*10

sudo vim /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf
wifi.powersave = 2

その他、目につく問題

とりあえず、私が常用しても良いかな?と妥協出来る環境が整いましたが、すべての問題が解消された訳ではなかったり・・・。

  • 起動が非常に遅い。
    • LVM有効状態でUbuntu 18.10をインストールしたが、起動が妙に遅い。簡単に調べるとSurface3に限らず発生する事象らしい。
    • 対処方法はネット上に転がっているが、掲載されている記事と前提条件が異なるようなので私の中で同一事象か否かの判断付かず。*11
    • もしかして、単純にSurface3のeMMCが遅いだけの可能性もある?待ってれば起動するが、スペック不足以外の要因なら改善したい部分です。
  • 起動時にコンソール画面とスプラッシュ画面(Ubuntuロゴの起動画像)が高速切り替わり表示(点滅)する場合がある。
    • 1回だけ発生したが、起動時にUbuntuの起動スプラッシュ画面が超高速で切り替わり表示した。
    • 再現性が無いので調査しようが無いが、非常に気になる問題ですorz
  • バッテリー残量が表示されない。
    • Surface3のバッテリー周りのサポートが不十分なのか、バッテリー残量が全く表示されません。コマンドラインから「upower --enumerate」と叩いてもバッテリー関連の情報が表示されず。*12
    • 自宅内利用限定マシンですし、電源のmicroUSBケーブル外しても動いてくれるので現時点での用途で問題は無いが、バッテリー残量が不明と言うのはある種のバッテリー残量ロシアンルーレット状態なので改善出来るなら改善したい部分・・・。

贅沢を言うならばTwitterクライアントがあると個人的に幸せなんですが、サードパーティ排除に躍起になっているTwitterの動きを見るに、Linux使ってるならWeb版使えと強要されてる感があるので妥協しましょう。*13

環境は作った、どう活用しよう?

とりあえずは利用出来るだけの環境は整えたものの、残念ながら私はITインフラ屋であり、個人的興味からLinux環境を整えたもののソフトウェアのエンジニアでは無いのでクライアントOSとしてLinuxを使う意味はほぼありません。PHPやら何やらのフレームワークで開発を行う訳でも無いので、正直持て余す環境です。*14

そうなると、果たしてUbuntu18.10 on Surface3の環境をどのように有効利用していくべきか・・・。現在はGoogle Chromeを突っ込んでMacBookと同様にWeb閲覧は不自由なく行え、Simplenoteのクライアントがあったので戯言日記の草稿執筆も可能な状況ですが、はてさてどう活用していこうかしらね・・・。

・・・せめてバッテリー残量が確認出来るならiPad Pro/iPad miniに続く出先携帯用PCとして活用するのですが・・・。*15

*1:蓄積された情報を斜め読みしてざっくばらんに認識した結果なので、厳密な技術的観点からすると誤った認識なのかも知れませんが、UEFIに32bitと64bitの2種類があると言うのは確実な様子です。

*2:具体的にはUEFI 32bit向けの定義を差し替え・ねじ込むことで起動可能。

*3:Linuxを動かすのに枯れたハードウェア構成の方が良いと呼ばれる例かもしれませんね。最新のハードウェアで動かすには思っている以上の技術力が求められるので、猛者によって方法が確率されKernelに取り込まれていると私のようなど素人でもなんとかなります。

*4:なお、Cherry Trail世代でも32bit UEFIを採用しているモデルもあるらしいのでCherry Trailだから大丈夫・・・と言う訳では無い模様。しかも何をどのように見ればUEFIが32bitなのか64bitなのかは今の私の知見では判断出来ないので何をどうしたらいいのやら・・・。

*5:もう少し具体的に綴ると、ブラウザで適当にネットが見れて、メールくらいは見れて、TwitterなどのSNSが利用できるような状態。

*6:どうしてもRHEL系統を利用したければFedoraと言う選択肢があります。一応最新のFedoraなら新しいKernelを採用しているのでSurface3で問題なく扱えると思いますが・・・

*7:但し、Ubuntu 18.04ベースなのでまだまだ最新と言うかLTS版でサポート期間が長いと言えど18.10と比べるとチョット古い。

*8:その前に一応Ubuntu 18.10自体を仮想マシンで動作させて予習をしていますが・・・

*9:上記で紹介したサイトではサウンドバイスの問題も挙げられていますが、こちらはUbuntu 18.10では発生していないっぽい。

*10:今の所、Wi-Fiが切断されて再起動しないと再接続出来ない事象は発生していません。

*11:記事では「このような設定が入っているよ!」と書かれていますが、入っているはずの設定が根本的に異なるんですよね・・・。見間違いか、別の問題か・・・。

*12:出てくるのはline_power_ADP1(恐らくAC電源)とDisplayDeviceの2つ、両方とも詳細情報を表示させてもバッテリーに関する情報は出てきませんでした。

*13:ちなみに、草稿書き溜めに利用しているSimplenoteはLinux版クライアントがあるので、本当Twitterクライアントさえあれば常用しても良い環境なんですが・・・。

*14:つーか、ぶっちゃけWindows Serverエンジニアであり、OSの上に乗っかるミドルをゴニョゴニョすることが多いので、UNIX/Linux系統のエンジニアですら無いと。・・・いや、まぁ、Solaris触るしRHEL触るけどさ。

*15:iPad Proは大きすぎるがiPad miniだと小さすぎると言う場合にピッタリ!・・・と言うか、別にそこまでして無理して持ち出さなくても良いんですけどね。