Actually you shouldn't need the "init=" line. What you most likely have wrong is you don't have the boot (/boot) or root (/) partitions right. On my setup I have this:
The "root (hd0,2)" is actually the partition where the kernel and boot loader reside and happens to be my "/boot" partition on /dev/hda3 which = (hd0,2). That tells grub where the kernel is. The kernel is passed parameters to know where the root (/) partition is "root=LABEL=/". In my case I have my file system on "/dev/hda7" labeled "/" so the kernel knows that the file system labeled "/" is to become the root file system. I could also have used "root=/dev/hda7" and it should work. You can check the label of the filesystem by typing "/sbin/tune2fs -l /dev/hda7 | grep volume".
So to summarize, use the "root (hdx,x)" in grub.conf to specify the partition that your "/boot" directory resides. Then pass the location of your root (/) partition to the kernel as a parameter.
[ October 19, 2002: Message edited by: void main ]