7
/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.

--

/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)

See the error during mkinitrd command. What's the point that I am missing?
What does this mean? Kernel Modules: <not available>

OpenSuse 11.3 64 bit

EDIT1:

I did "make modules".
I copied the System.map file from the /usr/src/linux-3.2.1 directory to /boot, now running initrd command gives the following error:

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)
  • Which distro? And the comment does say MAY, using Gentoo I don't bother with making an initrd, they're not necessary. – bsd Jan 19 '12 at 14:25
  • @bdowning sorry, have edited it. :) – Aquarius_Girl Jan 19 '12 at 14:27
8

You should be using mkinitramfs, not mkinitrd. The actual initrd format is obsolete and initramfs is used instead these days, even though it is still called an initrd. Better yet, just use update-initramfs. Also you need to run make modules_install to install the modules.

  • btw, I will carve out a seperate question for difference between initrd and initramfs, it will make a good Q&A :-) – Nikhil Mulley Jan 19 '12 at 16:33
  • mkinitramfs gives command not found on Suse. – Aquarius_Girl Jan 20 '12 at 5:04
  • @AnishaKaul, I guess Suse has a different tool for building it. Debian based distributions use the initramfs-tools package. – psusi Jan 20 '12 at 14:52
  • 1
    SOLVED: The reason for these errors was that I was trying to make an initrd image before running make modules_install. So, now I ran make modules_install and initrd image got automatically created in /boot. – Aquarius_Girl Jan 23 '12 at 8:10
  • CONCLUSION: On Kernel 3 onwards we don't have to create an initrd image, it gets created automatically after make modules_install. – Aquarius_Girl Jan 23 '12 at 8:14
2

With OpenSUSE, you can use

yast2 sysconfig

fill in 'INITRD_MODULES' with module you need and apply.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.