LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Mandriva
User Name
Password
Mandriva This Forum is for the discussion of Mandriva (Mandrake) Linux.

Notices


Reply
  Search this Thread
Old 03-13-2007, 02:36 PM   #16
siweb
LQ Newbie
 
Registered: Aug 2003
Location: UK
Distribution: mandrake 10
Posts: 27

Original Poster
Rep: Reputation: 15

Here we go a big chuck of the rc.sysconfig file.

[quote author="siweb"]
Quote:
#!/bin/bash
#
# /etc/rc.d/rc.sysinit - run once at boot time
#
# Taken in part from Miquel van Smoorenburg's bcheckrc.

# Rerun ourselves through initlog
if [ -z "$IN_INITLOG" -a -x /sbin/initlog ]; then
exec /sbin/initlog $INITLOG_ARGS -r /etc/rc.d/rc.sysinit
fi

# Set the path
PATH=/bin:/sbin:/usr/bin:/usr/sbin
export PATH

HOSTNAME=`/bin/hostname`
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
else
NETWORKING=no
fi

# Read in config data.
if [ -f /etc/sysconfig/usb ]; then
. /etc/sysconfig/usb
fi

if [ -f /etc/sysconfig/system ]; then
. /etc/sysconfig/system
fi

if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
HOSTNAME=localhost
fi

. /etc/init.d/functions

# This must be done before anything else because now most messages
# are translated so we need correct system font very early
# This must be done before Aurora is started too, since screenchars
# --tty=foo is broken
# Note that if setting of system font fails here boot messages
# may be unreadable so we may need to reset LANGUAGE to C in this case
# Load system font
if [ -x /sbin/setsysfont ]; then
[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
if [ -n "$SYSFONT" ]; then
[ -f /etc/sysconfig/console/consolefonts/$SYSFONT.psf.gz -o \
-f /etc/sysconfig/console/consolefonts/$SYSFONT.psf ] || \
DELAYED_FONT=yes
fi
if [ -n "$SYSFONTACM" ]; then
[ -f /etc/sysconfig/console/consoletrans/$SYSFONTACM \
-o -f /etc/sysconfig/console/consoletrans/$SYSFONTACM.acm.gz \
-o -f /etc/sysconfig/console/consoletrans/$SYSFONTACM.acm ] || \
DELAYED_FONT=yes
fi
if [ -n "$UNIMAP" ]; then
[ -f /etc/sysconfig/console/consoletrans/$UNIMAP \
-o -f /etc/sysconfig/console/consoletrans/$UNIMAP.sfm.gz \
-o -f /etc/sysconfig/console/consoletrans/$UNIMAP.sfm ] || \
DELAYED_FONT=yes
fi
# We have to set font before printing message, so we cannot
# use ``action message command'' directly because it prints
# message before executing command
[ "$DELAYED_FONT" != "yes" -o -r /usr/lib/kbd/consolefonts ] && \
case "$LC_ALL$LC_CTYPE$LANG" in
*.utf8*|*.UTF-8*)
action "Setting default font ($SYSFONT): " /bin/unicode_start $SYSFONT
# this is done by unicode_start, but apparently "action"
# filters the output, so it has to be redone again
echo -n -e '\033%G'
;;
*)
CHbum bumT=${CHbum bumT=`locale charmap 2> /dev/null`}
case "$CHbum bumT" in
UTF-8)
action "Setting default font ($SYSFONT): " /bin/unicode_start $SYSFONT
# this is done by unicode_start, but apparently
# "action" filters the output, so it has to be redone
echo -n -e '\033%G'
;;
*)
action "Setting default font ($SYSFONT): " /sbin/setsysfont
;;
esac
;;
esac
fi

# Mount /proc (done here so volume labels can work with fsck)
action "Mounting proc filesystem" mount -n -t proc none /proc

