Hi, First, let me thank you for the excellent documentation and programming work on Syslinux. It has made getting to this point infinitely easier. Unfortunately, I need to request some guidance in troubleshooting a problem I am having using the RedHat installer on their version 7.3, which uses Syslinux as the boot mechanism. A little background: I have an old Micron Powerdigm XsU dual PII system that uses their Samurai chipset. There is only one IDE controller on the board (that is actually connected), but the Linux 2.4 kernel detects a second one inside the Samurai chip that isn't connected (a relic of hurried release, and buggy design, it seems). The symptom is that as the kernel loads, the Intel PIIX4 chip is detected, and parameters for ide0 and 1, hda through hdd are retrieved from the BIOS as expected, then the Samurai controller is detected, and the kernel tries to retrieve info on ide2,3 and hde through hdh from the BIOS (which isn't there) and hangs. I _think_ I have tried every combination of trying to pass parameters to the kernel to tell it to ignore that controller, using command line parameters and editing the syslinux.cfg file on the install floppy, to no avail. I even tried editing the pci-ide kernel source to remove the IDs for the Samurai, but the kernel still tries to ask the BIOS for info on the, now unknown, second controller. What I am requesting, I guess, is guidance in continuing troubleshooting -- what is the best way to determine whether the parameters I try to pass to the kernel actually get there, and are ignored, or are dropped along the way? Are there, say, line length limits on the "append" clauses in syslinux.cfg, or the resulting kernel command line? Or, maybe, am I missing quoting requirements to escape the "=", or blowing the parameter separators (I tried both spaces and commas, and one long quoted string)? Steve Brown sbrown7 at umbc.edu P.S.: The particular parameters that I have tried passing in have been just about all permutations of pci=noprobe, idex=noprobe, hdx=noprobe, and hdx=none (with the proper replacements of "x", of course).
Hi, first of all: This is no problem for syslinux, it's a kernel issue. But maybe we'll sort it out anyway. Stephen Brown <sbrown7 at umbc.edu> schrieb am 20.08.02 18:01:19:> What I am requesting, I guess, is guidance in continuing > troubleshooting -- what is the best way to determine whether the > parameters I try to pass to the kernel actually get there, and are > ignored, or are dropped along the way?Look at the kernel's output in the first few lines. It should say Kernel command line: .... and tells you what it really got. At least the 2.4 series does this.>Are there, say, line length > limits on the "append" clauses in syslinux.cfg, or the resulting kernel > command line?Yes, there is, it's AFAIK 255 characters. I use quite long parameters regularly, so 160+ characters work without problem.>Or, maybe, am I missing quoting requirements to escape > the "=", or blowing the parameter separators (I tried both spaces and > commas, and one long quoted string)?> P.S.: The particular parameters that I have tried passing in have been > just about all permutations of pci=noprobe, idex=noprobe, hdx=noprobe, > and hdx=none (with the proper replacements of "x", of course).That should have done it, according to ide.txt. Try ide2=noprobe ide3=noprobe, maybe you confused the kernel by giving too much hdx and idex together. BTW: Are you sure it crashes while initializing the IDE controllers, or could it be that it crashes while initializing the next device, but didn't tell you that it was already there? Regards, Josef ______________________________________________________________________________ Die clevere Geldreserve: der DiBa-Privatkredit. Funktioniert wie ein Dispo, ist aber viel g?nstiger! Alle Infos: http://diba.web.de/?mc=021104
On Tue, 20 Aug 2002, H. Peter Anvin wrote:> Near the beginning of the kernel boot messages it should print the > kernel command line, as it sees it. >Any ideas how to stop the scrolling while the kernel is having it's way with the hardware? Ctrl-S/Q (tried both, can never remember which starts/stops) had no effect (at least not with my reflexes), and ScrollLock caused a kernel NULL pointer dereference. Once the system locks (a matter of less than a second, it seems) the canonical Shift-PageUp has no effect, Alt-Fn won't give other terminals (probably still in single-user mode anyway) so no way to look at the log file being written to RAMdisk....> No escaping, in fact, no escaping or quoting is *ALLOWED*.Some of your other syslinux subscribers passed that along as well, thanks again for the quick and helpful advice. The only reason I asked was the need for LILO to get the parameter list as a single quoted string in it's config file, but then I realized it is because of the multiple equal signs that would confuse a parser: append="par1=arg1,2,3 par2=arg4" Figured that if the command line params were getting passed through multiple programs, that quoting might make the difference between several variables and one long string variable with embedded spaces, and that that might be significant. I stand enlightened. This evening, I methodically passed parameters (I hope) to the kernel, both from the command line, and editing syslinux.cfg -- hand copying the tail of the messages where the system hangs, if anyone is interested in an exercise in futility. Looks like it is time to head off to the Linux kernel lists. Steve Brown sbrown7 at umbc.edu