にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2016年06月25日

Ubuntu改造日記 Windows10用Bai-Trail世代タブレットPC-TW708/CAS Ubuntu16.04インストールテスト編 その35

今日は前回の続きでBay-Trail世代のWindows10タブレットで
Ubuntuをインストールして動かしてみました。
巷で沢山報告がありますので、
今更珍しくないかと思いますが。
Ubuntu16.04の登場で標準のKernelが対応増えてかなり楽になりました。
Ubuntuも旧機種であればそれなりにちゃんと動きます。
OSC名古屋2016で色々と質問を頂いたので
ARM主体の生活ですが買って試してみました。

●Bay-Trail世代とUbuntu16.04
Windows10タブレットがブームになったのが、
恐らくこのBay-Trail世代かと思います。
2014年から色々と語られ続けてきましたが、
Kernelの対応が遅れ、ドライバとUEFI32bitで悲しい思いを
してきたはずかと思います。
Ubuntu16.04世代ではちゃんと動くと良いですね。

前回Wubi for Ubuntu16.04が何のトラブルもなく動いたので
今回のテスト機を購入しました。

・NECLaVie Tab W TW708/CAS
・CPU インテル Atom Z3736F(1.33GHz)
・メモリ 2GB
・ストレージ 64GB フラッシュメモリ
・ディスプレイ 8型ワイド(1920×1200ドット)
・ネットワーク IEEE 802.11b/g/n、Bluetooth 4.0
・インタフェース Micro USB 2.0端子、Micro HDMI端子、
      マイクロフォン/ヘッドフォン・コンボ端子
・拡張スロット MicroSDメモリーカードスロット
・カメラ 前面:約92万画素、背面:約500万画素
・センサー GPS、加速度、地磁気、ジャイロ
・バッテリー駆動時間 約8時間(Wi-Fi接続時)
・サイズ/重量 約幅46.5×奥行き43.5×高さ28.0mm/約370g
・OS Windows 10 Home 32ビット
・発売日 2015年10月



新品は高いですが、中古は安いです。
ソフマップ インターネット店の中古で14,980円を
溜まっていた楽天ポイント9,000円分を付けて買いました。
旧世代機だったので安かったし、容量も大きかったです。
買った理由は中華Windowsタブレットの液晶が不合理に割れてしまって、
安物メーカーはもう二度と買わない・・・と思ったからです。
そこそこしっかりした作りで気に入っています。

ですが、こいつネットで調べるととてつもなく曲者で、
Linux使い泣かせの設計しています。
凄く苦労しました。
買う前にちゃんとLinuxの動作確認をググるべきでしょうかね。
今回は大体殆どこちらのサイト様を参考させていただきました。
大変感謝です。

 Windows tabletに遊ばれてみた part1 -- NEC TW708/basにubuntuを入れる。

●まずWubi for Ubuntu16.04 インストールNG
前回のブログで入れたWubi for Ubuntu16.04を試してみます。
インストーラーとUEFI32bitまで問題なく通過しましたが、
インストール直前でWubiのフォーマットが認識できず落ちます。
残念ですが使えません。
他の機種ならいけるかもしれませんね。

●UEFI32bitとUbuntu16.04 64bitをインストール
Bay-Trail世代のCPUは64bit版なので、
当然Ubuntu16.04も64bit版が必要です。

ただし、Bay-Trail世代はUEFIが32bitなので
ブートローダー(Grub2)がそのまま入らない設計ですw
実はLinuxではUEFI32bitは標準対応は外してありますw
なので、通常のUbuntuを使うと32bit版は全て32bit、
64bit版は全て64bitを使う必要があるのですが途中で止まりますw

・ハード 64bit⇒Ubuntu 64bit⇒UEFI 64bit⇒ブートローダー64bit
なら仮に標準でも何の問題もありません。
ただ実際は、

・ハード 64bit⇒Ubuntu 64bit⇒UEFI 32bit⇒ブートローダー64bit(NG)
となってしまい、Grub2を32bit版を後から入れる必要がありますw
つまりインストーラーが途中で落ちますw
面倒な設計ぢゃ

●あると便利なハード
・MicroUSB-USB変換コネクタ
・USBメモリ >2GB
・USBハブ(セルフパワーだと安定します)
・USBキーボード
・USB無線LAN
・USBマウス
・USB有線LAN