# Do the following while waiting for an 'I' from the user...
{
# Print a banner.
# C-like escape sequences don't work as 2nd and up parameters of gprintf,
# so real escap chars were written
PRODUCT=`sed "s/.*release \([0-9.]*\).*/\1/g" /etc/mandrake-release 2> /dev/null`
SYSTEM=${SYSTEM=Mandrakelinux}
if [ "$BOOTUP" != "serial" ]; then
gprintf "\t\t\tWelcome to %s" "`echo -en '\\033[1;36m'`$SYSTEM`echo -en '\\033[0;39m'` $PRODUCT"
else
gprintf "\t\t\tWelcome to %s" "$SYSTEM $PRODUCT"
fi
echo -en "\r"
echo

if [ "$PROMPT" != "no" ]; then
gprintf "\t\tPress 'I' to enter interactive startup."
echo -en "\r"
echo
sleep 1
fi

# for 2.5 - mount sysfs if it is available
if [[ -d /sys ]] && grep -q sysfs /proc/filesystems; then
action "Mounting sysfs on /sys" mount -t sysfs none /sys
fi

# Try to get devfsd
if [ -c /dev/.devfsd ]; then
if [ -x /sbin/devfsd ]; then
action "Running DevFs daemon" devfsd /dev
else
if ! grep -q "nodevfsd" /proc/cmdline;then
# devfs is used but devfsd isn't installed
gprintf " #### your system is currently using devfs but devfsd isn't available"
gprintf " #### you should disable devfs (add 'devfs=nomount' to the paramaters"
gprintf " #### that your bootloader gives to the kernel"
# Let devfs being tested, but disable it on /dev
action " Disabling devfs (was mounted on /dev)" umount /dev
fi
fi
fi

# If brltty exist start it
[ -x /bin/brltty ] && action "Starting braille terminal" /bin/brltty

# If user was not fast enough he gets another chance
# before exiting rc.sysinit
kill -TERM `/sbin/pidof getkey` >/dev/null 2>&1
} &
if [ "$PROMPT" != "no" ]; then
/sbin/getkey i && export CONFIRM=yes
fi
wait


# Fix console loglevel
/bin/dmesg -n $LOGLEVEL

# Unmount the initrd, if necessary
# (pixel) do not unmount if /initrd/loopfs is mounted (happens for root loopback)
if LC_ALL=C grep -q /initrd /proc/mounts && ! LC_ALL=C grep -q /initrd/loopfs /proc/mounts ; then
if [ -e /initrd/dev/.devfsd ]; then
umount /initrd/dev
fi
action "Unmounting initrd: " umount /initrd
/sbin/blockdev --flushbufs /dev/ram0 >/dev/null 2>&1
fi

initsplash 5

# devfsd must run
rc_splash start 1

# Configure kernel parameters
action "Configuring kernel parameters: " sysctl -e -p /etc/sysctl.conf

rc_splash kernel 2

#
ARCH=$(/bin/uname -m)

# Set the system clock.
ARC=0
SRM=0
UTC=0

if [ -f /etc/sysconfig/clock ]; then
. /etc/sysconfig/clock

# convert old style clock config to new values
if [ "${CLOCKMODE}" = "GMT" ]; then
UTC=true
elif [ "${CLOCKMODE}" = "ARC" ]; then
ARC=true
fi
fi

CLOCKDEF=""
if [ "$ARCH" = "ppc" ];then
CLOCKFLAGS="$CLOCKFLAGS -s"
else
CLOCKFLAGS="$CLOCKFLAGS --hctosys"
fi

case "$UTC" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS --utc";
CLOCKDEF="$CLOCKDEF (utc)";
;;
no|false)
CLOCKFLAGS="$CLOCKFLAGS --localtime";
CLOCKDEF="$CLOCKDEF (localtime)";
;;
esac

case "$ARC" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS --arc";
CLOCKDEF="$CLOCKDEF (arc)";
;;
esac
case "$SRM" in
yes|true)
CLOCKFLAGS="$CLOCKFLAGS --srm";
CLOCKDEF="$CLOCKDEF (srm)";
;;
esac

