Red Hat Bugzilla – Bug 212501
Unknown boot option 8250.nr_uarts
Last modified: 2007-11-30 17:11:46 EST
Description of problem:
The 8250.nr_uarts option has always worked for me to get access to
all the ports on my byterunner board, but with FC6 xen kernel, it
With these entries in grub.conf:
title Fedora Core (2.6.18-1.2798.fc6)
kernel /vmlinuz-2.6.18-1.2798.fc6 ro root=LABEL=/ rhgb quiet audit=0 selinux=0
title Fedora Core (2.6.18-1.2798.fc6xen)
module /vmlinuz-2.6.18-1.2798.fc6xen ro root=LABEL=/ rhgb quiet audit=0
Booting fc6xen gives these messages:
Built 1 zonelists. Total pages: 483946
Kernel command line: ro root=LABEL=/ rhgb quiet audit=0 selinux=0 8250.nr_uarts=9
audit: disabled (after initialization)
Unknown boot option `8250.nr_uarts=9': ignoring
And the only serial ttys I see are:
[root@zooty ~]# ls -ld /dev/ttyS*
crw-rw-rw- 1 root uucp 4, 64 Oct 26 21:34 /dev/ttyS0
crw------- 1 root root 4, 65 Oct 26 21:34 /dev/ttyS1
crw------- 1 root root 4, 66 Oct 26 21:34 /dev/ttyS2
crw------- 1 root root 4, 67 Oct 26 21:34 /dev/ttyS3
If I boot the non-xen fc6 kernel, I get this:
no error messages about unknown boot parameters
[root@zooty ~]# ls -ld /dev/ttyS*
crw-rw-rw- 1 root uucp 4, 64 Oct 26 21:40 /dev/ttyS0
crw-rw-rw- 1 root uucp 4, 65 Oct 26 21:40 /dev/ttyS1
crw-rw-rw- 1 root uucp 4, 66 Oct 26 21:40 /dev/ttyS2
crw-rw-rw- 1 root uucp 4, 67 Oct 26 21:40 /dev/ttyS3
crw-rw-rw- 1 root uucp 4, 68 Oct 26 21:41 /dev/ttyS4
crw-rw-rw- 1 root uucp 4, 69 Oct 26 21:41 /dev/ttyS5
crw-rw-rw- 1 root uucp 4, 70 Oct 26 21:41 /dev/ttyS6
crw-rw-rw- 1 root uucp 4, 71 Oct 26 21:41 /dev/ttyS7
crw-rw-rw- 1 root uucp 4, 72 Oct 26 21:41 /dev/ttyS8
And all 9 uarts show up.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. boot xen kernel as show abocve
unrecognized option, only 4 uarts
no error, and 9 uarts
I couldn't possibly tell you the model number of the byterunner
board involved, but it is an 8 port PCI board (the 9 comes by
adding in the one serial port on the mother board).
The x86 version of xen also suffers from this, but its not in making
the /dev/ices, it in the kernels detection of the hardware during boot. There
is no mention in dmesg of it detecting and initializing anything but the ps2
Reverting to a regular i686 kernel fixes things right up.
The main reason for the parameter not to be working is that in xen kernels, is
that 8250 is put as a module, not builtin, rendering the boot option useless.
There's large discussion about it being modular, in bug #204825
This is not a bug, it works as designed. As explained in bug #204825, 8250 must
be a module in Xen kernels. Kernel parameters specified on the kernel command
line apply only to modules that are built into the kernel image. Module
parameters for loadable modules need to be specified with modprobe, either on
its command line or in its config files.
I suggest to configure nr_uarts in your modprobe.conf for use with Xen. If that
doesn't work for you, feel free to reopen the bug.
This may not be a technical bug. However, this sounds like a serious usability
issue wtih Red Hat, effectively putting us back to the 70s.
For all non-Unix Administrators, like myself, how do I get RH OS to recognize
[root@some etc]# setserial -bg /dev/ttyS[0-9]*
/dev/ttyS1: No such device or address
/dev/ttyS2: No such device or address << One serial device is installed on this
/dev/ttyS3: No such device or address
Having to specify 8250.nr_uarts to get your devices working isn't terribly
usable regardless of whether you have to do it on the kernel command line or
with modprobe. Still, the difference between Xen and non-Xen kernel is
unfortunate. There's really nothing we can do about that, I'm afraid. See bug
#204825 for why.
That bug got resolved by a udev update. Does that help you?