問題は、BIOSが32bit UEFIでレガシBIOS互換モジュール無しなところ。
つまり32bit UEFIブートしかできない。がしかし、Ubuntuを含め、32bit版のインストールディスクではUEFIブートをサポートしていない。(というか、Linuxカーネルが32bitでUEFIをサポートしない方針っぽい)64bitのインストールディスクは64bitUEFIブートしかサポートしていない。というめんどくさいことになっているのです。Linuxサイドでは、64bit CPUにわざわざ32bit UEFIを使うなんてことが想定外なのでしょう。
Bay trailは64bitでも動くのだが、このマシンを含め、最近の低価格タブレットのマシンでは、なぜか、32bit UEFIを実装している。インテルさんの都合か、BIOSベンダーさんの都合か、大した理由などないのか、まあいいや。
一日こねくりまわして、何とかできたので手順をざっくりまとめておく。
1. Ubuntu14.04の64bit版インストールディスクをダウンロードする。
http://www.ubuntu.com/download/desktop
2. Universal USB Installerをダウンロードする。(Windowsで作業する場合。別のLinuxマシンがある人はddとかで。)
http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
3. Universal USB Installerを使って、USBメモリにUbuntuのインストールディスクを書き込む。
4. bootia32.efiをダウンロード。32bitUEFIブートしてGrubを起動させるためのEFIアプリケーション。自力でビルドすることもできそうだが、せっかくなので、実績ある有志の成果物を使わせて頂く。
https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
(ちなみに、LinuxMintやUbuntu14.10、Ubuntu15.04のインストールディスクももこいつで起動できた)
https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
(ちなみに、LinuxMintやUbuntu14.10、Ubuntu15.04のインストールディスクももこいつで起動できた)
5. USBに書き込んだインストールディスクの中の「/EFI/BOOT/」ディレクトリにbootia32.efiをコピー。
6. x205ta側の設定。起動時に「f2」キーを押してBIOS設定画面に入り、Security->Secure Boot Menu->Secure Boot ControlをDisableに。いわゆるセキュアブートを無効にする。あと、Advanced->USB Configuration->USB Controller SelectをEHCIにしておいたほうが無難なようだ。あと、内臓Wifiが使えないので、USBのWifiアダプタをつけとく。
7. USB刺して、再起動。起動時に「esc」キーで、ブートデバイス選択画面に入って、「UEFI: USB MassStorage Device」を選択。USBから起動。
8. Ubuntuを普通にインストールして、再起動。だが、このままでは起動してくれない。というのも、64bitのインストールディスクは64bitUEFIマシンを想定していて32bitUEFIブート用のGrubをインストールしてくれないから。なので、まずは、USBインストールディスクのGrubでマシンにインストールされたUbuntuを立ち上げるという方法を採る。USBインストールディスクからマシンを起動Grubメニューで「c」キーを押し、Grubのコマンドラインに入り、以下を入力
めでたく起動したら、32bit UEFIブートを何とかする。ネットを見て回っていると、grubのソースをビルドしてバイナリ作ってインストールという方法を取っている記事を見かけることが多かったが、パッケージで何とかしてみる。「grub-efi-ia32」をインストール。
で、たぶん、本来これだけでいいっぽいのだが、これのインストール中に「efibootmgr」が実行され、EFIのバリアブルにブートローダーを登録するのに失敗している。というか、EFIバリアブルにアクセスできてなさそうな感じ。「Try modprobe efivars」とでるが、やっても駄目だった。これはカーネルモジュールの問題なのか、UEFIが32bitだからなのか、原因不明。とは言え、モノはそろっているし、そもそもファイル名だけの話っぽいので、さしあたって、今回はファイル入れ替え作戦で回避
ちょっとスマートではないが、他にいい方法思いついたらまた試してみる。恐らく、何らかの方法でEFIバリアブルに、grubia32.efiを登録できればいいと思われる。不思議なのは、どこかの段階で、ubuntu/grubx64.efiは登録されているということ。
なので、この環境で、手順さえ踏めば行ける気がするのだが。(これをやる前に、15.04のインストールを試みたので、その名残の可能性もある)
追記:その後、改めてUbuntu15.04のインストールを試したところ、Ubuntuのインストール途中で、grub-efi-amd64-signedのエラーでクラッシュ。これを無視して、USBから起動させ、apt-get install grub-efi-ia32したところ、efivarsに関する問題も出ず。
ファイル入れ替えはせずに普通に起動。インストーラがクラッシュしているので、なんか気持ち悪いが、使えるには使えそうな感触。逆に言えば、15.04のカーネルか、efibootmgrあたりで問題が修正されているのかもしれない。 で、再起動。試行錯誤したなかで、上手く行った部分だけ、まとめるとこんな感じ。手順抜けてる可能性もあります。この通りやっても上手く行かないこともあるかも。そしたら、連絡ください。試行錯誤思い出します。以下のページが非常に参考になりました。先人の知恵に感謝致します。
http://brownbro.github.io/blog/2015/01/15/asus-x205ta-with-lubuntu/ http://sturmflut.github.io/linux/ubuntu/2015/01/21/installing-ubuntu-15.04-on-baytrail-tablets/ http://www.geocities.jp/cowfish_lactoria/mstick1-euc.html http://orumin.blogspot.jp/2013/01/grubefi.html
$ linux (hd1,gpt2)/boot/vmlinuz-3.13-0-52-generic root=/dev/mmcblk0p2 reboot=pci,force
$ initrd (hd1,gpt2)/boot/initrd-3.13-0-52-generic
$ boot
めでたく起動したら、32bit UEFIブートを何とかする。ネットを見て回っていると、grubのソースをビルドしてバイナリ作ってインストールという方法を取っている記事を見かけることが多かったが、パッケージで何とかしてみる。「grub-efi-ia32」をインストール。
$ sudo apt-get install grub-efi-ia32
で、たぶん、本来これだけでいいっぽいのだが、これのインストール中に「efibootmgr」が実行され、EFIのバリアブルにブートローダーを登録するのに失敗している。というか、EFIバリアブルにアクセスできてなさそうな感じ。「Try modprobe efivars」とでるが、やっても駄目だった。これはカーネルモジュールの問題なのか、UEFIが32bitだからなのか、原因不明。とは言え、モノはそろっているし、そもそもファイル名だけの話っぽいので、さしあたって、今回はファイル入れ替え作戦で回避
$ cd /boot/efi/EFI/ubuntu
$ sudo cp grubx64.efi grubx64.efi.bak
$ sudo cp grubia32.efi grubx64.efi
ちょっとスマートではないが、他にいい方法思いついたらまた試してみる。恐らく、何らかの方法でEFIバリアブルに、grubia32.efiを登録できればいいと思われる。不思議なのは、どこかの段階で、ubuntu/grubx64.efiは登録されているということ。
なので、この環境で、手順さえ踏めば行ける気がするのだが。(これをやる前に、15.04のインストールを試みたので、その名残の可能性もある)
追記:その後、改めてUbuntu15.04のインストールを試したところ、Ubuntuのインストール途中で、grub-efi-amd64-signedのエラーでクラッシュ。これを無視して、USBから起動させ、apt-get install grub-efi-ia32したところ、efivarsに関する問題も出ず。
ファイル入れ替えはせずに普通に起動。インストーラがクラッシュしているので、なんか気持ち悪いが、使えるには使えそうな感触。逆に言えば、15.04のカーネルか、efibootmgrあたりで問題が修正されているのかもしれない。 で、再起動。試行錯誤したなかで、上手く行った部分だけ、まとめるとこんな感じ。手順抜けてる可能性もあります。この通りやっても上手く行かないこともあるかも。そしたら、連絡ください。試行錯誤思い出します。以下のページが非常に参考になりました。先人の知恵に感謝致します。
http://brownbro.github.io/blog/2015/01/15/asus-x205ta-with-lubuntu/ http://sturmflut.github.io/linux/ubuntu/2015/01/21/installing-ubuntu-15.04-on-baytrail-tablets/ http://www.geocities.jp/cowfish_lactoria/mstick1-euc.html http://orumin.blogspot.jp/2013/01/grubefi.html
0 件のコメント:
コメントを投稿