X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=cb98aeb85c5f3f6eb236f9c20922220497912ddb;hp=89b5adcc8c0bb2894249ea85de13f794ceeb0a29;hb=010a354042db32706c74ee821cbcf8233b1471e5;hpb=344f0e99017fdc780208fc661621522f579a6ba4 diff --git a/grml-debootstrap b/grml-debootstrap index 89b5adc..cb98aeb 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -20,12 +20,13 @@ DEBCONF='yes' DEBIAN_FRONTEND='noninteractive' DEBOOTSTRAP='debootstrap' EXTRAPACKAGES='yes' +FALLBACK_MIRROR='http://cdn.debian.net/debian' FORCE='' HOSTNAME='grml' INITRD='yes' INSTALL_NOTES='/etc/debootstrap/install_notes' LOCALES='yes' -MIRROR='http://cdn.debian.net/debian' +MIRROR="$FALLBACK_MIRROR" MKFS='mkfs.ext3' PACKAGES='yes' PRE_SCRIPTS='yes' @@ -689,11 +690,13 @@ elif [ -n "$INTERACTIVE" ] ; then [ -n "$RELEASE" ] && INFOTEXT="$INFOTEXT Using release: $RELEASE" [ -n "$HOSTNAME" ] && INFOTEXT="$INFOTEXT - Using hostname $HOSTNAME" + Using hostname: $HOSTNAME" [ -n "$MIRROR" ] && INFOTEXT="$INFOTEXT Using mirror: $MIRROR" [ -n "$ISO" ] && INFOTEXT="$INFOTEXT Using ISO: $ISO" + [ -n "$ARCH" ] && INFOTEXT="$INFOTEXT + Using arch: $ARCH" INFOTEXT="$INFOTEXT @@ -718,9 +721,10 @@ else # if not running automatic installation display configuration and prompt fo fi [ -n "$RELEASE" ] && echo " Using release: $RELEASE" - [ -n "$MIRROR" ] && echo " Using mirror: $MIRROR" [ -n "$HOSTNAME" ] && echo " Using hostname: $HOSTNAME" + [ -n "$MIRROR" ] && echo " Using mirror: $MIRROR" [ -n "$ISO" ] && echo " Using ISO: $ISO" + [ -n "$ARCH" ] && echo " Using arch: $ARCH" if [ -n "$VIRTUAL" ] ; then echo " Deploying as Virtual Machine." [ -n "$VMSIZE" ] && echo " Using Virtual Disk file with size of ${VMSIZE}." @@ -842,7 +846,7 @@ if [ -n "$ISO" ] ; then file*) # do nothing ;; *) - ISO=file:$1 + ISO=file:$ISO ;; esac fi @@ -850,6 +854,12 @@ ISODIR=${ISO##file:} ISODIR=${ISODIR%%/} # }}} +# Debian ISOs do not contain signed Release files {{{ +if [ -n "$ISO" ] ; then + DEBOOTSTRAP_OPT="$DEBOOTSTRAP_OPT --no-check-gpg" +fi +# }}} + # create filesystem {{{ mkfs() { if [ -n "$DIRECTORY" ] ; then @@ -942,7 +952,7 @@ prepare_vm() { # if dm-mod isn't available then kpartx will fail with # "Is device-mapper driver missing from kernel? [...]" - if ! kpartx -av $TARGET >/dev/null 2>&1 ; then + if ! kpartx -av $TARGET >/dev/null 2>&1 || ! grep -q device-mapper /proc/misc >/dev/null 2>&1 ; then einfo "Device-mapper not ready yet, trying to load dm-mod module." modprobe dm-mod ; eend $? fi @@ -1038,15 +1048,16 @@ debootstrap_system() { eend 1 ; exit 1 fi - einfo "Running $DEBOOTSTRAP $DEBOOTSTRAP_OPT for release ${RELEASE}${ARCHINFO} using ${MIRROR}${ISO}" - if [ -n "$MIRROR" ] ; then - einfo "Executing: $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $MIRROR" - $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $MIRROR - RC=$? - else + if [ -n "$ISO" ] ; then + einfo "Running $DEBOOTSTRAP $DEBOOTSTRAP_OPT for release ${RELEASE}${ARCHINFO} using ${ISO}" einfo "Executing: $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $ISO" $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $ISO RC=$? + else + einfo "Running $DEBOOTSTRAP $DEBOOTSTRAP_OPT for release ${RELEASE}${ARCHINFO} using ${MIRROR}" + einfo "Executing: $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $MIRROR" + $DEBOOTSTRAP $ARCHCMD $KEYRING $DEBOOTSTRAP_OPT $RELEASE $MNTPOINT $MIRROR + RC=$? fi if [ $RC -ne 0 ] ; then @@ -1078,6 +1089,7 @@ preparechroot() { [ -n "$DEBIAN_FRONTEND" ] && echo "DEBIAN_FRONTEND=\"$DEBIAN_FRONTEND\"" >> $CHROOT_VARIABLES [ -n "$DEBOOTSTRAP" ] && echo "DEBOOTSTRAP=\"$DEBOOTSTRAP\"" >> $CHROOT_VARIABLES [ -n "$EXTRAPACKAGES" ] && echo "EXTRAPACKAGES=\"$EXTRAPACKAGES\"" >> $CHROOT_VARIABLES + [ -n "$FALLBACK_MIRROR" ] && echo "FALLBACK_MIRROR=\"$FALLBACK_MIRROR\"" >> $CHROOT_VARIABLES [ -n "$FORCE" ] && echo "FORCE=\"$FORCE\"" >> $CHROOT_VARIABLES [ -n "$GRMLREPOS" ] && echo "GRMLREPOS=\"$GRMLREPOS\"" >> $CHROOT_VARIABLES [ -n "$GRUB" ] && echo "GRUB=\"$GRUB\"" >> $CHROOT_VARIABLES