スポンサーリンク
往年の32ビット機の活用を考えて、ChromiumOSを入れてみた。
今回はBIOS設定に苦しんだ話。
まずは、前回の話しの続きで、32bit CPU向けのバイナリを探す。
CloudReadyの古いバイナリを保管しているサイトを探す手もあるが、セキュリティ上の問題がある。
万が一ウィルスを仕込まれていたらと思うととてもじゃないが手を出せない。
うーんと考えていて、思い付いた。
OSSで開発しているってことはgithubがあるんじゃないかと。
案の定、検索すると目的のものを見つけた。しかも32bit用(=x86)の最終版が置いてある。
さすがにgithubはセキュリティの問題はないだろう。これを使おう。
サイトには32bit用のバイナリが2つある。普通の用途とMBR用だ。上図の上の赤下線と下の赤下線だ。
下がMBR用であるという事は、上の普通のものはGPT用か。
まずは普通の用途のバイナリ(上のバイナリ)を取得した。
Chromeブラウザの機能を使ってUSBメモリにブート可能なバイナリを書き込む。
今はこういう事もできるのだな。
注意点は、ダウンロードしたバイナリ(拡張子がZIP)をそのままUSBメモリにコピーしても起動できないので
下記手順によってブート可能な書き込みをすること。
Chromeブラウザを開いて、リカバリをインストールする。
Chromeウェブストアを検索で探して、そこからChromebook リカバリ ユーティリティーをインストールする。
インストールが終わると、ブラウザのURL欄に下記を入力する。
chrome://apps
アイコンをクリックして、リカバリを起動し、右上の歯車アイコンをクリックする。
ローカルイメージを使用をクリックして、USBメモリを挿して以後は表示に従って進める。
書き込むバイナリはZIPファイルそのままではなく、中味のファイルであること、
USBメモリは書き込まれていたデータがすべて消えることに注意。
USBメモリへの書き込み時間はUSBの規格とか書き込むPCの性能によるが、5分10分程度だ。
USBメモリに書き込めたので、LavieLightのBIOSを変更して起動させる。
BIOSへ入る方法は電源ONした後にF2キーを押すこと。
変更するポイントは2つ。USBをレガシーモードに設定変更することと、
起動順序を変更すること。
起動順序はUSBメモリをHDDより優先する。メニュー上はUSBメモリはないので、USB CD/DVDを指定してみた。
USBメモリを差し込んでF10を押して設定変更を保存し、再起動する。USBメモリから起動・・・せずに
No Operation Systemと表示される。あらら。なにが悪いのだろう?
BIOSの設定を見直す。
USBメモリを挿したままでBIOS画面に入ると、あれ、さっきと表示が違う。
USB HDDのところにUSBメモリのメーカが表示されている。これを指定しないとだめなのか。
USB HDDを最上位に移動して設定を保存、再起動する。
USBメモリを認識して何らかのメッセージが表示される。
Booting the kernelと表示される。
ネットの情報ではここからかなり長いと書いてあった。30分、1時間、2時間。
うーん、変化ない。しびれを切らして寝る。
翌朝見ても変化なし。さすがにおかしい。何かが足りないのか、そもそもできないのか。
うーん、普通用バイナリではだめってことかな。
今度はMBR用をgithubからダウンロードして同様に書き込む。先の図の下のバイナリだ。
MBRとは、古い世代のPCが対応するもので、最近のものはGPTだ。MBRはいろいろ制約がある。
(ここでは説明しない) USBメモリへの書き込み方法は先ほどと同じ。
書き込んでUSBメモリをLavie Lightに差し込み、再起動する。今回も読み込めたようだ。
さっきと異なり画面には寂しく
boot:
と表示している。Linuxのブートに似ているかな。
キー入力待ちのようなのでEnterキーを押す。
さっきと同じく、Booting the kernelと表示され、あとは状況同じ。
んー。boot:表示で何かオプションを指定するといいのだろうか。
Linuxでもこういう話しが良くあったので、ChromiumOSもそうかもしれない。
良く調べていないが、ChromiumOSはLinuxの派生なのかな。ゼロから新しいOSを作るのはとてつもなく
手間がかかる。Linuxなどを流用するほうが現実的だろう。
ネットを調べる。bootに関するオプションがいくつか情報として出てきた。
まず、USBからブートするには下記のようにする。
boot: chromeos-usb.A root=/dev/sdb3
root=以降は、起動するOSが入ったデバイスの指定だろう。
おそらく内蔵のSSDが/dev/sdaで、USBが/dev/sdbになっている。
USBブートであるがUSBメモリが/dev/sdaになっていないのは、そういう仕組みなのかな。
また、/dev/sdaって書き方もLinuxそっくりだ。
注意
起動時はキーボードが英語配列になっている。おそらくUSBメモリのブートプログラムが固定で英語配列の
キーボードにしているのであろう。この変更はできるかもしれないけど、面倒なので調べていない。
オプションを入力する際には、下記文字の入力は注意。
_ (アンダアスコア) → シフト押しながら-を押す
=(イコール) → =の書かれたキーの右にある^を押す
これを入力したが先ほどと同じ。表示してそのままだんまり。んーー。
まだ何かが足りない。
Linuxの場合、ハード依存の設定をここで指定するんだよなぁ。
調べてみると、LavieLightでChromiumOSをいれた先人が情報を残してくれていた。
boot: chromeos-usb.A acpi_backlight=vendor
後のacpi_backlight以降がポイントだ。LCD画面のバックライト制御をベンダ依存の処理にする、
ってことのようだが、詳細は分からない。おまじないと思っておこう。
入力してEnterキーを押すと、一瞬画面が消えて文字が小さくなった。ほう。
しかし結局Booting the kernelと表示され、あとは状況同じ。
んー、この情報だけでは足りないのだ。何かが。
さっきの2つの情報を合体させてみるか。
boot: chromeos-usb.A root=/dev/sdb3 acpi_backlight=vendor
起動デバイスの指定の後にacpi_backlight以降を追加した。
これで起動すると、一瞬画面が消えて文字が小さくなり、そして1,2分待つとBooting the kernelの表示が消え、
続きを処理していくのであった。
再起動をして画面が切り替わった、やった!
PR