+ local vbautomation='automation'
+ if checkbootparam 'vbautomation'; then
+ vbautomation="$(getbootparam 'vbautomation' 2>>$DEBUG)"
+ fi
+
+ if ! VBoxControl sharedfolder list | egrep -q "^[0-9]+ - ${vbautomation}$" ; then
+ ewarn "No automount shared folder '$vbautomation' available"
+ eend 0
+ else
+ einfo "Found automount shared folder '$vbautomation'"
+ eend 0
+
+ local distri="$(getbootparam 'distri' 2>>$DEBUG)"
+ [ -n "$distri" ] || distri='grml'
+
+ local vbox_auto_sf="/media/sf_${vbautomation}"
+
+ sleep 1 # ugly but necessary
+
+ counter=10
+ eindent
+ while ! [ -d "${vbox_auto_sf}" ] && [[ "$counter" != 0 ]]; do
+ einfo "Waiting another second to retry access to ${vbox_auto_sf}"
+ sleep 1
+ counter=$(( counter-1 ))
+ eend 0
+ done
+ eoutdent
+
+ if ! [ -d "${vbox_auto_sf}" ] ; then
+ eerror "Giving up trying to access folder ${vbox_auto_sf} which doesn't seem to exist"
+ eend 1
+ else
+ einfo "Found shared folders automation directory $vbox_auto_sf"
+ eend 0
+
+ eindent
+ if checkbootparam 'novbautomation' ; then
+ einfo "Bootoption novbautomation found. Disabling automation script execution."
+ eend 0
+ else
+ if ! [ -x "${vbox_auto_sf}/${distri}" ] ; then
+ ewarn "Couldn't find an automation script named ${vbox_auto_sf}/${distri}"
+ eend 1
+ else
+ einfo "Executing '${vbox_auto_sf}/${distri}' now:"
+ "${vbox_auto_sf}/${distri}"
+ eend $?
+ fi
+ fi
+ eoutdent
+ fi
+ fi
+