if [ "$ARCH" = "alpha" -a -f /lib/modules/$(uname -r)/modules.dep ];then
/sbin/hwclock $CLOCKFLAGS
elif [ "$ARCH" != "alpha" ];then
/sbin/hwclock $CLOCKFLAGS
fi

action "Setting clock %s: %s" "$CLOCKDEF" "`date`" date

rc_splash clock 3

if [ "`/sbin/consoletype`" = "vt" -a -x /bin/loadkeys ]; then
KEYTABLE=
KEYMAP=
if [ -f /etc/sysconfig/console/default.kmap ]; then
KEYMAP=/etc/sysconfig/console/default.kmap
else
if [ -f /etc/sysconfig/keyboard ]; then
. /etc/sysconfig/keyboard
fi
if [ -n "$KEYTABLE" -a -d /usr/lib/kbd/keymaps -o -d /lib/kbd/keymaps ]; then
KEYMAP=$KEYTABLE
fi
fi
if [ -n "$KEYMAP" ]; then
# Since this takes in/output from stdin/out, we can't use initlog
if [ -n "$KEYTABLE" ]; then
gprintf "Loading default keymap (%s): " $KEYTABLE
else
gprintf "Loading default keymap: "
fi
loadkeys $KEYMAP < /dev/tty0 > /dev/tty0 2>/dev/null && \
success "Loading default keymap" || failure "Loading default keymap"
echo
fi
fi

# Set the hostname.
action "Setting hostname %s: " ${HOSTNAME} hostname ${HOSTNAME}

# Set the NIS domain name
if [ -n "$NISDOMAIN" ]; then
action "Setting NIS domain name %s: " $NISDOMAIN nisdomainname $NISDOMAIN
fi

# Load usb now to be able to use an usb keyboard to answer questions
if ! LC_ALL=C grep -iq "nousb" /proc/cmdline 2>/dev/null && ! LC_ALL=C grep -iq "usb" /proc/devices 2>/dev/null ; then
/etc/init.d/usb start
fi

if [ -f /fastboot ] || LC_ALL=C grep -iq "fastboot" /proc/cmdline 2>/dev/null ; then
fastboot=yes
else
fastboot=
fi

if [ -r /etc/sysconfig/init ]; then
. /etc/sysconfig/init
fi

if [ "$FSCKOPTIONS" ]; then
fsckoptions="$FSCKOPTIONS"
else
fsckoptions=
fi


if [ -f /forcefsck ]; then
fsckoptions="-f $fsckoptions"
elif [ -f /.autofsck ]; then
rc_splash verbose
gprintf "Your system appears to have shut down uncleanly\n"
AUTOFSCK_TIMEOUT=5
[ -f /etc/sysconfig/autofsck ] && . /etc/sysconfig/autofsck
if [ "$AUTOFSCK_DEF_CHECK" = "yes" ]; then
AUTOFSCK_OPT=-f
fi

if [ "$PROMPT" != "no" ]; then
if [ "$AUTOFSCK_DEF_CHECK" = "yes" ]; then
MSG=`gprintf "Press N within %%d seconds to not force file system integrity check..."`
KEYS=`gprintf "nN"`
if /sbin/getkey -c $AUTOFSCK_TIMEOUT -m "$MSG" "$KEYS" ; then
AUTOFSCK_OPT=
else
echo
fi
else
MSG=`gprintf "Press Y within %%d seconds to force file system integrity check..."`
KEYS=`gprintf "yY"`
if /sbin/getkey -c $AUTOFSCK_TIMEOUT -m "$MSG" "$KEYS" ; then
AUTOFSCK_OPT=-f
else
echo
fi

fi
echo
else
# PROMPT not allowed
if [ "$AUTOFSCK_DEF_CHECK" = "yes" ]; then
gprintf "Forcing file system integrity check due to default setting\n"
else
gprintf "Not forcing file system integrity check due to default setting\n"
fi
fi
fsckoptions="$AUTOFSCK_OPT $fsckoptions"
fi

