ECSのLIVA-B3-2G-32Gにubuntu-server14.04 を今度こそインストール
ECSのLIVA-B3-2G-32Gにubuntu-server14.04を超頑張ってインストール
概要
前回インストールできなかった理由を調べたところ、
ubuntu-serverのインストーラ(のinitrd)がカーネルモジュールの不足が原因でeMMCを認識できていない事が分かりました。
そのため別環境にインストールされたubuntuからモジュールをぶっこぬき、
インストーラ開始後に手動でロードさせることでインストーラにeMMCを認識させてインストールを行う方法を考案しました。
また、標準でインストールされるinitrdについてもモジュール不足が原因でそのままでは起動できないため、
initrdに必要モジュールをロードさせるよう設定した上で再構成する事によって、正常に起動するようにしています。
また、なぜかインストール後に/lib/modulesが生成されないため、変わりにぶjっこぬいたモジュールを/lib/moduleに配置してます。
簡易手順
① 仮想環境にubuntu-server14.04をインストール
② 仮想環境にインストールしたubuntu-serverからeMMCの認識に必要なモジュールをぶっこぬき
③ Rufusでubuntu-serverのUSBインストールディスクを作成
④ LIVAにubuntu-server14.04のインストールを開始
⑤ インストール先ディスクの選択まで行ったらコンソールに移る
⑥ ②でぶっこ抜いたモジュールををinsmodしてeMMCを認識させる
⑦ インストーラに戻って、再度ディスクの認識の手順にもどす
⑧ インストール先ディスクの選択肢にeMMCが追加されるのでubuntu-server14.04をインストール
⑨ インストール完了の画面で終了せずに再度でコンソールに入る
⑩ eMMCのインストール先のルートディレクトリでchroot
⑪ /etc/modules及び/etc/initramfs-tools/modulesにmmc関連のモジュールを追記
⑫ initrdを再構成
⑬ インストーラに戻ってインストールを終了
詳細
① 仮想環境にubuntu-server14.04をインストール
② 仮想環境にインストールしたubuntu-serverからeMMCの認識に必要なモジュールをぶっこぬき
必要なモジュールはmmc_block.koとsdhci.koとsdhci-acpi.koです。
面倒ならこれ使ってください。多分大丈夫だけどなんか問題あるなら消します。
③ Rufusでubuntu-serverのUSBインストールディスクを作成
作成したUSBディスクの適当な場所にぶっこぬいたeMMC用のドライバを置いといてください。
④ LIVAにubuntu-server14.04のインストールを開始
⑤ インストール先ディスクの選択まで行ったらコンソールに移る
インストール先ディスクの選択画面
この状態だとeMMCが認識されていません。
ここでCtrl+Alt+F2を押してコンソールを出します。
このタイミング以外のタイミングでコンソールからinsmodを行うと
インストール後に/lib/modulesが空になるという謎現象が発生するので気をつけてください。
⑥ ②でぶっこ抜いたモジュールををinsmodしてeMMCを認識させる
USBディスクは/cdromにマウントされているので、②で保存したモジュールをinsmodしましょう。
insmod /cdrom/mmc/card/mmc_block.ko
insmod /cdrom/mmc/host/sdhci.ko
insmod /cdrom/mmc/host/sdhci-acpi.ko
⑦ インストーラに戻って、再度ディスクの認識の手順にもどす
Ctrl+Alt+F1
⑧ インストール先ディスクの選択肢にeMMCが追加されるのでubuntu-server14.04をインストール
Escキーでインストール先ディスクの検出をやり直してください。
するとeMMCがインストール先に表示されます。
⑨ インストール完了の画面で終了せずに再度でコンソールに入る
「インストールが完了したからディスクをはずせ」的なメッセージが出たら
先へ進まずに再度Ctrl+Alt+F2でコンソールに入ってください。
⑩ eMMCのインストール先のルートディレクトリでchroot
mkdir /liva
mount /dev/mmcblk02 /liva
chroot /liva
⑪ /etc/modules及び/etc/initramfs-tools/modulesにmmc関連のモジュールを追記
echo mmc_block >> /etc/modules
echo sdhci >> /etc/modules
echo sdhci-acpi >> /etc/modules
echo mmc_block >> /etc/initramfs-tools/modules
echo sdhci >> /etc/initramfs-tools/modules
echo sdhci-acpi >> /etc/initramfs-tools/modules
⑫ initrdを再構成
mkinitramfs -o /boot/initrd.img-3.13.0-24-generic
⑬ インストーラに戻ってインストールを終了
Ctrl+Alt+F1
結論
将来的にはぶっこぬきの手順なしでインストールする方法を模索してカスタムisoを公開したい
あとCentOSはカーネルのバージョン的に厳しそうでした(sdhci-acpiが追加されたのはカーネル3.8から)。
多分最新のFedoraならいけます。
広告