●USB-ISOイメージからUbuntu16.04 64bitをインストール
まず、Ubuntu16.04の64bit版ISOをダウンロードしてきて
USBメモリに焼きます。
その際に/EFI/BOOT/にUEFI32をコピーして有効化します。
ここに書いてある様に

 Mouse Computerのスティック型PC m-Stick MS-NH1にUbuntuをインストールする。

https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
のbootia32.efiをダウンロードして、
USBメモリのUbuntuのEFI/BOOT/にコピーして保存します。
これでUEFI32bit機でUbuntuがブート出来る様になります。
分かれば簡単ですが、そこにたどり着くまでの苦労が忍ばれます。

次にMicroUSBにUSB変換ケーブルとハブ、キーボードとメモリを刺します。
他のハードも空いていれば繋ぎます。

電源ボタンをONにしたら速やかに「F2」キーを押して
UEFI設定画面を出します。BIOSと同じですね。
機種によってボタンは変わりますのでググるしか。
実はOSがWindows10であろうと無かろうと同じだったりします。

まずセキュアブートをOFFにします。
次にUEFIの起動順番をUSB Ubuntuと書いてあるメモリを戦闘にします。
で一旦Save &リセット。
これでUSBから起動出来るはずですが、こいつの場合はNGです。
参考サイト様に書いてありますが、

 EFIメニューのboot overrideからubuntuインストーラを起動

させる必要があります。
つまりUbuntuを起動させる為に毎回UEFIの画面を出してBoot overrideから起動w
面倒。
でもそれだけだったり・・・
これに気づくか気づかないかと言われると間違いなく気づかない。
先達様に大変感謝です。

Grub2が起動するはずなので、

 *Try Ubuntu without installing
 Install Ubuntu
 OEM install (for manufacturers)
 Check disc for defects

Install Ubuntuを選択します。
動作確認はTryの方で。

Ubuntuのインストーラーが立ち上がりましたら、
パーティションを分けて設定。
決してWindows10領域を消さないように。
Ubuntuのパーティションを区切ります。
大体10GB以上でしょうか?


 以下のデバイスのパーティションテーブルが変更されます:
 MMC/SDカード1(mmcblk0)

 以下のパーティションは初期化されます:
 MMC/SDカード1(mmcblk0)のパーティション5をext4に
 MMC/SDカード1(mmcblk0)のパーティション6をスワップに

通常ですとmmcblk05のパーティションにインストールされるはずです。
要注意なので覚えておきましょう。


日本語やキーボード、時間設定の所を通過してインストール開始しますと
ブートローダーの設定でエラーが出ます。
これは先ほど書きましたUEFI64Bit用のGrub2をインストールしようとして
エラーが出たとの事で、必ずエラーになります。
クリックして飛ばしますと無事Ubuntuが起動します。
まだUSB無線LANやネットやapt-getは使えません。

ここで再起動
再びUEFI画面からUSB-UbuntuをBoot overrideから起動
しつこいですが、この機種はUEFIでBoot overrideを選択しないとUbuntuは起動しません。
また同じ様にGrub2画面がでたら今度は「C」キーを押して
手動でGrub2から設定します。

 GNU GRUB version xxx
 〜

 grub>

と出たらコマンドをて入力。Tabキーで補完入力しましょう。
直接パーティションとKernelをCUIで指定してUbuntuを起動させます。
改行は普通にエンターキーです。
 
 grub> linux (hd1,gpt5)/boot/vmlinuz-4.4.0-21-generic root=/dev/mmcblk0p5 reboot=pci 改行
 grub> initrd (hd1,gpt5)/boot/initrd-4.4.0-21-generic 改行
 grub> boot 改行

ここまで一通り出来ていればUbuntuが起動するはず。
端末画面とネットを繋げて確認しましょう。
Grub2-ia32をインストールします。

 sudo apt-get install grub-efi-ia32

次にGrub2の設定。

 sudo update-grub

