On 16/09/10 21:30, J. Roeleveld wrote: > On Thursday 16 September 2010 12:01:43 Jake Moe wrote: >> On 09/16/10 16:22, J. Roeleveld wrote: >>> On Thursday 16 September 2010 00:34:39 Jake Moe wrote: >>>> On 16/09/10 08:26, Dale wrote: >>>>> Jake Moe wrote: >>>>>> Thanks for that, I'll rebuild the genkernel with blkid support. >>>>>> >>>>>> As to the second suggestion, there is *no* /dev/sda1 (the partition in >>>>>> question). It just doesn't exist for some reason. However, fstab >>>>>> shows that it's mounted, and /sys/block has entries for the disk, so >>>>>> I'm not sure why it's dropped out. I'm guessing it has something to >>>>>> do with udevd, or uevents? Because shortly before that, I tell it to >>>>>> find the root partition at /dev/sda1, and it starts to boot, but then >>>>>> it loses it. >>>>>> >>>>>> Jake Moe >>>>> The file fstab doesn't show what is mounted. Either use the command >>>>> "mount" with no options or cat /etc/mtab to see what is actually >>>>> mounted. >>>>> >>>>> Dale >>>>> >>>>> :-) :-) >>>> Gah, it's too early. That's what I meant to say (and previously said in >>>> my original post): when I run "mount", it shows /dev/sda1 is mounted on >>>> /. >>>> >>>> Jake Moe >>> I wonder if it looses the "/dev" tree when it mounts the root-partition >>> read only prior to running the fsck. >>> That could explain why it's not there. >>> >>> Try building a dummy /dev-tree on your root partition with the correct >>> device- nodes hardcoded for /dev/sdxxxxxx and see how far you get then? >>> >>> -- >>> Joost >> Erm, you've gone a bit beyond my knowledge there. Are you saying I >> should go into the maintenance console, create a dummy /devdir, and try >> to mknod the hard drive? I assume I'd use something like 'mknod >> /dev/sda c 8 0'? If not, what do you mean, cause you've lost me. >> >> Jake Moe > Ok, what I mean is that I think the following might happen: > > 1) root-dir from ramdisk is mounted under / > 2) dev-tree is mounted under /dev > 3) /dev/sda1 is mounted under / > 4) at this point, /dev might no longer be accessible. > > Now, if you make sure that on the USB-root (/dev/sda1) the folder /dev is > actually populated, then it might continue through the boot-process. > > Or, as you mentioned, issue "mknod ......." commands while in that > maintenance console, then it might be able to find the /dev/sda, > /dev/sda1,... > devices and continue. > > Please bear in mind, I have not actually used nor needed a ramdisk to boot > from ever since I started using Gentoo. > Not even when I played with booting from USB-sticks myself. > I simply build the kernel with all the necessary drivers compiled-in and used > that to boot from. > > This might also be an idea for you? > > -- > Joost > > Eg. if you do the mknod-commands to build the /dev/sda, /dev/sda1,.... device > nodes, then it should be able to continue. > Well, I've finally gotten this to work with a manually config'ed kernel. Before, I was only getting kernel panics. Now, after your comment "all compiled-in", I took the old config I tried, did a sed to change all "=m" to "=y", and recompiled, and it worked. So obviously, there was some option that I wasn't building into the kernel (only as a module) that was needed to start from USB.
I had previously started from a working config I had previously used for the same model PC that I was doing my testing on, and just changed the USB drivers from modules to built-in, but apparently that's not enough. Any ideas what else is needed for a USB-stick boot that's not needed in a SATA boot? I'd like to a) find out what I missed, and b) be able to cull the kernel back down again, so I can build up lots of SATA, graphics and audio modules to make this able to boot (and work properly) on other systems. Jake Moe