initramfsなしで既存のLinuxカーネルを起動する方法を探しています。 ~によるとこのリンクただ編集してください/boot/grub2/grub.cfg
。しかし、この設定を試してみると
menuentry 'Fedora Linux, no initramfs' {
set root='hd0,msdos1'
linux /vmlinuz-3.3.4-5.fc17.i686.PAE rootfstype=ext4 root=/dev/sda2 rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8
}
カーネルが initramfs をマウントしようとすると、カーネルパニックによって起動プロセスが停止します。コンパイル中にinitramfsが必要ないと言うべきですか?私が見つけた唯一の設定オプションはCONFIG_INITRAMFS_SOURCE
すでにに設定されていますCONFIG_INITRAMFS_SOURCE=""
。
私も一つあることを知ってエマルジョンしかし、実際にこれを行う方法についての説明はありません。
答え1
Initramfsには、オペレーティングシステムがシステムを起動するために必要なすべての情報があります。これには、すべてのファイルシステム情報(たとえば、デバイスからのものであり、システムの起動時にマウントする必要があるルートfsを持つデバイス)が含まれており、コンテンツはカーネルから生成されます。必要なすべての情報を含む他の画像から起動できます。
使用するVmlinuxは静的にリンクされたイメージです。システムの起動には使用できません。私が知る限り、主にシンボルの生成とデバッグに使用されます。
それでも起動に使用できないというわけではありませんが、使用する前に起動可能に設定する必要があります。ブートセクタ情報がないからです。