Jarod Wilson wrote:
On Wednesday 16 April 2008 10:31:13 am John Summerfield wrote:
Jarod Wilson wrote:
On Wednesday 16 April 2008 05:55:32 am John Summerfield wrote:
I don't want to assign an IP address in the kernel commandline, so it
has to get one.
At present, it doesn't do this, so netconsole doesn't work.
Just for the hell of it, I added "ip=dhcp" as one does for nfs-root.
Then, netconsole failed. After that, the kernel used dhcp to get an IP
address.
Now, if the kernel could get the IP address first, then netconsole would
work and I'd be able to log this problem without fiddling around with
serial cables and other computers.
At first blush, I'm assuming this falls down because there isn't a dhcp
client built into the kernel. For nfs root, the dhcp client is actually
in the initrd, and I'm guessing netconsole wants to start up even before
the initrd has been unpacked.
No, the kernel (if so built) doesn't require an initrd. This worked as
far back as 2.2, maybe earlier. It might once have only done bootp, but
it's had dhcp for years and years.
Sorry, I wasn't clear, I was speaking purely in the Red Hat kernel case, where
CONFIG_IP_PNP is not set. Of course, re-reading with the context of me
talking about new things that may be enabled in post-F9 rawhide, I'm guessing
you were already aware of this, and were perhaps suggesting that it be
enabled as well...
Ah, it seems you need some facts too:-)
Here are the messages, along with some for context.
BIOS EDD facility v0.16 2004-Jun-25, 6 devices found
IP-Config: Failed to open ipddp0
Sending DHCP requests .,. OK
IP-Config: Got DHCP answer from 192.168.9.4, my address is 192.168.9.138
IP-Config: Complete:
device=eth0, addr=192.168.9.138, mask=255.255.255.0, gw=192.168.9.4,
host=192.168.9.138, domain=demo.lan, nis-domain=(none),
bootserver=192.168.9.4, rootserver=192.168.9.4, rootpath=
md: Autodetecting RAID arrays.
md: Scanned 0 and added 0 devices.
md: autorun ...
md: ... autorun DONE.
VFS: Cannot open root device "VolGroup00/LogVol00" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available
partitions:
0100 4096 ram0 (driver?)
0101 4096 ram1 (driver?)
0102 4096 ram2 (driver?)
0103 4096 ram3 (driver?)
0104 4096 ram4 (driver?)
0105 4096 ram5 (driver?)
0106 4096 ram6 (driver?)
0107 4096 ram7 (driver?)
0108 4096 ram8 (driver?)
0109 4096 ram9 (driver?)
010a 4096 ram10 (driver?)
010b 4096 ram11 (driver?)
010c 4096 ram12 (driver?)
010d 4096 ram13 (driver?)
010e 4096 ram14 (driver?)
010f 4096 ram15 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(0,0)
~
~
Those were collected with a serial cable.
This is the kernel: Linux version 2.6.25-rc1, and
[EMAIL PROTECTED] tmp]# grep ^CONFIG_IP_ 25.config
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_MROUTE=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IP_SCTP=y
[EMAIL PROTECTED] tmp]#
Now, since we're on an enterprise list and supposedly talking about
enterprise linux, and because I speculate an RHEL6 beta might be
announced soon...
I think that it would be good if netconsole worked the way I thought it
would.
Here is the kernel commandline:
Command line: ro root=/dev/VolGroup00/LogVol00 vga=794 video=vesafb
selinux=0 netconsole=@/,[EMAIL PROTECTED]/00:11:5B:E1:D8:5C
console=ttyS0,115200n8 console=/dev/tty ip=dhcp
and netconsole:
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
PPPoL2TP kernel driver, V1.0
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <[EMAIL PROTECTED]>
ipddp.c:v0.01 8/28/97 Bradford W. Johnson <[EMAIL PROTECTED]>
ipddp0: Appletalk-IP Encap. mode by Bradford W. Johnson
<[EMAIL PROTECTED]>
netconsole: local port 6665
netconsole: local IP 0.0.0.0
netconsole: interface eth0
netconsole: remote port 514
netconsole: remote IP 192.168.9.4
netconsole: remote ethernet address 00:11:5b:e1:d8:5c
netconsole: device eth0 not up yet, forcing it
0000:00:19.0: eth0: Link is Up 100 Mbps Half Duplex, Flow Control: None
0000:00:19.0: eth0: 10/100 speed: disabling TSO
netconsole: timeout waiting for carrier
netconsole: no IP address for eth0, aborting
netconsole: cleaning up
ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 18 (level, low) -> IRQ 18
ata_piix 0000:00:1f.2: MAP [ P0 P2 P1 P3 ]
A drawback is that the NIC's driver has to be in the kernel for ip=dhcp
to work. I presume the same applies for this.
If the DHCP server provides a logging server address then kernel could
use this, and netconsole= wouldn't need to be on the commandline at all
(unless the hackers decide to use it to enable/disable the function).
--
Cheers
John
-- spambait
[EMAIL PROTECTED] [EMAIL PROTECTED]
-- Advice
http://webfoot.com/advice/email.top.php
http://www.catb.org/~esr/faqs/smart-questions.html
http://support.microsoft.com/kb/555375
You cannot reply off-list:-)
_______________________________________________
rhelv5-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/rhelv5-list