Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Linux
Ubuntu Server インストーラの initramfs には SD カードのドライバが入っておらず難儀しました。

必要なドライバは linux-image というパッケージ (ここらへんからインストーラの kernel に合致したものを探してください。今回は 32-bit だったので linux-image-3.2.0-23-generic-pae_3.2.0-23.36_i386.deb を利用) に含まれているので、ここからドライバを抽出してインストーラ環境で insmod してやればよいです。

まず、既存の Ubuntu 環境で以下の手順を実行します (インストーラ環境では deb パッケージの展開に必要な dpkg コマンドが利用できないため、パッケージの展開を別環境で行い、展開されたドライバをインストーラ環境に転送する必要があります)。
wget "http://ftp.jaist.ac.jp/pub/Linux/ubuntu/pool/main/l/linux/linux-image-3.2.0-23-generic-pae_3.2.0-23.36_i386.deb"
dpkg -x "linux-image-3.2.0-23-generic-pae_3.2.0-23.36_i386.deb" extract
tar czf mmc_driver.tgz extract/lib/modules/3.2.0-23-generic-pae/kernel/drivers/mmc/
mmc_driver.tgz は適当な Web サーバにアップロードしておきます (インストーラ環境では SCP も使えません)。

次に、インストーラ環境で Ctrl-Alt-F2 を押してコンソールに落ち、mmc_driver.tgz をダウンロードしてモジュールを (ざくっと全部) insmod します。
cd /tmp
wget http:// ... /mmc_driver.tgz
tar xzf mmc_driver.tgz
find extract -type f -exec insmod {} \;
これで、SD カードが /dev/mmcblk0 に見えるようになり、インストーラに認識されます。

# VM で SD カードにインストールしてから移動するとか、USB な SD カードアダプタを使う方が簡単だったかも...。

Comments

Leave Yours...
Name:
E-mail / URL (optional):
Comment:
Are You Robot?: