3
# Provides: scsitools-pre
4
# Required-Start: mountdevsubfs
6
# X-Start-Before: checkroot
9
# Short-Description: Create aliases for SCSI devices under /dev/scsi
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).
17
# Written by Eric Delaunay <delaunay@debian.org> based on sources found in
18
# scsidev 2.10 from Kurt Garloff <garloff@suse.de>.
22
scsidevrw=0 # is /dev/scsi writable at boot time?
23
needscsidev=0 # is scsidev needed at all?
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
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
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
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?"
58
echo "Setting up SCSI devices..."
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."
69
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
74
unset needscsidev scsidevrw