Z83ii Atom x5-Z8300 搭載の80ドル中華PCにLinuxを入れる話
OpenVPNでVPNを張るため,低価格で低消費電力なLinuxの動くPCがほしかったので,80ドルで買える中華AtomマシンにLinuxを入れたよっていう話。
まえがき
Z83iiっていうAtom x5-Z8300が乗った中華PCを80ドルくらいで買いました。
もっとも,今OpenVPN用に使ってるARM64bitのマイコンボードのOSサポートが微妙になってきたので(Armbianなんだけど,セキュリティパッチとかが追従しなくなってきた)ので,やっぱりそういう問題がないx86なマシンが良いなーと思っていたわけでした。
やっぱね,ARMボードはネットに常時接続する系のマシンにはそういう意味で向かないかもしれない。
で,x86なら普通のPC向けのディストリが動くし,最近のAtomってAES-NIとかサポートしてるし,結構暗号化とかも早いんですかね?(BIOSで切られてるかもしれないが。。)
まあ,このZ83iiですが,メモリ2GBで内蔵eMMC32GBという,要するにWinタブレットの基盤をそのままミニPCにしましたっていう感じの構成のやつです。
最近はこれでWindows10 Homeとかも最初からバンドルされているんで,一応そのままPCとして使えてしまうというのが恐ろしい時代ではあるなと。
Linux入れてしまうんですが,一応バンドルでWindows10Home付いてますし,後で気が変わったらWindowsとして使うかもしれないし,オリジナルのOSイメージ落ちてないかと探したら,中華PCにありがちですが,普通にBIOSイメージとOSイメージが落ちていましたんで,とりあえずダウンロードしておきます。
で,Linux入れようとして気がついたんですが,この手の中華PCってBIOSがUEFIしかサポートしてなかったり,大抵32bitのUEFIで,64bitのUEFIが非サポートだったりします。(この理由はIntelの中の人が説明してくれている)
案の定,Z83iiもBIOSがUEFIのみで,(Legacyモードがない)しかも32bitのみ対応なので,普通のPC用Linuxのディストリメディアからインストールしようとすると,そもそもインストールメディアを起動させてくれません。(起動時にF7を叩くとブートメニューが出るが,UEFI32bitのみの対応なので,普通の64bitディストリのインストールメディアに含まれている64bitのUEFIイメージだとブートメニューに出ない)
こことか,ここを見ると色んな人が,同じような問題に直面してるっぽいですが,Debian9のインストールメディアにmultiarch版っていうのがありまして,こいつは32bitと64bit版のgrub-efiが両方入ってるんですよね。。
なので,これを使ったら上手くUSBメモリから起動できるんじゃね?と思ってやってみたというのがこの記事の趣旨です。
で,まあちょっとトリッキーなんですが,ここのdebian9のliveイメージを起動するには以下のようにすると起動させられます
1. debian9のインストールメディアに入っているgrub-efiイメージを貰ってくる
ここのdebian9 netinstメディアのmulti-arch版isoイメージをダウンロードしてきて,Engrampaとかで開くとroot直下にefiというフォルダがありますが,こいつを取り出します
2. 適当なUSBメモリをVFATでフォーマットする
適当なUSBメモリをVFATでフォーマットしておき,その中に先程のefiというフォルダをコピーしときます。
3. debian-live isoイメージの中身をUSBメモリにコピー
お好きなdebian-liveのイメージ(iso)の中身を先程のUSBメモリにコピーします。
4. USBメモリをZ83iiのUSB2.0ポートに刺して起動する
正しく配置されていれば,起動時にF7を押して出てくるブートメニューで先程挿したUSBメモリが選択できるはずです。
そのままUSBメモリを選択して起動すると,grubシェルに落ちます。
5. grub-shell でdebian-liveイメージを起動する
そのままだとgrub-efiが何も設定されてない状態でgrub-shellに落ちますので,ここから以下のようにしてliveイメージを起動させます。
grub> set root=(hd0,msdos1)
grub> set prefix=(hd0,msdos1)/boot/grub
grub> insmod linux
grub> configfile (hd0,msdos1)/boot/grub/grub.cfg
で,こうすると上手く行っていれば普通にliveイメージのgrubのメニューが出てくるはずなので,そのまま起動するかインストールするかを選択すれば問題なくLinuxがインストールできると思います。