if [ "$BOOTUP" = "color" ]; then
fsckoptions="-C $fsckoptions"
else
fsckoptions="-V $fsckoptions"
fi

Fsck()
{ initlog -c "/sbin/fsck $*"
rc=$?

if [ $rc -gt 3 ]; then
rc_splash verbose
gprintf "Failed to check filesystem. Do you want to repair the errors? (Y/N)\n"
gprintf "(beware, you can lose data)\n"
read answer

if strstr "yY" "$answer" ; then
opts=`echo "$* " | sed 's/-a //'`
initlog -c "/sbin/fsck $opts -y"
rc=$?
fi
fi

if [ "$rc" = "0" ]; then
echo_success
echo
elif [ "$rc" = "1" ]; then
echo_passed
echo
if [ -x /sbin/quotacheck ]; then
_RUN_QUOTACHECK=1
fi
# A return of 2 or higher means there were serious problems.
elif [ $rc -gt 1 ]; then
if [ $rc -gt 3 ]; then
rc_splash verbose
echo_failure
echo
echo
gprintf "*** An error occurred during the file system check.\n"
gprintf "*** Dropping you to a shell; the system will reboot\n"
gprintf "*** when you leave the shell.\n"

str=`gprintf "(Repair filesystem)"`
PS1="$str \# # "; export PS1
sulogin
else
echo_passed
fi
gprintf "Unmounting file systems\n"
umount -a
mount -n -o remount,ro /
gprintf "Automatic reboot in progress.\n"
reboot -f
fi
}

_RUN_QUOTACHECK=0
ROOTFSTYPE=`awk '/ \/ / && ($3 !~ /rootfs/) { print $3 }' /proc/mounts`
if [ -z "$fastboot" -a "X$ROOTFSTYPE" != "Xnfs" ]; then

gprintf "Checking root filesystem\n"
Fsck -T -a $fsckoptions /
fi


rc_splash fsck 4

# Possibly update quotas if fsck was run on /.
LC_ALL=C grep -E '[[:space:]]+/[[:space:]]+' /etc/fstab | \
awk '{ print $4 }' | \
LC_ALL=C grep -q quota
_ROOT_HAS_QUOTA=$?
if [ X"$_RUN_QUOTACHECK" = X1 -a \
"$_ROOT_HAS_QUOTA" = "0" -a \
-x /sbin/quotacheck ]; then
if [ -x /sbin/convertquota ]; then
if [ -f /quota.user ]; then
action "Converting old user quota files: " \
/sbin/convertquota -u / && rm -f /quota.user
fi
if [ -f /quota.group ]; then
action "Converting old group quota files: " \
/sbin/convertquota -g / && rm -f /quota.group
fi
fi
action "Checking root filesystem quotas: " /sbin/quotacheck -nug /
fi

if [ -x /sbin/isapnp -a -f /etc/isapnp.conf -a ! -f /proc/isapnp ]; then
# check for arguments passed from kernel
if ! LC_ALL=C grep -iq nopnp /proc/cmdline >/dev/null 2>&1 ; then
PNP=yes
fi
if [ -n "$PNP" ]; then
action "Setting up ISA PNP devices: " /sbin/isapnp /etc/isapnp.conf
else
action "Skipping ISA PNP configuration at users request: " /bin/true
fi
fi

# Remount the root filesystem read-write.
state=`awk '/ \/ / && ($3 !~ /rootfs/) { print $4 }' /proc/mounts`
[ "$state" != "rw" ] && \
action "Remounting root filesystem in read-write mode: " mount -n -o remount,rw /

# LVM initialization
if [ -f /etc/lvm/lvm.conf -a -x /sbin/lvm2 ]; then
grep -q -s 'device-mapper' /proc/devices /proc/misc || modprobe dm-mod >/dev/null 2>&1