昔はソースコードからビルドして作ったそうですが、
Ubuntu16.04ではその必要性はありません。
やっと再起動。
電源がおちたら再び「F2」(以下略
ブートローダーにUbuntuと表示され、
Grub2が立ち上がってUbuntuが起動するはずです。

●疑わしい点
起動しない場合は
まず、

・UEFI32bit⇒Boot overrideを選択
・Grub2 32bit⇒手動でインストール
・/boot/efi/EFI/bootia32.efiが無い
 ⇒sudo suでスーパーユーザーになってcpしましょう

この3点が怪しいです。
一度確認してみましょう。

●Wifiとbluetoothドライバ
参考サイトを見ると、

 Wifi:rtl8723bs
 Blueooth:rtl8723bs_bt

だそうな。
githubにドライバソースコードがありますので、
make, sudo make install するだけです。

 sudo apt install build-esential linux-generic git-cvs
 git clone https://github.com/hadess/rtl8723bs.git
 git clone https://github.com/lwfinger/rtl8723bs_bt.git

後はどちらもmake, sudo make installするだけです。

 cd /rtl8723bs
 make
 sudo make install

 cd /rtl8723bs_bt
 make
 sudo make install

ビルドしたら再起動

●安定しないよ
標準のKernelは古いのでフリーズします。
Kernel4.9系列を入れましょう。
ukuuを使うと簡単ですが、それは別のブログで解説しています。

●まとめ
一応なんとかUbuntuが起動するはずです。
元のOSがWindows10であろうと無かろうと
UEFI32bitの設定すればLinuxは起動します。
慣れたら色々なディストリを入れてみましょう。

過去のネット情報を調べると、Kernelが対応していないので
ビルドし直す必要がありそうですが、
Ubuntu16.04は直った後のKernelバージョンですw
大変便利になりました。
そういう意味ではUbuntuは便利です。
ただ周辺機種が動くかどうかで、まだ動かないものが沢山あります。
参考サイト様を確認して自分で設定するしかなさそうです。

そう言う意味ではLinuxをWindowsタブレットに入れる場合は
少しでも古い機種の方が対応されていて便利です。
特にWindows7世代はほぼフルオートで楽です。
でも先達の工夫で現在は手順を守れば簡単にUbuntu16.04が使えます。
大変便利になりました。
是非遊んでみましょう。

PS.一部コマンドが間違っていましたので修正しました。
  申し訳ありません。
posted by kapper at 20:07 | Comment(4) | Ubuntu
この記事へのコメント
最後のWifi&Btドライバのインストールのところが、いまいち説明が適当でよくわからないので、もっと詳しく手順を交えて説明していただけませんか。何せ、素人なものですので。
Posted by kokutou at 2017年03月25日 17:13
コメントありがとうございます。
ソースコードをgithubからダウンロードして、
make
sudo make install
と入力するのですが
こちらのサイト様が詳しいので一度ご一読を
僕も大変勉強になりました

http://note.kurodigi.com/post-0-15/
Posted by Kapper at 2017年03月25日 19:53
たびたび申し訳ないんですが、makeしてmake installできました。ですが、新たな問題があります。私は、この記事で使用されている、PC-TW708/CASを使用しており、いま全く同じことをやっています。(Ubuntuは15.04で、理由は16.04だとなぜかsplashをnomodesetにして消しても起動しないため。)
無事、インストールは完了して32bitUEFIでの単体起動は可能になったのですが、なぜか自動でディスプレイが暗転した際や、サスペンドをした際に、ディスプレイのバックライトが点きっぱなしになっています。あと、ジャイロセンサーでの画面の回転動作についても、やはり機能しません。また、音も出ません。これについても、ドライバをインストールすれば何とかなるのですか?どうにかして直せないでしょうか。お知恵を頂戴したいです。
Posted by kokutou at 2017年03月25日 21:30
まず、画面が映らないのとドライバが無いのはKernelの仕様です。バグです。
当時は実装されていません。
PPAからKernel4.9LTS系列をインストールして下さい。
UKUUを使っても良いです。
実際のバグフィックスはKernel4.11系列であろうといわれていますが別のバグが出ています。

ジャイロセンサーは画面を自動回転するアプリがないので手動回転するしかないです。
このブログの情報は古いので
最新情報はいずれもOSC東京で発表しているので僕のSlideshareを読んでください。

https://www.slideshare.net/kapper1224/windows10linux2017spring
Posted by Kapper at 2017年03月26日 12:20
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