~upstart-devel/upstart/upstart-jobs

« back to all changes in this revision

Viewing changes to vivid/etc/init.d/scsitools-pre.sh

  • Committer: Dimitri John Ledkov
  • Date: 2014-11-19 12:58:41 UTC
  • Revision ID: dimitri.j.ledkov@intel.com-20141119125841-98dr37roy8dvcv3b
auto update

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
### BEGIN INIT INFO
 
3
# Provides:          scsitools-pre
 
4
# Required-Start:    mountdevsubfs
 
5
# Required-Stop:
 
6
# X-Start-Before:    checkroot
 
7
# Default-Start:     S
 
8
# Default-Stop:
 
9
# Short-Description: Create aliases for SCSI devices under /dev/scsi
 
10
### END INIT INFO
 
11
#
 
12
# This script is run early at boot time (before S10checkroot.sh), so / is not
 
13
# yet writable.  Therefore it is needed to set up a ramdisk for /dev/scsi.
 
14
# The ramdisk will be removed later, after / has been remounted rw and swap
 
15
# activated (see scsitools.sh).
 
16
#
 
17
# Written by Eric Delaunay <delaunay@debian.org> based on sources found in
 
18
# scsidev 2.10 from Kurt Garloff <garloff@suse.de>.
 
19
#
 
20
# Licensed under GPL.
 
21
 
 
22
scsidevrw=0         # is /dev/scsi writable at boot time?
 
23
needscsidev=0       # is scsidev needed at all?
 
24
 
 
25
 
 
26
# if no mount points on /dev/scsi in /etc/fstab, scsidev might be not needed
 
27
# NB: does not work with devfs
 
28
if [ ! -e /dev/.devfsd ]; then
 
29
    if grep -q '^/dev/scsi' /etc/fstab; then
 
30
        needscsidev=1
 
31
    fi
 
32
fi
 
33
 
 
34
# check for writable /dev/scsi
 
35
if [ $needscsidev -eq 1 ]; then
 
36
    : 2> /dev/null > /dev/scsi/__try || true
 
37
    if [ -f /dev/scsi/__try ]; then
 
38
        scsidevrw=1
 
39
        rm -f /dev/scsi/__try
 
40
    fi
 
41
fi
 
42
 
 
43
case "$1" in
 
44
start)
 
45
    if [ -x /sbin/scsidev -a "$needscsidev" = 1 ]; then
 
46
        if [ "$scsidevrw" = 0 ]; then
 
47
            echo "Setting up SCSI devices (first part)..."
 
48
            # /dev is not writable, setup a small ramdisk (128kB)
 
49
            # (ignore all errors in case there is no ramdisk support compiled
 
50
            # in the kernel).
 
51
            dd if=/dev/zero of=/dev/ram3 bs=1024 count=128 > /dev/null 2>&1
 
52
            mke2fs -q -F -i1024 -g4096 /dev/ram3 128 > /dev/null 2>&1
 
53
            mount -n -t ext2 /dev/ram3 /dev/scsi > /dev/null 2>&1
 
54
            if [ ! -d /dev/scsi/lost+found ]; then
 
55
                echo "Error creating ramdisk on /dev/scsi.  Is ramdisk supported by the kernel?"
 
56
            fi
 
57
        else
 
58
            echo "Setting up SCSI devices..."
 
59
        fi
 
60
        /sbin/scsidev -r -q
 
61
    fi
 
62
    ;;
 
63
reload | restart | force-reload | stop)
 
64
    echo "This script is not designed to work with <$0> argument."
 
65
    echo "Use /etc/init.d/scsitools.sh instead."
 
66
    exit 1
 
67
    ;;
 
68
*)
 
69
    echo "Usage: $0 {start|stop|restart|reload|force-reload}"
 
70
    exit 1
 
71
    ;;
 
72
esac
 
73
 
 
74
unset needscsidev scsidevrw
 
75