Comment 2 for bug 173659

Revision history for this message
Agostino Russo (ago) wrote :

Following version works (better). Mounting scripts in /lib/partman/finish.d do not seem to digest bindmounts though, will give a better look tomorrow.

#!/bin/sh

. /lib/partman/definitions.sh

finish(){
 close_dialog
 exit 0
}

for dev in $DEVICES/*; do
 [ -d $dev ] || continue
 cd $dev
 open_dialog PARTITIONS
 while { read_line num id size type fs path name; [ "$id" ]; }; do
     [ $fs != free ] || continue
     [ -f "$id/method" ] || continue
     [ -f "$id/acting_filesystem" ] || continue
     [ -f "$id/mountpoint" ] || continue
  [ "$(cat $id/mountpoint)" = / ] || continue
  [ -f "loop" ] || finish
  loopfile=$(cat loop)
  loopdir=${loopfile%/*}
  [ -n "$loopdir" ] || finish
  [ "$loopdir" != / ] || finish
  [ -d "$loopdir/boot" ] || finish
  echo "$loopdir/boot" /boot none bind 0 0
  finish
    done
 close_dialog
done