Commit 3ebbdfd9 authored by Franco Fichtner's avatar Franco Fichtner

rc: command line arg mode for importer

parent 16adc594
...@@ -33,6 +33,7 @@ while getopts b OPT; do ...@@ -33,6 +33,7 @@ while getopts b OPT; do
case ${OPT} in case ${OPT} in
b) b)
DO_BOOT="-b" DO_BOOT="-b"
shift
;; ;;
*) *)
echo "Unknown argument during import." >&2 echo "Unknown argument during import." >&2
...@@ -86,6 +87,26 @@ timeout_prompt() ...@@ -86,6 +87,26 @@ timeout_prompt()
return ${RETURN} return ${RETURN}
} }
probe_for_part()
{
DEV=${1}
if [ -e "/dev/${DEV}s1a" ]; then
# MBR layout found
export PART="/dev/${DEV}s1a"
return 0
elif [ -e "/dev/${DEV}p3" ]; then
# GPT layout found
export PART="/dev/${DEV}p3"
return 0
fi
return 1
}
DEVS=
PART=
if [ -n "${DO_BOOT}" ]; then if [ -n "${DO_BOOT}" ]; then
touch ${INSTALL} 2> /dev/null touch ${INSTALL} 2> /dev/null
if [ -f ${INSTALL} -a -f /conf/config.xml ]; then if [ -f ${INSTALL} -a -f /conf/config.xml ]; then
...@@ -96,31 +117,31 @@ if [ -n "${DO_BOOT}" ]; then ...@@ -96,31 +117,31 @@ if [ -n "${DO_BOOT}" ]; then
'Press any key to start the configuration importer:' .......; then 'Press any key to start the configuration importer:' .......; then
bootstrap_and_exit bootstrap_and_exit
fi fi
elif [ -n "${1}" ]; then
if ! probe_for_part ${1}; then
bootstrap_and_exit
fi
else
DEVS=$(camcontrol devlist)
fi fi
DEVS=$(camcontrol devlist)
PART=
while [ -z "${PART}" ]; do while [ -z "${PART}" ]; do
echo echo
echo "${DEVS}" echo "${DEVS}"
echo echo
read -p "Select device to import from (e.g. ada0) or leave blank to exit: " DEV read -p "Select device to import from (e.g. ada0) or leave blank to exit: " DEV
echo
if [ -z "${DEV}" ]; then if [ -z "${DEV}" ]; then
bootstrap_and_exit bootstrap_and_exit
elif [ -e "/dev/${DEV}s1a" ]; then fi
# MBR layout found
PART="/dev/${DEV}s1a" if ! probe_for_part ${DEV}; then
elif [ -e "/dev/${DEV}p3" ]; then
# GPT layout found
PART="/dev/${DEV}p3"
else
echo
echo "No known partition layout was found for '${DEV}'." echo "No known partition layout was found for '${DEV}'."
fi fi
done done
echo "Starting import for partition '${PART}'."
echo echo
mkdir -p ${MNT} mkdir -p ${MNT}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment