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

Linux ブログランキングへ

2018年10月22日

世界の全ての機器を制覇するOS NetBSD8.0 UEFI 5000円 OS無しWindowsタブレット PC-TW708/BASインストール その26 #NetBSD

TW708BSD.jpg

次は5000円OS無しWindowsタブレットのPC-TW708/BASに
同じ様にNetBSD8.0をインストールしてみました。
UEFI32bitです。
こちらはT100TAMと異なりUEFIエントリーをefibootmgrで
書き込まなくてもブート出来ました。
当たりですね。
ひょっとしたらWindowsタブレットでも個体差が激しくて、
当たりハズレが大きいので一筋縄ではいかないかもしれません。


●NetBSD8.0インストール
内容は前回のT100TAMとほぼ同じですが、
こちらはUEFIエントリの書き込み不要です。
i915関係でブラックスクリーンになるのも同じです。
動いたり動かなかったりは、Windowsタブレット内で
使われているチップやファームウェアの違いだろうから、
まあ現時点ではデータの無い未知の領域ですかも。
基本的なインストール方法は前回のブログをご参照。
割愛します。

世界の全ての機器を制覇するOS NetBSD8.0 UEFI Windowsタブレット T100TAインストール その18 #NetBSD

●インストール
やり方は前回と同じです。
まずはNetBSD公式HPから8.0のUEFIイメージをダウンロード。
ddコマンドかRawrite32でUSBメモリに焼き込みます。
Ubuntuとかの場合、

findmnt
sudo dd if=NetBSD-8.0-amd64-uefi-install.img of=/dev/sdb status=progress

みたいな感じですかね。findmntでマウントポイントを確認
焼いたらUSBメモリをHUBかなにか使いつつ本体と接続して起動
まずはをESCかF2を押してUEFI(BIOS)を起動させて
セキュアブートをOFFにします。
その後一番右端のタブに移動してUSBメモリをOverrideから起動。

NetBSDのブートしたらそのまま起動。
ただしT100TA、TW708を含むBay-Trail機種では
GPUが切り替わるタイミングでBlackscreenになるので
画面が表示出来なくなります。
i915のGPUをOFFにします。
4)を選択しコマンドラインから

userconf disable i915drmkms
boot

と入力して起動すると画面が表示されるはずです。
タイポ注意。
/boot.cfgに追記しておくと楽です。

ブートローダーが起動しましたら英語を選択し
Xを押してターミナルに落ちます。
ここからは公式HPどおりにEFIパーティションを作成し、
bootx64.efiとbootia32.eifファイルを/EFI/boot/にコピーします。

https://wiki.netbsd.org/Installation_on_UEFI_systems/


まず既存のディスクからNetBSDのパーティションを作る必要があります。

sysctl hw.disknames

調べると、
ld0:SSDディスク
wd0:HDDディスク
sd0:USBディスク
と出てくるはずです。
コレを消して作り直します。

dk0とdk1、dk2はディスク内パーティションです。

dkctl ld0 listwedges

とするとld0、SSD内部のパーティションを表示します。
消さないようにご注意を。
パーティションサイズの変更などは多分出来ないので、
UbuntuなどからGpartedで編集してからインストール作業しましょう。
自己責任で。
覚悟が決まったらパーティションを削除します。
勿論元には戻せません。

gpt destroy ld0

新しくパーティションを作成し直します。
ここでディスク名とパーティション名に注意

gpt create ld0
gpt add -a 2m -l "EFI system" -t efi -s 128m ld0
gpt add -a 2m -l NetBSD -t ffs -s 52g ld0
gpt add -a 2m -l swap -t swap ld0

作成されるパーティションの容量は各自好きな容量を設定しましょう。
基本では58gになっていますが、52gくらいは大丈夫かと。
作成したパーティションを確認。

gpt show ld0
パーティションが表示されます。
1:dk0
2:dk1
3:dk2
です。紛らわしいですw
ついでにrdk0もdk0と同じです・・・
他のパーティションを残してあるとこの数値が変わります。
ご注意を。

EFIファイルシステム設定(FAT32)

newfs_msdos /dev/rdk0

HDDをマウント(起動ディスクとルートフォルダはUSB)

mount -t msdos /dev/dk0 /mnt
mkdir -p /mnt/EFI/boot

ブートローダー bootx64.efiとbootia32.efiをコピー

cp /usr/mdec/*.efi /mnt/EFI/boot

アンマウント

umount /mnt

Swap作成

newfs -O 2 dk2

インストール画面に戻る

exit


ここまでで一連のEFIパーティション作成です。
後は通常インストールに戻ってNetBBSDパーティションに
ファイルをインストールしましょう。
で再起動したらUSBメモリを外して起動。
NetBSDのブートローダーが立ち上がるはずです。
この機種は当たりですね。
で、また

5)
userconf disable i915drmkms
boot

でGPUをOFFにしてから起動しましょう。

●少し分かってきた事
色々な機種でテストしはじめて分かってきたこと

・GPUでi915をOFFににしないとブラックスクリーン
 T100TAM、Star-Q、TW708
・起動中にフリーズ
 Star-Q
・UEFIエントリに何故か自動で書き込みされない
 T100TAM

などなど。
それぞれの機種でチップとファームウェアが違います。
沢山の機器を試して傾向を見るしかわかりかねる状況ではあります。
まだ3機種目ですからね・・・

あと縦画面なんですけど、横画面に回転できないかな・・・

●まとめ
この機種はやはり当たりです。
まとめとして、
UEFI32bitでも64bitでも問題なくNetBSD8.0が起動する事が分かりました。
一部の機種では起動時に止まったり、UEFIに書き込み出来ない現象が出ています。
i915をdisableしないとブラックスクリーンで画面が表示されません。
などなど。
組み合わせを解析するには、数をこなすのが正義でしょうかね・・・
Linuxの時と同じく、とっても面倒です。
本当に時間がかかりすぎる作業、いやんw
まあ格安WindowsタブレットがNetBSD8.0でも問題なく起動出来たのは幸い。
どんどんハックしませんか?一緒にやりましょうよ。
posted by kapper at 13:02 | Comment(0) | NetBSD
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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

Linux ブログランキングへ