如何在 OpenSuSE linux 上创建 initrd 映像?

Aqu*_*irl 7 linux compiling opensuse kernel

/usr/src/linux-3.2.1 # make install
scripts/kconfig/conf --silentoldconfig Kconfig
sh /usr/src/linux-3.2.1/arch/x86/boot/install.sh 3.2.1-12-desktop arch/x86/boot/bzImage \
                System.map "/boot"
You may need to create an initial ramdisk now.
Run Code Online (Sandbox Code Playgroud)

——

/boot # mkinitrd initrd-3.2.1-12-desktop.img 3.2.1-12-desktop

Kernel image:   /boot/vmlinuz-2.6.34-12-desktop
Initrd image:   /boot/initrd-2.6.34-12-desktop
Kernel Modules: <not available>
Could not find map initrd-3.2.1-12-desktop.img/boot/System.map, please specify a correct file with -M.
There was an error generating the initrd (9)
Run Code Online (Sandbox Code Playgroud)

查看 mkinitrd 命令期间的错误。我失踪的重点是什么?
这是什么意思?Kernel Modules: <not available>

OpenSuse 11.3 64 位

编辑1:

我做了“制作模块”。
我将System.map文件从/usr/src/linux-3.2.1目录复制到/boot,现在运行initrd命令出现以下错误:

linux-dopx:/boot # mkinitrd initrd-3.2.1.img 3.2.1-desktop

Kernel image:   /boot/vmlinuz-2.6.34-12-desktop
Initrd image:   /boot/initrd-2.6.34-12-desktop
Kernel Modules: <not available>
Could not find map initrd-3.2.1.img/boot/System.map, please specify a correct file with -M.

Kernel image:   /boot/vmlinuz-3.2.1-12-desktop
Initrd image:   /boot/initrd-3.2.1-12-desktop
Kernel Modules: <not available>
Could not find map initrd-3.2.1.img/boot/System.map, please specify a correct file with -M.

Kernel image:   /boot/vmlinuz-3.2.1-12-desktop.old
Initrd image:   /boot/initrd-3.2.1-12-desktop.old
Kernel Modules: <not available>
Could not find map initrd-3.2.1.img/boot/System.map, please specify a correct file with -M.
There was an error generating the initrd (9)
Run Code Online (Sandbox Code Playgroud)

psu*_*usi 8

您应该使用mkinitramfs,而不是mkinitrd。实际的 initrd 格式已经过时,现在使用 initramfs 代替,尽管它仍然被称为 initrd。更好的是,只需使用update-initramfs. 您还需要运行make modules_install以安装模块。