From cdb4bd7abb307db1fd68b314a4785cbea8dcdf86 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 13 Jul 2014 23:36:41 -0400 Subject: install-lilo: Detect boot/root unless under chroot --- diff --git a/install-lilo.sh b/install-lilo.sh index e980baa..ff3dd2c 100644 --- a/install-lilo.sh +++ b/install-lilo.sh @@ -8,12 +8,20 @@ main() [ "x$(id -u)" = 'x0' ] || error 'Must be run as the superuser' - if [ ${#} -ne 2 ]; then + if [ ${#} -eq 0 ]; then + if is_chroot; then + error 'Running under chroot; %s' \ + 'please specify the boot and root devices' + fi + boot="$(mountpoint -n /boot | cut -d ' ' -f 1)" + root="$(mountpoint -n / | cut -d ' ' -f 1)" + elif [ ${#} -eq 2 ]; then + boot="${1}" + root="${2}" + else usage >&2 exit 1 fi - boot="${1}" - root="${2}" [ -e "${boot}" ] || error 'Boot device not found' [ -e /etc/lilo.conf.in ] || \ @@ -28,7 +36,7 @@ main() usage() { - printf 'Usage: install-lilo \n' + printf 'Usage: install-lilo [ ]\n' } error() @@ -40,4 +48,9 @@ error() exit 2 } +is_chroot() +{ + awk '$5 == "/" { exit(1); };' "/proc/${$}/mountinfo" +} + main "${@}" -- cgit v0.9.1