The Symptom

You are likely here because you tried to boot your computer and one or more kernel drivers failed to load, resulting in one or more of your pieces of hardware failing to work. If you examined your system logs carefully, you may even find some of the following messages appearing amongst all the other chatter that happens during the booting phase:

allocation failed: out of vmalloc space - use vmalloc=<size> to increase size.

You may also see one or more of the following messages:

cx18-1: ioremap failed, perhaps increasing __VMALLOC_RESERVE in page.h

Firstly, do not change things in page.h as suggested--there is a far easier way to fix this once you understand the problem. Fixing this is actually relatively simple, but it's important that you understand what causes it so that you can remedy it correctly.



If you are using GRUB to boot your machine, to pass the vmalloc= parameter to the kernel simply add it to the global kopt parameter in /boot/grub/menu.lst, which will look something like this:

kopt=root=UUID=1029384-7e40-ffd2-9968-7a8b9e78f9g7s ro vmalloc=192M

You could also append that argument to an individual kernel in it's particular stanza in menu.lst if you didn't wish to apply this setting to all your kernels. Alternatively, you can append your new vmalloc argument to the GRUB_CMDLINE_LINUX_DEFAULT variable in /etc/default/grub (if your distribution uses this file--not all do).

Remember, if you did it correctly you will be able to see your option appear in /proc/cmdline after the machine has booted.


You can use the line GRUB_CMDLINE_LINUX="" in /etc/default/grub to pass the vmalloc= parameter to the kernel like this:



    立你斯 發表在 痞客邦 留言(0) 人氣()