#title initramfsにモデュールを組み込むーSDHCやUSB3.0からの起動も可
特殊なUSBメディアや、USBメディアでは無いもの(たとえば、SDHCカード)などにインストールした場合、それをinitramfsを利用したカーネルが読み込めることが必要になります。そのような読み込むための機能を提供するものはモデュール(module)と呼ばれるようです。
initramfs(initrd.img-・・・)に適切なモデュールを組み込めば、そのような特殊なメディアを認識できて、その中にインストールされたUbuntuを起動できるかもしれません。
= モデュールを組み込む方法 =
1)まず、起動したいUbuntuのカーネルのバージョンと同じカーネルで、Ubuntuを起動します。インストール直後なら、インストールに用いたメディア(たとえば、日本語RemixCD)で起動すれば良いかもしれません。<
>
2)/etc/initramfs-tools/modulesに、組み込みたいモデュールの名前を追記します。たとえば、mmc_block.koを組み込みたいなら、端末で
{{{
sudo gedit /etc/initramfs-tools/modules
}}}
で開いたテキストエディタで、末尾に改行してから
{{{
mmc_block
}}}
と追加して保存しテキストエディタを閉じます。<
>
3)端末で
{{{
sudo mkinitramfs -o モデュールを組み込んだinitramfsの名前
}}}
とやれば、上記で記した名前のファイルがカレントディレクトリ(おそらくホームフォルダ)に生成されます。それを[[https://wiki.ubuntulinux.jp/UbuntuTips/UsbInstall/BootUbuntuInUsbWithBiosWithoutSupportForUsb/Grub4dos|grub4dos]]などの起動時に利用されるブートローダで認識できるパーティションにコピーして、initramfsとして利用するように設定すれば良いです。もちろん、カーネル(/bootにあるvmlinuz-?.?.?-?-generic)もブートローダで認識できるパーティションにコピーして、カーネルとして利用するように設定する必要があります。
SDHCカードの場合、
{{{
mmc_core
mmc_block
sdhci
sdhci-pci
}}}
を組み込めば良いかもしれません。<
>
参考:<
>
[[http://ubuntu.ubuntuforums.org/showthread.php?t=981951]]<
>
[[http://www.osnews.com/story/20743/Eeebuntu_2_0_SD_Card_Installation_on_the_Aspire_One]]<
>
[[https://forums.ubuntulinux.jp/viewtopic.php?pid=57345#p57345|成功した例はこちら]]
USB3.0接続カードを介した場合、Ubuntu10.10なら
{{{
xhci_hcd
usbhid
hid
usb_storage
}}}
を、<
>
Ubuntu10.04なら
{{{
xhci
usbhid
hid
usb_storage
}}}
を組み込めば良いかもしれません。<
>
<
>
注:ただし、[[https://wiki.ubuntu.com/MaverickMeerkat/ReleaseNotes/ja#%E8%B5%B7%E5%8B%95%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%BB%E3%82%A2%E3%83%83%E3%83%97%E3%82%B0%E3%83%AC%E3%83%BC%E3%83%89%E3%83%BB%E5%88%9D%E5%9B%9E%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%AE%E6%8C%99%E5%8B%95|xhciを組み込むとサスペンドができなくなるようです。サスペンドに関する問題を回避するには、SUSPEND_MODULES="xhci-hcd" を /etc/pm/config.d/unload_module に記述してください。]]
= 謝辞 =
このページの情報を作成するにあたり、[[https://forums.ubuntulinux.jp/viewtopic.php?pid=54860#p54860|jackalopeさんのご投稿]]および、のんきさんからのご連絡を参考にさせていただきました。
この場をお借りしまして、jackalopeさんとのんきさんに御礼申し上げます。