home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Caldera Network Desktop 1.0
/
caldera-network-desktop-1.0.bin
/
images
/
ramdisk2.img
/
usr
/
lib
/
perl
/
mount_rh
< prev
next >
Wrap
Text File
|
1995-09-06
|
2KB
|
150 lines
# Mounts RHS stuff, either from CD or over NFS -*-perl-*-
# Only mount_rhs() and unmount_rhs() are interactive
# Entry point: mount_rhs()
# unmounts rhs stuff if it is mounted (ask first)
# ask NFS or CD
# NFS: if net not configed, config it
# ask for details and try mount
# CD: probe
# if fails, try again
##
## Variables
##
# $rh_mountpath is point at which to mount the device
# $rpppath is the path from $rh_mountpath to the rpp directory,
# which is used to verify that this is indeed RHS stuff
$rh_mountpath = "/image";
$rpppath = "rpps";
# This is, "CD", "NFS"
$rh_mounttype = "";
$rh_mountdevice = "";
$rh_mountdevicetype = "";
##
## Functions
##
sub mount_rhs {
local ($try_again, $ret);
if ($rh_available) { # we're probably testing stuff
return 1;
}
## Now get to the real stuff
if (! &rhs_menu("Base Install",
<<EOM
>
From where are you mounting the Red Hat distribution?
>
EOM
, 70, 2,
"CD", "CD-ROM Installation",
"NFS", "Network Installation" )) {
return 0;
}
$rh_mounttype = $dialog_result;
if ($rh_mounttype eq "NFS") {
$ret = &nfs_mount;
} elsif ($rh_mounttype eq "CD") {
$ret = &probe_rhs_cdrom;
} else {
# NOTREACHED !!
# Bad install style if we get here
print "mount_rhs(): Bad install style $rh_mounttype\n";
exit 1;
}
if (! $ret) {
&rhs_msgbox("Error",
<<EOM
>
Without access to the Red Hat Linux files the
install can not continue! Sorry.
>
EOM
, 50);
return 0;
}
return 1;
}
sub unmount_rhs {
if (! $rh_mounted) {
&rhs_msgbox("Error",
<<EOM
>
The Red Hat stuff does not appear to be mounted.
>
EOM
, 60);
return 1;
}
if (&__umount_rhs != 0) {
&rhs_msgbox("Error",
<<EOM
>
There was an error unmounting the Red Hat stuff.
Perhaps it was not really mounted.
>
EOM
, 60);
return 0;
}
if (! $express_install) {
&rhs_msgbox("Success",
<<EOM
>
Red Hat stuff unmounted successfully.
>
EOM
, 60);
}
return 1;
}
sub verify_rhs_files {
return -d "$rh_mountpath/RedHat";
}
sub finish_cd {
if ($rh_mounttype eq "CD") {
open(FD, ">>$fsmount/etc/fstab");
print FD
<<EOM
#
# Red Hat CD-ROM
#
EOM
;
printf(FD "%-30s %-15s %-6s %s\n", $rh_mountdevice, "/mnt/cdrom", "iso9660", "ro,noauto");
close FD;
symlink($rh_mountdevice, "$fsmount/dev/cdrom");
}
return 1;
}
############
1;