if grep -q -s 'device-mapper' /proc/devices /proc/misc; then
if [ -c /dev/.devfsd ]; then
_vgscan_cmd=/bin/true
else
_vgscan_cmd="/sbin/lvm2 vgmknodes"
fi
_vgchange_cmd="/sbin/lvm2 vgchange -a y"
fi
fi

if [ -z "${_vgscan_cmd}" -a -f /etc/lvmtab ] ; then
[ -e /proc/lvm ] || modprobe lvm-mod >/dev/null 2>&1

if [ -e /proc/lvm -a -x /sbin/lvm1-vgchange ]; then
_vgscan_cmd="/sbin/lvm1-vgscan"
_vgchange_cmd="/sbin/lvm1-vgchange -a y"
elif [ -e /proc/lvm -a -x /sbin/vgchange ]; then
_vgscan_cmd="/sbin/vgscan"
_vgchange_cmd="/sbin/vgchange -a y"
fi
fi

if [ -n "${_vgscan_cmd}" ]; then
action "Setting up Logical Volume Management:" ${_vgscan_cmd} && ${_vgchange_cmd}
fi

# Start up swapping. #we don't do encryted swap now since
# (pixel) it was done between setting keytable and setting hostname
# but it can't be done before "vgchange -a y",
# which can't be done before "vgscan" (which writes to /etc/lvmtab)
# which can't be done before re-mounting rw /
action "Activating swap partitions: " swapon -a -e

rc_splash swap 5

# Clear mtab
>/etc/mtab

# Remove stale backups
rm -f /etc/mtab~ /etc/mtab~~

# Enter root, /proc and (potentially) /proc/bus/usb and devfs into mtab.
# (pixel) also added /initrd/loopfs for loopback root
mount -f /initrd/loopfs 2>/dev/null
mount -f /
mount -f /proc
if [ -f /proc/bus/usb/devices ]; then
if grep -q usbfs /proc/mounts; then
mount -f -t usbfs none /proc/bus/usb
elif grep -q usbdevfs /proc/mounts; then
mount -f -t usbdevfs none /proc/bus/usb
fi
fi
[ -e /dev/.devfsd ] && mount -f -t devfs none /dev
# add /sys if mounted
[ -d /sys/devices ] && mount -f -t sysfs none /sys



# The root filesystem is now read-write, so we can now log
# via syslog() directly..
if [ -n "$IN_INITLOG" ]; then
IN_INITLOG=
fi

if ! LC_ALL=C grep -iq nomodules /proc/cmdline 2>/dev/null && [ -f /proc/modules ]; then
USEMODULES=y
fi

# Our modutils don't support it anymore, so we might as well remove
# the preferred link.
rm -f /lib/modules/preferred /lib/modules/default

# tweak isapnp settings if needed.
if [ -n "$PNP" -a -f /proc/isapnp -a -x /sbin/sndconfig ]; then
/sbin/sndconfig --mungepnp >/dev/null 2>&1
fi

# Load sound modules if and only if they need persistent DMA buffers
if LC_ALL=C /sbin/modprobe -c | grep -q "^[^#]*options sound dmabuf=1" 2>/dev/null ; then
RETURN=0
alias=`/sbin/modprobe -c | awk '/^alias sound / { print $3 }'`
if [ -n "$alias" -a "$alias" != "off" ]; then
action "Loading sound module (%s): " $alias modprobe sound
RETURN=$?
fi
alias=`/sbin/modprobe -c | awk '/^alias sound-slot-0 / { print $3 }'`
if [ -n "$alias" -a "$alias" != "off" ]; then
action "Loading sound module (%s): " $alias modprobe sound-slot-0
RETURN=$?
fi
fi

if [ -f /proc/sys/kernel/modprobe ]; then
if [ -n "$USEMODULES" ]; then
sysctl -n -w kernel.modprobe="/sbin/modprobe" >/dev/null 2>&1
sysctl -n -w kernel.hotplug="/sbin/hotplug" >/dev/null 2>&1
else
# We used to set this to NULL, but that causes 'failed to exec' messages"
sysctl -n -w kernel.modprobe="/bin/true" >/dev/null 2>&1
sysctl -n -w kernel.hotplug="/bin/true" >/dev/null 2>&1
fi
fi

# Load modules (for backward compatibility with VARs)
if [ -x /etc/rc.d/rc.modules ]; then
/etc/rc.d/rc.modules
fi

# If they asked for ide-scsi, load it
# This must come before hdparm call because if hdd=ide-scsi
# /dev/hdd is inaccessible until ide-scsi is loaded
if grep -q "ide-scsi" /proc/cmdline ; then
modprobe ide-cd >/dev/null 2>&1
modprobe ide-scsi >/dev/null 2>&1
fi

if [ -f /etc/raidtab ]; then
# Add raid devices
[ -f /proc/mdstat ] || modprobe md >/dev/null 2>&1
elif grep -q -s '^[[:space:]]*ARRAY[[:space:]]' /etc/mdadm.conf; then
# Add raid devices
[ -f /proc/mdstat ] || modprobe md >/dev/null 2>&1
if [ -f /proc/mdstat -a -x /sbin/mdadm ]; then
gprintf "Starting up RAID devices: "
/sbin/mdadm -A -s
if [ $? -gt 0 ]; then
echo
gprintf "*** An error occurred during the RAID startup\n"
gprintf "*** If it is critical the boot process will stop\n"
gprintf "*** when trying to mount filesystems. Else check\n"
gprintf "*** /etc/mdadm.conf for obsolete ARRAY entries\n"
else
echo OK
fi

fi

fi
if [ -f /etc/raidtab -a -f /proc/mdstat ]; then

gprintf "Starting up RAID devices: "

rc=0

for i in `awk '{if ($1=="raiddev") print $2}' /etc/raidtab`
do
RAIDDEV=`basename $i`
RAIDSTAT=`LC_ALL=C grep "^$RAIDDEV : active" /proc/mdstat`
if [ -z "$RAIDSTAT" ]; then
# First scan the /etc/fstab for the "noauto"-flag
# for this device. If found, skip the initialization
# for it to avoid dropping to a shell on errors.
# If not, try raidstart...if that fails then
# fall back to raidadd, raidrun. If that
# also fails, then we drop to a shell
RESULT=1
INFSTAB=`LC_ALL=C grep -c "^$i" /etc/fstab`
if [ $INFSTAB -eq 0 ] ; then
RESULT=0
RAIDDEV="$RAIDDEV(skipped)"
fi
NOAUTO=`LC_ALL=C grep "^$i" /etc/fstab | LC_ALL=C grep -c "noauto"`
if [ $NOAUTO -gt 0 ]; then
RESULT=0
RAIDDEV="$RAIDDEV(skipped)"
fi
if [ $RESULT -gt 0 -a -x /sbin/raidstart ]; then
/sbin/raidstart $i
RESULT=$?
fi
if [ $RESULT -gt 0 -a -x /sbin/raid0run ]; then
/sbin/raid0run $i
RESULT=$?
fi
if [ $RESULT -gt 0 -a -x /sbin/raidadd -a -x /sbin/raidrun ]; then
/sbin/raidadd $i
/sbin/raidrun $i
RESULT=$?
fi
if [ $RESULT -gt 0 ]; then
rc=1
fi
echo -n "$RAIDDEV "
else
echo -n "$RAIDDEV "
fi
done
echo

# A non-zero return means there were problems.
if [ $rc -gt 0 ]; then
local str=
echo
echo
gprintf "*** An error occurred during the RAID startup\n"
gprintf "*** Dropping you to a shell; the system will reboot\n"
gprintf "*** when you leave the shell.\n"

str=`gprintf "(RAID Repair)"`
PS1="$str \# # "; export PS1
sulogin

gprintf "Unmounting file systems\n"
umount -a
mount -n -o remount,ro /
gprintf "Automatic reboot in progress.\n"
reboot -f
fi
fi

# LVM initialization, take 2 (it could be on top of RAID)
if [ -n "${_vgscan_cmd}" ]; then
action "Setting up Logical Volume Management:" ${_vgscan_cmd} && ${_vgchange_cmd}
fi

if [ -x /sbin/devlabel ]; then
/sbin/devlabel restart
fi

_RUN_QUOTACHECK=0
# Check filesystems
# (pixel) do not check loopback files, will be done later (aren't available yet)
if [ -z "$fastboot" ]; then
gprintf "Checking filesystems\n"
Fsck -T -R -A -a -t noopts=loop $fsckoptions
fi

# (stew) since we're defaulting to ext3 now, and kernel22 doesn't
# support it yet - mount ext3 partitions as ext2 for kernel22
# mkinitrd covers the case for rootfs as ext3

IS22=$(/bin/uname -r | /bin/grep '^2\.2')

if [ -n "$IS22" ]; then
for i in `grep ext3 /etc/fstab | grep defaults | awk '{print $1}'`
do
mntpt=`grep "^$i" /etc/fstab | awk '{print $2}'`
if [ "$mntpt" != "/" ]; then
gprintf "Mount $i on $mntpt as ext2 for kernel22"
mount $i $mntpt -text2
if [ "$rc" = "0" ]; then
echo_success
echo
elif [ "$rc" = "1" ]; then
echo_passed
echo
fi
fi
done
fi

# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# (pixel) also do not mount loopback, will be done later
action "Mounting local filesystems: " mount -a -t nonfs,smbfs,ncpfs -O no_netdev,noloop,noencrypted

rc_splash mount 6

[[ -z $AUTOFSCK_CRYPTO_TIMEOUT ]] && AUTOFSCK_CRYPTO_TIMEOUT=15

#Mounting Encrypted filesystem
encrypted_swap=
if [[ ! -f /fastboot ]];then
encrypted=
while read -a entry;do
device=${entry[0]}
mountpoint=${entry[1]}
options=${entry[3]}
type=${entry[2]}
if [[ $options == *encryption=* || $options == *encrypted* ]];then
[[ $options == *noauto* ]] && continue
if [[ $type == *swap* ]];then
encrypted_swap="$encrypted_swap $device"
continue
fi
encrypted="$encrypted $mountpoint"
fi
done < /etc/fstab
if [[ -n $encrypted ]];then
rc_splash verbose
echo "We have discovered Encrypted filesystems, do you want to mount them now ?"
MSG=`gprintf "Press Y within %d seconds to mount your encrypted filesystems..."`
KEYS=`gprintf "yY"`
if /sbin/getkey -c $AUTOFSCK_CRYPTO_TIMEOUT -m "$MSG" "$KEYS"; then
echo -e '\n'
for i in ${encrypted};do
echo -n "${i} "; mount ${i}
done
else
echo -e '\n'
fi
fi
fi

# (pixel) Check loopback filesystems
if [ ! -f /fastboot ]; then
gprintf "Checking loopback filesystems"
Fsck -T -R -A -a -t opts=loop $fsckoptions
if [ "$rc" = "0" ]; then
echo_success
echo
elif [ "$rc" = "1" ]; then
echo_passed
echo
fi

# A return of 2 or higher means there were serious problems.
if [ $rc -gt 1 ]; then
rc_splash verbose
echo_failure
echo
echo
gprintf "*** An error occurred during the file system check.\n"
gprintf "*** Dropping you to a shell; the system will reboot\n"
gprintf "*** when you leave the shell.\n"

PS1="(Repair filesystem) \#"; export PS1
sulogin

