
今日はWindowsタブレットにManjaroLinuxを入れてみました。
Manjaroは使いやすいので初心者にもお勧めです。
ブートローダーの所さえ入れ直せば
問題なく使えます。
Arch系列はインストールが面倒なので助かります。
●UEFI32bitとManjaroLinux16.08 64bitをインストール
Bay-Trail世代のCPUは64bit版なので、
当然Manjaroも64bit版が必要です。
ManjaroはArch系列ですがデスクトップ向けに作られており
GUIのLiveイメージとGUIインストールで
半自動で設定まで出来ます。
Ubuntu同等以上に使いやすいです。
またローリングリリースなので最新版のパッケージが使えます。
マルチカーネル対応なので
続々と増えるタブレット用の最新ドライバを
入手するには最適な環境です。
ただし、Bay-Trail世代はUEFIが32bitなので
ブートローダー(Grub2)がそのまま入らない設計ですw
なので、通常のManjaroを使うと32bit版は全て32bit、
64bit版は全て64bitを使う必要があるのですが途中で止まりますw
Grub2のブートローダーは後で入れ直す必要があります。
●USB-ISOイメージからManjaroLinux16.08 64bitをインストール
まず、Manjaroの64bit版ISOをダウンロードしてきて
RufusでUSBメモリに焼きます。
その際に/EFI/BOOT/にUEFI32のbootia32.efiをコピーして有効化します。
ここに書いてある様に
Mouse Computerのスティック型PC m-Stick MS-NH1にUbuntuをインストールする。
https://github.com/jfwells/linux-asus-t100ta/blob/master/boot/bootia32.efi
のbootia32.efiをダウンロードして、
USBメモリのManjaroのEFI/BOOT/にコピーして保存します。
これでUEFI32bit機でManjaroがブート出来る様になります。
次にMicroUSBにUSB変換ケーブルとUSB無線LANを使います。
無くても問題ありません。
他のハードも空いていれば繋ぎます。
電源ボタンをONにしたら速やかに「DEL」キーを押して
UEFI設定画面を出します。BIOSと同じですね。
機種によってボタンは変わりますのでググるしか。
実はOSがWindows10であろうと無かろうと同じだったりします。
まずセキュアブートをOFFにします。
次にUEFIの起動順番をUSB〜と書いてあるメモリを先頭にします。
で一旦Save &リセット。
これでUSBから起動出来るはずですが、
ブートの優先順位に注意。
毎回選択した方が良さそうです。
しかし電源を入れるとManjaroはUbuntuと違ってGrub画面で止まります。
インストーラーは起動しません(涙
grub>
と画面に出てくるだけで、何をして良いかわかりません。手強いですw
まあUSB内のvmlinuzとinitrdを指定するだけです。
コマンドを手入力します。タブキーで入力省略も可能です。
grub> linux (hd0,gpt1)/manjaro/boot/x86_64/manjaro root=/dev/mmcblk0p2 reboot=pci (改行)
grub> initrd (hd0,msdos1)/manjaro/boot/x86_64/manjaro.img (改行)
grub> boot (改行)
とgrub>以降のコマンドを3行入力します。
この機種の場合、nomodesetは不要ですが、
多分ここまでやればBootします。
後は通常通りGUIのデスクトップが起動するはずです。
インストーラーのアイコンをクリックして入れましょう。
Windowsを消さない様、自己責任で。
通常ですとmmcblk02のパーティションにインストールされるはずです。
要注意なので覚えておきましょう。
ネットに繋がっていないとブートローダーの所でエラーが出ますが
無視しましょう。
まだGrub2は入っていないのでUSBから起動しなおします。
再起動してUSBからgrub2の画面へ。
実はManjaroにはamd64(64bit)用にビルドしたgrub2-i386-efiの
パッケージは存在しません。x86-64ビルドだけでした。
勿論、i386ビルドのGrub2を入れても起動しませんw
という事は、今の所UEFI32bit機種に全く対応する見通しがありません。
Grub2はソースコードからビルドする必要があります。
ここで再起動
再びUEFI画面からUSB-ManjaroをBoot overrideから起動
また同じ様にGrub2画面がでたら再び、
手動でGrub2から設定します。
GNU GRUB version xxx
〜
grub>
と出たらコマンドをて入力。Tabキーで補完入力しましょう。
直接パーティションとKernelをCUIで指定してManjaroを起動させます。
改行は普通にエンターキーです。
grub> linux (hd1,gpt2)/boot/vmlinuz-4.4-x86_64 root=/dev/mmcblk0p2 reboot=pci (改行)
grub> initrd (hd1,gpt2)/boot/initramfs-4.4-x86_64.img (改行)
grub> boot (改行)
ここまで一通り出来ていればManjaroが起動するはず。
USBに無線LANを繋いでネットワーク認識しましょう。
端末画面とネットを繋げて確認しましょう。
●内蔵無線LANの認識
まず最初にやりたいのが内蔵無線LAN。
でアップグレードしてからgrub2のビルドの順番。
こちらを参考にしました。
FedoraでLivaの無線LANカードを使うには、Fedora 23に不足しているBroadcom BCM43241カードのファームウェアのパラメータファイルを追加する
内蔵無線LANを使うには、
不足している Broadcom BCM43241カードのファームウェアの
パラメータファイルを追加する。
ifconfig -aでインターフェース名が表示されてない。
BCM43241に対応するドライバ名のbrcmでdmesgを検索すると、次のエラーが表示されていた。
brcmfmac_sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.txt failed with error -2
この場合は、 ファームウェアのパラメータを設定する
テキストファイルが不足しているので、追加すればよいとのこと。
パラメータファイルはGitHubにある。
端末から、
cd /lib/firmware/brcm
wget https://github.com/jfwells/linux-asus-t100ta/raw/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt
sudo modprobe -r brcmfmac && sudo modprobe brcmfmac
上の操作に特に問題なければifconfig -aで
Wi-Fiインターフェースのwlan0が表示されるようになる。
●WindowsタブレットにGrub2ビルド
UEFI32bit機種にはブートしますが、
ブートローダーは別で入れないといけないです。
Manjaroには64bitでビルドしたUEFI32bitのGrub2パッケージが標準に無いので
自分で作る必要があります。
ビルドしてみましょう。
参考はこちらのサイトです。
http://qiita.com/shirotamago/items/a4b0c8863a492abe50ad
先にgrub2のパッケージをパッケージマネージャから入れておきます。
そうしておけばgrub.cfgが自動生成されますので便利です。
やり方は参考サイトを真似てみます。
grub2をダウンロードしてビルドします。
ビルドに必要なパッケージは既に入っている様子です。
端末から、
sudo su
git clone git://git.savannah.gnu.org/grub.git
cd grub
./autogen.sh
./configure --with-platform=efi --target=i386 --program-prefix=""
make
make install
cd grub-core
../grub-install -d . --efi-directory /boot/efi --target=i386
../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga gfxterm gettext echo boot chain eval
cp /boot/efi/EFI/grub/grubia32.efi ../grubia32.efi
ブート画面でGrub2がテキストで表示されればOKです。
他の機種の場合、nomodesetを書き換えます。
●まとめ
ここまでやれば半自動でManjaroがWindowsタブレット上で起動します。
便利です。
是非トライしてみてください。