fix UUID with vfat, get_uuid() must be called after 'grub install'
authorMathieu Schroeter <mathieu.schroeter@mycable.ch>
Wed Dec 31 20:51:15 2008 +0100 (6 months ago)
changeset 5719e8b4e088bfcd
parent 5718fa31a268885f
child 5720be774bf7c76c
fix UUID with vfat, get_uuid() must be called after 'grub install'
packages/installator/scripts/installator.sh
       1 --- a/packages/installator/scripts/installator.sh	Wed Dec 31 20:21:05 2008 +0100
       2 +++ b/packages/installator/scripts/installator.sh	Wed Dec 31 20:51:15 2008 +0100
       3 @@ -431,18 +431,16 @@
       4  }
       5  
       6  # Installs and configures the GRUB bootloader
       7 -# $1 is DEV_UUID
       8 -# $2 is DEV
       9 -# $3 is USE_XORG
      10 +# $1 is DEV
      11 +# $2 is USE_XORG
      12  install_grub (){
      13    local ROOTDEV
      14    local GRUBPREFIX=/boot/grub
      15    local GRUBDIR=di$GRUBPREFIX
      16    local DEVICE_MAP=$GRUBDIR/device.map
      17    local SPLASHIMAGE="$GRUBPREFIX/grub-splash.xpm.gz"
      18 -  local LOC_DEV_UUID=$1
      19 -  local LOC_DEV=$2
      20 -  local LOC_USE_XORG=$3
      21 +  local LOC_DEV=$1
      22 +  local LOC_USE_XORG=$2
      23  
      24    TMP_DISK=`echo "$LOC_DEV" | sed -e 's%\([sh]d[a-z]\)[0-9]*$%\1%'`
      25    TMP_DISKNAME="${TMP_DISK#/dev/}"
      26 @@ -468,7 +466,7 @@
      27        >> $LOGFILE 2>&1
      28    ROOTDEV=$(convert $LOC_DEV $DEVICE_MAP)
      29  
      30 -  dbglg "ROOTDEV \"$ROOTDEV\" DEV_UUID \"$LOC_DEV_UUID\" DEV \"$LOC_DEV\""
      31 +  dbglg "ROOTDEV \"$ROOTDEV\" DEV \"$LOC_DEV\""
      32    dbglg "XORG \"$LOC_USE_XORG\""
      33  
      34    if [ -z "$ROOTDEV" ]; then
      35 @@ -495,7 +493,11 @@
      36  ${DISABLE_SPLASHIMAGE}splashimage=$ROOTDEV$SPLASHIMAGE
      37  EOF
      38  
      39 -  setup_grub $GRUBDIR/single.lst $LOC_DEV_UUID $ROOTDEV $LOC_USE_XORG
      40 +  # This function must be called after "grub install" in order
      41 +  # to retrieve the right UUID with vfat.
      42 +  get_uuid "$LOC_DEV"
      43 +
      44 +  setup_grub $GRUBDIR/single.lst $DEV_UUID $ROOTDEV $LOC_USE_XORG
      45  
      46    dbglg "*** Start GRUB Single.lst ***"
      47    cat $GRUBDIR/single.lst >> $LOGFILE
      48 @@ -587,7 +589,7 @@
      49      done
      50      IFS=$saveifs
      51  
      52 -    setup_grub $GRUBDIR/menu.lst $LOC_DEV_UUID $ROOTDEV $LOC_USE_XORG
      53 +    setup_grub $GRUBDIR/menu.lst $DEV_UUID $ROOTDEV $LOC_USE_XORG
      54  
      55      dbglg "*** Start GRUB menu.lst ***"
      56      cat $GRUBDIR/menu.lst >> $LOGFILE
      57 @@ -664,8 +666,6 @@
      58  
      59  format_if_needed "$MKFS_TYPE" "$DEV"
      60  
      61 -get_uuid "$DEV"
      62 -
      63  # Attempt to mount the prepared partition using the given partition fs type
      64  dbglg "mount -t $MKFS_TYPE $DEV di"
      65  mount -t $MKFS_TYPE "$DEV" di
      66 @@ -690,7 +690,7 @@
      67  # Adjust the location of core boot files to suit non-CDROM install
      68  mv di/GEEXBOX/boot/vmlinuz di/GEEXBOX/boot/initrd.gz di/
      69  
      70 -install_grub "$DEV_UUID" "$DEV" "$USE_XORG"
      71 +install_grub "$DEV" "$USE_XORG"
      72  
      73  # Remove unneeded boot dir from mounted install drive
      74  rm -rf di/GEEXBOX/boot