source: MondoRescue/branches/2.2.7/mondo/src/restore-scripts/mondo/label-partitions-as-necessary@ 1989

Last change on this file since 1989 was 1780, checked in by Bruno Cornec, 16 years ago

In udev case do not insert modules at all (udev should do it alone)
May avoid the issue with rhel4.5 kernel ? To be tested

  • Property svn:keywords set to Id
  • Property svn:unix-mode set to 755
File size: 1.8 KB
Line 
1#!/bin/sh
2#
3# $Id: label-partitions-as-necessary 1780 2007-11-09 19:34:53Z bruno $
4#
5############################################
6
7
8read_partition_line() {
9 local label mountpt command format
10
11 label=`echo "$1" | awk '{print $1}' | cut -d'=' -f2`
12 format=`echo "$1" | awk '{print $3}'`
13 mountpt=`awk '{print $1,$5}' $mountlist | grep " $label$" | awk '{print $1}'`
14
15 if [ "`echo "$1" | grep -E 'LABEL='`" != "" ] ; then
16 opttun="-L"
17 elif [ "`echo "$1" | grep -E 'UUID='`" != "" ] ; then
18 opttun="-U"
19 else
20 # Nothing to do
21 return
22 fi
23
24 if [ ! "$mountpt" ] ; then
25 LogIt "Not labeling anything as ($label) because ($mountpt) is not a mountpoint"
26 elif [ ! "$label" ] ; then
27 LogIt "Not labeling ($mountpt) as anything because ($label) is not a label"
28 else
29 if [ "$format" = "ext2" ] || [ "$format" = "ext3" ] ; then
30 command="tune2fs $opttun $label $mountpt"
31 LogIt "Running $command"
32 $command
33 elif [ "$format" = "swap" ] ; then
34 if [ "$opttun" = "-U" ]; then
35 LogIt "Creating uuid $label on swap partition $mountpt"
36 echo -n "$label" | perl -ne 's/-//g;chomp;print pack "H*",$_' | dd conv=notrunc "of=$mountpt" obs=1 seek=1036
37 else
38 command="mkswap $opttun $label $mountpt"
39 LogIt "Running $command"
40 $command
41 fi
42 else
43 LogIt "I am NOT going to run tune2fs: the partition is format '$format', which doesn't like tune2fs anyway"
44 fi
45 fi
46}
47
48
49# ---------------------------------------------
50
51LogIt "Identifying your drives with tune2fs"
52if [ "$#" -ne "1" ] ; then
53 LogIt "label-partitions-as-necessary /tmp/mountlist.txt < /tmp/fstab.new" 1
54 exit 1
55fi
56mountlist=$1
57noof_blank_lines=0
58read line
59while [ "$line" != "" ] && [ "$noof_blank_lines" -le "5" ] ; do
60 if [ "$line" = "" ] ; then
61 noof_blank_lines=$(($noof_blank_lines+1))
62 else
63 noof_blank_lines=0
64 read_partition_line "$line"
65 fi
66 read line
67done
68LogIt "Labeling complete."
69exit 0
Note: See TracBrowser for help on using the repository browser.