Disable cpus... maxcpus=1 nosmp causes boot to fail.

I have a OpenSuse Linux system that needs to use only one core of its
four core processor. I tried putting this in the menu.lst file.

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.3
root (hd0,1)
kernel /boot/vmlinuz-2.6.22.5-31-default
root=/dev/disk/by-id/scsi-3500000e019ff24e0-part2 vga=0x317
resume=/dev/sdb1 splash=silent showopts nosmp maxcpus=1
initrd /boot/initrd-2.6.22.5-31-default

###Don’t change this comment - YaST2 identifier: Original name: linuxSMP###
title openSUSE 10.3 SMP
root (hd0,1)
kernel /boot/vmlinuz-2.6.22.5-31-default
root=/dev/disk/by-id/scsi-3500000e019ff24e0-part2 vga=0x317
resume=/dev/sdb1 splash=silent showopts
initrd /boot/initrd-2.6.22.5-31-default

The two are identical except for the names and one has the additional
parameters of “nosmp maxcpus=1”. Whenever I try to boot the one with the
two additional parameters the system fails to access the
“/dev/disk/by-id/scsi-3500000e019ff24e0-part2”. It asks to fall back to
the same device of “/dev/disk/by-id/scsi-3500000e019ff24e0-part2” with
Y/n as the options. In either case if eventually just gives a “$” prompt.

Am I placing the nosmp and maxcpus options in the proper location?

On 11/09/2010 07:15 AM, Ted Miglautsch wrote:

> Am I placing the nosmp and maxcpus options in the proper location?

Yes, but you are giving conflicting options. The option ‘nosmp’ is the same as
‘maxcpus=0’, not 1. Try it with just the ‘nosmp’.

Larry Finger wrote:
> On 11/09/2010 07:15 AM, Ted Miglautsch wrote:
>
>> Am I placing the nosmp and maxcpus options in the proper location?
>
> Yes, but you are giving conflicting options. The option ‘nosmp’ is the same as
> ‘maxcpus=0’, not 1. Try it with just the ‘nosmp’.

I tried several different options, just “maxcpus=0”, just “nosmp”, and
“maxcpus=0 nosmp” but they all had the same problem.

On 11/09/2010 07:32 AM, Ted Miglautsch wrote:
> Larry Finger wrote:
>> On 11/09/2010 07:15 AM, Ted Miglautsch wrote:
>>
>>> Am I placing the nosmp and maxcpus options in the proper location?
>>
>> Yes, but you are giving conflicting options. The option ‘nosmp’ is the
>> same as
>> ‘maxcpus=0’, not 1. Try it with just the ‘nosmp’.
>
> I tried several different options, just “maxcpus=0”, just “nosmp”, and
> “maxcpus=0 nosmp” but they all had the same problem.

There is a possibility that some step is hanging a CPU during boot and bootup
succeeds only because you have a second available. Thus it fails when only one
is available. Your kernel is so old that many things may be wrong.

You can disable CPU 1 on a running system with

echo 0 >> /sys/devices/system/cpu/cpu1/online

If you have more than 2, repeat for cpu2, etc.