Thanks to your help, I am now mounting root:
Mounted root (ext2 filesystem) readonly <4>Freeing unused kernel memory: 52k freed <4>Warning: unable to open an initial console
Part of the problem was in my PCI config, another problem was I had to enable the IDE in Linux, as follows:
#define LINUXBIOS #ifndef LINUXBIOS if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val)) continue; /* port not enabled */ #else /* force 'em on! */ if (e->reg) { pci_read_config_byte(dev, e->reg, &tmp); tmp |= e->val; pci_write_config_byte(dev, e->reg, tmp); printk("%s: LINUXBIOS, so Jammed the enable on!\n", d->name); } #endif
So in the LINUXBIOS case you know that no BIOS was there to do things, so you just turn the IDE on.
I die on opening the initial console. That's the next barrier to multiuser boot. Any hints welcome .... I've attached my .config and the command line I'm using is:
command_line="root=/dev/hda1 serial=1,9600n8 console=ttyS1,9600";
I have to go back and look, But I think it should be:
command_line="root=/dev/hda1 serial=0,9600n8 console=ttyS0,9600";
Please let me know if you know ...
I'm putting a snapshot on the web page in a few minutes.
ron
Ronald G Minnich wrote:
Thanks to your help, I am now mounting root:
woo hoo!
Part of the problem was in my PCI config, another problem was I had to enable the IDE in Linux, as follows:
#define LINUXBIOS #ifndef LINUXBIOS if (e->reg && (pci_read_config_byte(dev, e->reg, &tmp) || (tmp & e->mask) != e->val)) continue; /* port not enabled */ #else /* force 'em on! */ if (e->reg) { pci_read_config_byte(dev, e->reg, &tmp); tmp |= e->val; pci_write_config_byte(dev, e->reg, tmp); printk("%s: LINUXBIOS, so Jammed the enable on!\n", d->name); } #endif
So in the LINUXBIOS case you know that no BIOS was there to do things, so you just turn the IDE on.
what is e->reg and e->val? is that PCI_COMMAND ?
I die on opening the initial console. That's the next barrier to multiuser boot. Any hints welcome .... I've attached my .config and the command line I'm using is:
command_line="root=/dev/hda1 serial=1,9600n8 console=ttyS1,9600";
The default is 9600/N/8/1. Just leave out everything except console=ttyS1
Comments:
* why do you define CONFIG_HOTPLUG in your kernel build? Unless you know you need it, it just wastes kernel space by not disposing of memory needed for hotplug drivers later in kernel life.
* you need to initialize the mobo serial ports. For example on a Via mobo, you need to set up the serial plug-n-play PCI config registers, otherwise the serial ports power up in a disabled state.
* consider getting a Matrox card, and using fbdev for your console (CONFIG_FB). AFAIK Matrox, and maybe ATI, not need BIOS init in order to produce video.
On Tue, 2 May 2000, Jeff Garzik wrote:
what is e->reg and e->val? is that PCI_COMMAND ?
No, there are IDE things. You need to set bits in the IDE interface in many chipsets to make it enabled. Rather than test these bits with e->reg, e->mask, and e->val, I just set them, since there is no BIOS.
command_line="root=/dev/hda1 serial=1,9600n8 console=ttyS1,9600";
The default is 9600/N/8/1. Just leave out everything except console=ttyS1
Should that be S0 though? L440GX only has one serial port.
- why do you define CONFIG_HOTPLUG in your kernel build? Unless you
know you need it, it just wastes kernel space by not disposing of memory needed for hotplug drivers later in kernel life.
I'll yank it. I thought at some point it would help my PCI woes.
- you need to initialize the mobo serial ports. For example on a Via
mobo, you need to set up the serial plug-n-play PCI config registers, otherwise the serial ports power up in a disabled state.
arg. OK, I'll look at this.
- consider getting a Matrox card, and using fbdev for your console
(CONFIG_FB). AFAIK Matrox, and maybe ATI, not need BIOS init in order to produce video.
Part #? I'll do it!
ron
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message
On Tue, 2 May 2000, Jeff Garzik wrote:
- you need to initialize the mobo serial ports. For example on a Via
mobo, you need to set up the serial plug-n-play PCI config registers, otherwise the serial ports power up in a disabled state.
will turning on the plug and play support in linux be sufficient?
- consider getting a Matrox card, and using fbdev for your console
(CONFIG_FB). AFAIK Matrox, and maybe ATI, not need BIOS init in order to produce video.
I've got one. I'll try it out.
ron
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message
Ronald G Minnich wrote:
On Tue, 2 May 2000, Jeff Garzik wrote:
- you need to initialize the mobo serial ports. For example on a Via
mobo, you need to set up the serial plug-n-play PCI config registers, otherwise the serial ports power up in a disabled state.
will turning on the plug and play support in linux be sufficient?
Nope... plug-n-play support depends on BIOS setup of a data area and PnP interface, AFAICS.
It depends on the hardware how much init you need for the legacy ISA devices like the serial ports. I mentioned "plug-n-play" in the message above only because that is the name for the Via-specific PCI config registers which determine the IRQ and I/O address of each serial port. It has only the slightest thing to do with BIOS<->OS Plug-n-Play interface.
Given your other message I would have thought this was a moot point? You seemed to imply that sercons was working... :)
On Tue, 2 May 2000, Jeff Garzik wrote:
Given your other message I would have thought this was a moot point? You seemed to imply that sercons was working... :)
Actually, I can't tell! :-)
ron
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message