Chris Lumens wrote:
--- nfsinstall.c.orig 2008-04-11 11:16:06.000000000 -0500 +++ nfsinstall.c 2008-04-11 11:21:23.000000000 -0500 @@ -110,7 +110,7 @@enum { NFS_STAGE_NFS, NFS_STAGE_MOUNT, NFS_STAGE_DONE } stage = NFS_STAGE_NFS; - int rc, tmp, foundinvalid = 0;+ int rc, tmp, foundinvalid = 0, stg2cd = 0;/* JKFIXME: ASSERT -- we have a network device setup when we get here */while (stage != NFS_STAGE_DONE) { @@ -169,7 +169,7 @@ _("Local installation media detected..."), 0); sleep(3); newtPopWindow(); - + stg2cd = 1; tmp = asprintf(&fullPath, "%s:%s", host, directory);if ((buf = isNfsIso(fullPath, mountOpts, &foundinvalid, 0)) != NULL)Hm, I don't this this is quite right. In this block where we set stg2cd, we then break out and bypass all the copying stuff later on. At this point we have the stage2 image on the CD mounted as well.
Yea, you have too, the path that is fed to "buf" is wrong. The boot.iso is mounted, but at /mnt/stage2/... I don't think the patch bypasses the coping later, the path /mnt/stage2/images/stage2.img, is used as the source for the copy to /tmp, is passed to "buf" if findanacondaCD returned true setting stg2cd to "1".
It sounds to me like in this case, loader is setting up /mnt/runtime or wherever as the mount point for stage2, but later on systemMounted thinks it's under /mnt/source and that's what's causing the error. Agreed?
Yes, it is looking at /mnt/source, but the boot media is mounted at /mnt/stage2/ using findanacondaCD, which mounted /mnt/runtime "without" doing the copy stage2 to /tmp first....
Does stage2 have to live in /tmp at all? (yes for ftp/http) It's running directly from the cdrom here and you seem to be fine with that.In that case we either need to make systemMounted smarter and know that /mnt/runtime could be mounted, in which case it shouldn't do anything, or we need to play with stuff in loader to move the stage2 image around. I know which I prefer. - Chris
Jerry