X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=055843a465bf4577e58fa8b20e5287ab0a9a7015;hp=bf97635472200a8a26b74a332006aec150ae2307;hb=8782512fbbbae5d94f29666cb161f589052ee272;hpb=d07cdbbc8d861f7b38eb31d3b10bf37f37bededb diff --git a/grml-debootstrap b/grml-debootstrap index bf97635..055843a 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -1,9 +1,9 @@ -#!/bin/sh -# Filename: grml-bootstrap -# Purpose: wrapper around debootstrap for installing plain Debian via grml +#!/bin/bash +# Filename: grml-debootstrap +# Purpose: wrapper around debootstrap for installing plain Debian via Grml # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ -# License: This file is licensed under the GPL v2. +# License: This file is licensed under the GPL v2+ ################################################################################ # http://www.debian.org/releases/stable/i386/index.html.en @@ -11,7 +11,8 @@ set -e # exit on any error # variables {{{ PN="$(basename $0)" -VERSION='0.39' +VERSION="$(dpkg --list $PN 2>/dev/null| awk '/^i/ {print $3}')" +VERSION="${VERSION:-unknown}" MNTPOINT="/mnt/debootstrap.$$" # inside the chroot system locales might not be available, so use minimum: @@ -81,7 +82,7 @@ Send bugreports to the grml-team: bugs (at) grml.org || http://grml.org/bugs/ " } -if [ "$1" = '-h' ] || [ "$1" = '-help' ] ; then +if [ "$1" = '-h' ] || [ "$1" = '-help' ] || [ "$1" = "--help" ] ; then usage echo 'Please notice that this script requires root permissions!' exit 0 @@ -90,7 +91,6 @@ fi # make sure we have what we need {{{ check4progs debootstrap dialog || exit 1 -check4root || exit 1 # }}} # source main configuration file {{{ @@ -165,6 +165,13 @@ fi } # }}} +# check for root permissions {{{ +if ! check4root ; then + echo "For usage instructions please execute '$PN --help'." + exit 1 +fi +# }}} + # source specified configuration file {{{ if [ -n "$CONFIGFILE" ] ; then einfo "Reading specified config file $CONFIGFILE." @@ -804,13 +811,14 @@ preparechroot() { [ -n "$INSTALL_NOTES" ] && echo "INSTALL_NOTES=$INSTALL_NOTES" >> $CHROOT_VARIABLES [ -n "$ISODIR" ] && echo "ISODIR=$ISO" >> $CHROOT_VARIABLES [ -n "$ISO" ] && echo "ISO=$ISO" >> $CHROOT_VARIABLES - [ -n "$MIRROR" ] && echo "MIRROR=$MIRROR" >> $CHROOT_VARIABLES [ -n "$KEEP_SRC_LIST" ] && echo "KEEP_SRC_LIST=$KEEP_SRC_LIST" >> $CHROOT_VARIABLES + [ -n "$MIRROR" ] && echo "MIRROR=$MIRROR" >> $CHROOT_VARIABLES [ -n "$PACKAGES" ] && echo "PACKAGES=$PACKAGES" >> $CHROOT_VARIABLES + [ -n "$RM_APTCACHE" ] && echo "RM_APTCACHE=$RM_APTCACHE" >> $CHROOT_VARIABLES [ -n "$ROOTPASSWORD" ] && echo "ROOTPASSWORD=$ROOTPASSWORD" >> $CHROOT_VARIABLES + [ -n "$SELECTED_PARTITIONS" ] && echo "SELECTED_PARTITIONS=$SELECTED_PARTITIONS" >> $CHROOT_VARIABLES [ -n "$TARGET" ] && echo "TARGET=$TARGET" >> $CHROOT_VARIABLES [ -n "$TARGET_UUID" ] && echo "TARGET_UUID=$TARGET_UUID" >> $CHROOT_VARIABLES - [ -n "$RM_APTCACHE" ] && echo "RM_APTCACHE=$RM_APTCACHE" >> $CHROOT_VARIABLES cp $VERBOSE $CONFFILES/chroot-script $MNTPOINT/bin/chroot-script chmod 755 $MNTPOINT/bin/chroot-script @@ -938,33 +946,6 @@ chrootscript() { } # }}} -# install booloader grub {{{ -grub_install() { - if [ -z "$GRUB" ] ; then - echo "Notice: \$GRUB not defined, will not install grub therefore." - return 0 - fi - - if ! [ -x "$(which grub-install)" ] ; then - echo "Error: grub-install not available. (Error while installing grub package?)" - return 1 - fi - - if [ -n "$SELECTED_PARTITIONS" ] ; then # using sw-raid - for device in $SELECTED_PARTITIONS ; do - GRUB="${device%%[0-9]}" - einfo "Installing grub on ${GRUB}:" - grub-install --no-floppy --root-directory="$MNTPOINT" "$GRUB" - eend $? - done - else - einfo "Installing grub on ${GRUB}:" - grub-install --no-floppy --root-directory="$MNTPOINT" "$GRUB" - eend $? - fi -} -# }}} - # unmount $MNTPOINT {{{ umount_chroot() { @@ -1004,7 +985,7 @@ fscktool() { # now execute all the functions {{{ for i in mkfs tunefs mount_target debootstrap_system preparechroot \ - execute_pre_scripts chrootscript execute_scripts grub_install umount_chroot \ + execute_pre_scripts chrootscript execute_scripts umount_chroot \ fscktool ; do if stage "${i}" ; then $i && ( stage "${i}" done && rm -f "${STAGES}/${i}" ) || bailout 2 "i"