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.