using a firewire disk under linux is not trivial, but it does work
reliably and repeatably.  i am quite satisfied with the operation.

in my setup, i am running a sony vaio laptop, pcg-xg29k, with redhat
7.3.  i have a maxtor 1394 external 80G drive connected to the vaio.

the steps i've taken to make this work are:

1.  turn off plug and play in the bios.

2.  power on the external disk before the computer.

3.  create a mount point for the drive.

4.  after boot and subsequent login, i run my startup script,
mount-firewire.  you'll need to modify it for your installation.
(could be put into /etc/rc.d/rc.local.)

5.  mount-firewire, in turn, calls rescan-scsi-bus.sh.  (you'll read
about it in the 1394 project pages howto's.)

6.  optional:  nfs serve the volume to other nfs clients.  or samba
share the volume, etc.

i've included a list of some firewire url's and the two scripts
mentioned above in the following shar file.

cheers.

scowles at bioinfogen dot com

===========================================
Sunday, July 28, 2002, 6:00:36 PM, you wrote:
J> I'm using RH7.3. Must I recompile my kernel to be able to use a firewire
J> drive with my pentium 3 triple boot (bootmagic, 98/xp/rh7.3) laptop? Is it 
J> safe (for my very expensive data) to use a firewire drive?
J> I've never compiled a kernal; wish there were an easier way for this newbie.
J> Any advice or pointers very appreciated.
J> Thanks,
J> Jim
===========================================

#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.2.1).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 2002-07-28 22:26 PDT by <scowles@BUBO5>.
# Source directory was `/mnt/b5c/users/scowles'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#    414 -rw-rw-rw- 1394
#    368 -r-xr-xr-x bin/mount-firewire
#   2775 -r-xr-xr-x bin/rescan-scsi-bus.sh
#
save_IFS="${IFS}"
IFS="${IFS}:"
gettext_dir=FAILED
locale_dir=FAILED
first_param="$1"
for dir in $PATH
do
  if test "$gettext_dir" = FAILED && test -f $dir/gettext \
     && ($dir/gettext --version >/dev/null 2>&1)
  then
    set `$dir/gettext --version 2>&1`
    if test "$3" = GNU
    then
      gettext_dir=$dir
    fi
  fi
  if test "$locale_dir" = FAILED && test -f $dir/shar \
     && ($dir/shar --print-text-domain-dir >/dev/null 2>&1)
  then
    locale_dir=`$dir/shar --print-text-domain-dir`
  fi
done
IFS="$save_IFS"
if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED
then
  echo=echo
else
  TEXTDOMAINDIR=$locale_dir
  export TEXTDOMAINDIR
  TEXTDOMAIN=sharutils
  export TEXTDOMAIN
  echo="$gettext_dir/gettext -s"
fi
if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 
-a -f $$.touch; then
  shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"'
elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 
-a ! -f 123123592001.5 -a -f $$.touch; then
  shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"'
elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f 
$$.touch; then
  shar_touch='touch -am $3$4$5$6$2 "$8"'
else
  shar_touch=:
  echo
  $echo 'WARNING: not restoring timestamps.  Consider getting and'
  $echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch
#
if mkdir _sh02964; then
  $echo 'x -' 'creating lock directory'
else
  $echo 'failed to create lock directory'
  exit 1
fi
# ============= 1394 ==============
if test -f '1394' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING '1394' '(file already exists)'
else
  $echo 'x -' extracting '1394' '(gzipped)'
  sed 's/^X//' << 'SHAR_EOF' | uudecode &&
SHAR_EOF
  $echo 'gunzipping file' '1394' &&
  gzip -d < _sh02964/gzi > '1394' &&
  (set 20 02 07 28 22 14 27 '1394'; eval "$shar_touch") &&
  chmod 0666 '1394' ||
  $echo 'restore of' '1394' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo '1394:' 'MD5 check failed'
44c5a0e1a756e53605a9a1f89cc478d9  1394
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < '1394'`"
    test 414 -eq "$shar_count" ||
    $echo '1394:' 'original size' '414,' 'current size' "$shar_count!"
  fi
fi
# ============= bin/mount-firewire ==============
if test ! -d 'bin'; then
  $echo 'x -' 'creating directory' 'bin'
  mkdir 'bin'
fi
if test -f 'bin/mount-firewire' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'bin/mount-firewire' '(file already exists)'
else
  $echo 'x -' extracting 'bin/mount-firewire' '(gzipped)'
  sed 's/^X//' << 'SHAR_EOF' | uudecode &&
SHAR_EOF
  $echo 'gunzipping file' 'bin/mount-firewire' &&
  gzip -d < _sh02964/gzi > 'bin/mount-firewire' &&
  (set 20 02 07 28 22 16 20 'bin/mount-firewire'; eval "$shar_touch") &&
  chmod 0555 'bin/mount-firewire' ||
  $echo 'restore of' 'bin/mount-firewire' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'bin/mount-firewire:' 'MD5 check failed'
5cc1b095287cc40955d6ac7ff2613ba6  bin/mount-firewire
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'bin/mount-firewire'`"
    test 368 -eq "$shar_count" ||
    $echo 'bin/mount-firewire:' 'original size' '368,' 'current size' "$shar_count!"
  fi
fi
# ============= bin/rescan-scsi-bus.sh ==============
if test -f 'bin/rescan-scsi-bus.sh' && test "$first_param" != -c; then
  $echo 'x -' SKIPPING 'bin/rescan-scsi-bus.sh' '(file already exists)'
else
  $echo 'x -' extracting 'bin/rescan-scsi-bus.sh' '(gzipped)'
  sed 's/^X//' << 'SHAR_EOF' | uudecode &&
SHAR_EOF
  $echo 'gunzipping file' 'bin/rescan-scsi-bus.sh' &&
  gzip -d < _sh02964/gzi > 'bin/rescan-scsi-bus.sh' &&
  (set 20 02 07 28 22 17 08 'bin/rescan-scsi-bus.sh'; eval "$shar_touch") &&
  chmod 0555 'bin/rescan-scsi-bus.sh' ||
  $echo 'restore of' 'bin/rescan-scsi-bus.sh' 'failed'
  if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \
  && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then
    md5sum -c << SHAR_EOF >/dev/null 2>&1 \
    || $echo 'bin/rescan-scsi-bus.sh:' 'MD5 check failed'
8dbc19c95b3c1bddbf2d16cdde960ad4  bin/rescan-scsi-bus.sh
SHAR_EOF
  else
    shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'bin/rescan-scsi-bus.sh'`"
    test 2775 -eq "$shar_count" ||
    $echo 'bin/rescan-scsi-bus.sh:' 'original size' '2775,' 'current size' 
"$shar_count!"
  fi
fi
rm -fr _sh02964
exit 0

Attachment: _sh02964_gzi
Description: Binary data

Attachment: _sh02964_gzi
Description: Binary data

Attachment: _sh02964_gzi
Description: Binary data

Reply via email to