As soon as the installer gets to the point where it needs the first CD swap, asking:
"Please mount the Unreal Tournament 2003 Play Disc CDROM. Choose Yse to retry,
No to cancel"
I put in Disc One (I'm assuming that's the play disc) and hit "Yes". Now is when
the strange part happpens. It starts checking the floppy drive, and spits out:
"mount: /dev/fd0 is not a valid block device"
to the console. So I tried putting a floppy disc in there to see if it would
read that and move on. It just changed its message:
"Mounted device /dev/fd0
Unmounting device /dev/fd0"
Since bug #145 seemed somewhat similar to this, I tried commenting out other
entries in my /etc/fstab, and ended up trying just about every combonation
possible.. even commenting out every line BUT my CD-ROM, and nothing worked. In
fact, it seemed to ONLY check the floppy drive, because the error dialog popped
up immediately when that was commented out.
I'm running a fresh install of RedHat Linux 8.0. Don't know that hardware
matters for this issue, but I have:
Athlon XP 1900+
GeForce4 MX/420 AGP (Primary display)
GeForce2 MX/200 PCI (Secondary display)
Running v3123 of the NVIDIA drivers
Onboard sound on MSI KT3 Ultra-ARU motherboard
Please attach your /etc/fstab file to this bug report. Also, mount the CD, and
attach the output of "mount" with no command line options.
If you built your own kernel, please make sure it has Rock Ridge and Joliet
support (quick check is to see if the installer on disc three is named
"linux_in.sh" or "linux_installer.sh").
--ryan.
Actually, I found a way around this.
Kinda.
Previously, I was trying to run the installer directly from the CD (This should
be possible, yes? Has always seemed to work in the past for me.
As it turns out, I had to copy the linux_installer.sh to my hd, take out disc 3,
put in disc 1, and THEN run linux_installer.sh (At which point I encountered bug
#145 and ended up using his workaround). My kernel isn't custom built, just
default 2.4.18-14 which comes with RedHat 8.0.. it does have all needed
extensions for reading the CD properly. Going to attach /etc/fstab anyways
because, IMO, it's still a very not good thing.
I just noticed another related bug that may be causing some of the issues... and
I'm not sure where the blame for this lies, it may very possibly be on the
shoulders of automount, etc.
Install was going after above mentioned process
It finished with the first CD and asked for Disc One (Small mistake? Should have
asked for Disc Two). I hit the button on the drive to eject it, CD pops out
(Note: CD icon remained on Nautilus desktop. Hmm.), put in CD 2, hit "Yes", and
it doesn't find the CD. Hmm. Right-click CD icon on desktop, select "Eject".
Icon disappears. Push CD back in. Click "Yes", and it works that time.
We're having a lot of trouble with all things related to CD-mounting. I think we
(that is, the loki_setup development crew, not Epic) will have to overhaul this
part of the installer for future installations. There's just a ton of variables
that different distros and configurations bring to the table.
(As for the name of the disc it asks for, there was a miscommunication right
before we went gold, so the installer has the wrong names for the discs. It asks
for "play disc", "disc 1", "disc 2", when it _should_ ask for "disc 1", "disc
2", "disc 3"...this is harmless to the install process beyond being really
confusing.)
I'm flagging this bug as "resolved: worksforme" for lack of a better worded
resolution, since you managed to get the game installed. If you have more
trouble, don't hesistate to create a new bugzilla entry (or reopen this one, if
related).
--ryan.
The following is the text from my comment in bug #145 (which was marked a
duplicate of this) - just to keep all the info in one place. It explains why
the bug occurs, but no how to fix it...
(perhaps this bug should still be open?)
I can see the problem, but not sure how it could be fixed appropriately...
In the loki_setup CVS, version 1.39 of the detect.c file contains the code:
<pre>
/* Try to mount unmounted CDROM filesystems */
mountfp = setmntent( FSTAB, "r" );
if( mountfp != NULL ) {
while( (mntent = getmntent( mountfp )) != NULL ){
if ( !strcmp(mntent->mnt_type, MNTTYPE_CDROM)
#ifdef sgi
|| !strcmp(mntent->mnt_type, "cdfs")
#endif
|| !strcmp(mntent->mnt_type, "auto") ) {
char *fsname = strdup(mntent->mnt_fsname);
char *dir = strdup(mntent->mnt_dir);
if ( !is_fs_mounted(fsname)) {
if ( ! run_command(NULL, "mount", fsname, 1) ) {
add_mounted_entry(fsname, dir);
log_normal(_("Mounted device %s"), fsname);
}
}
free(fsname);
free(dir);
}
}
endmntent(mountfp);
}
</pre>
Obviously, it is trying to mount anything that has the fs type set to auto.
That's not really appropriate (esp. not for every file access!), however I don't
know a good way to single out only CDROM entries.
Under Redhat they are called /dev/cdrom, /dev/cdrom1 etc.
I don't know if they can be called other names (e.g. if someone had a SCSI/USB
cdrom drive called /dev/sda1 or something.)
Perhaps a special case can look for just /dev/cdromX entries and failing to find
any, or failing to find the install CD, can prompt the user to select the CDROM
device from a dropdown list?
Would the cdrecord program have any logic that can look at devices at a lower
level to find CDROM drives? (yuk!)
Hope this helps.
I'm noting this bug entry in the loki_setup Bugzilla (which is also hosted
here), since that is the appropriate place for it.
Also, we've been collecting installer workarounds in the Linux Gamers' FAQ:
http://icculus.org/lgfaq/#install
Every problem I'm aware of at this point can be fixed or gotten past with the
info in the LGFAQ (actually, 99% of them can be gotten around with the
SETUP_CDROM environment variable), but the loki_setup crew should look at the
referenced C code.
--ryan.
Yeah, back then when this CDROM detection code was written the "auto" type was
used only for CDROM devices on Mandrake. Since then other distros have adopted
it and used it for other devices, which makes it necesary for us to do
additional checks.
Maybe checking the automounter configuration in that case (quite hard to do) ?
Or just looking for known cdrom device names (not portable) ?
Suggestion: According to the FAQ, the installer copies itself to $TMPDIR so as
not to sit on the mount-point. At that point, could it determine which device
it is on and assume that is the CDROM drive?
Actually, that didn't work for me. A friend of mine suggested that during my
struggles to get the installer working, and it didn't work until I followed the
steps I described in comment #2. It's really because of a problem unmounting
drives, from what I've heard.
SETUP_CDROM may, however, fix the problems with bug #145.
Just a note. I had errors for each file install where the installer would try to
mount and unmount each fstab entry. I could have completed the install but it
would have taken days. So I tried the solutions in bug reports 145 & 147 with no
luck. Also the suggestions on http://icculus.org/lgfaq/#install yielded no result.
Finally I tried "export SETUP_CDROM=/media/cdrom/" and then ran a copy of the
CD3 linux_installer.sh from the same console window. It is currently installing
now with no hitches. If this is a "standard" linux knowledge thing then fair
enough, but just as a warning to other linux newbies, use the same console
window when setting the environment variable. Works better that way :)
Created attachment 23 [details] /etc/fstab Standard fstab, generated by install (I just installed RH8.0 yesterday)