gprintf "Unmounting file systems\n"
umount -a
mount -n -o remount,ro /
gprintf "Automatic reboot in progress.\n"
reboot -f
elif [ "$rc" = "1" -a -x /sbin/quotacheck ]; then
action "Checking filesystem quotas: " /sbin/quotacheck -v -R -a
fi
fi

# Mount loopback
action "Mounting loopback filesystems: " mount -a -O loop

rc_splash i18n 7

# Reset pam_console permissions
rm -rf /var/run/console.lock /var/run/console/*

# at this point everything should be mounted; if the loading
# of the system font failed, try again
if [ "$DELAYED_FONT" = "yes" ]; then
if [ -x /sbin/setsysfont ]; then
[ -f /etc/sysconfig/i18n ] && . /etc/sysconfig/i18n
CHbum bumT=`locale charmap`
case "$CHbum bumT" in
UTF-8)
action "Setting default font ($SYSFONT): " /bin/unicode_start $SYSFONT
;;
*)
action "Setting default font ($SYSFONT): " /sbin/setsysfont
;;
esac
fi
fi
for i in 2 3 4 5 6; do
> /dev/tty$i 2> /dev/null
done

if [ -x /etc/rc.d/init.d/keytable -a -d /usr/lib/kbd/keymaps ]; then
/etc/rc.d/init.d/keytable start
fi

# check remaining quotas other than root
if [ X"$_RUN_QUOTACHECK" = X1 -a -x /sbin/quotacheck ]; then
if [ -x /sbin/convertquota ]; then
# try to convert old quotas
for mountpt in `awk '$4 ~ /quota/{print $2}' /etc/mtab` ; do
if [ -f "$mountpt/quota.user" ]; then
action "Converting old user quota files: " \
/sbin/convertquota -u $mountpt && \
rm -f $mountpt/quota.user
fi
if [ -f "$mountpt/quota.group" ]; then
action "Converting old group quota files: " \
/sbin/convertquota -g $mountpt && \
rm -f $mountpt/quota.group
fi
done
fi
action "Checking local filesystem quotas: " /sbin/quotacheck -aRnug
fi
 
Old 03-13-2007, 02:46 PM   #17
Emmanuel_uk
Senior Member
 
Registered: Nov 2004
Distribution: Mandriva mostly, vector 5.1, tried many.Suse gone from HD because bad Novell/Zinblows agreement
Posts: 1,606

Rep: Reputation: 53
Line 93 you are probably unable to mount /proc
but as to why...
Line 93:
action "Mounting proc filesystem" mount -n -t proc none /proc
 
Old 03-13-2007, 03:00 PM   #18
siweb
LQ Newbie
 
Registered: Aug 2003
Location: UK
Distribution: mandrake 10
Posts: 27

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by Emmanuel_uk
Line 93 you are probably unable to mount /proc
but as to why...
Line 93:
action "Mounting proc filesystem" mount -n -t proc none /proc
what is proc?

Just when i thought i was getting the hang of linux..

Last edited by siweb; 03-13-2007 at 03:08 PM.
 
Old 03-14-2007, 03:03 PM   #19
siweb
LQ Newbie
 
Registered: Aug 2003
Location: UK
Distribution: mandrake 10
Posts: 27

Original Poster
Rep: Reputation: 15
sorted it, reinstalled in the end.

there was nothing in the /proc folder.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can only connect to internet if 1st boot into XP then restart & boot into Suse 10.1 axarq Linux - Networking 6 08-03-2006 08:33 PM
Noob:Mandrake 10.1 Hangs on 1st boot martynguk2002 Linux - Newbie 1 11-01-2005 09:40 AM
1st boot freeze mandrake 9.2 markatsalsa Linux - Laptop and Netbook 3 01-26-2004 02:26 PM
Problem with 1st time boot of RH8 jillyt Linux - Newbie 5 01-02-2004 09:33 AM
1st boot login problem matsat Linux - Newbie 2 06-25-2003 01:14 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Mandriva

All times are GMT -5. The time now is 11:08 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration