X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=efb8501bdb2db0e5a9f61c20a36157456b56cd63;hp=e7384f0fc70de5f313f8e81c3bb8b9d1f5b8a50a;hb=0f66ed4e7d529e6be421019d11bc6b7d9d38c50f;hpb=c653f571d6ed4d10dacc40bb9a09b63aed527db7 diff --git a/grml-debootstrap b/grml-debootstrap index e7384f0..efb8501 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -19,6 +19,7 @@ MNTPOINT="/mnt/debootstrap.$$" [ -n "$DEBIAN_FRONTEND" ] || DEBIAN_FRONTEND='noninteractive' [ -n "$DEBOOTSTRAP" ] || DEBOOTSTRAP='debootstrap' [ -n "$DEFAULT_LOCALES" ] || DEFAULT_LOCALES='en_US.UTF-8' +[ -n "$DEFAULT_LANGUAGE" ] || DEFAULT_LANGUAGE='en_US:en' [ -n "$EXTRAPACKAGES" ] || EXTRAPACKAGES='yes' [ -n "$FALLBACK_MIRROR" ] || FALLBACK_MIRROR='http://http.debian.net/debian' [ -n "$FORCE" ] || FORCE='' @@ -31,7 +32,7 @@ MNTPOINT="/mnt/debootstrap.$$" [ -n "$PACKAGES" ] || PACKAGES='yes' [ -n "$PRE_SCRIPTS" ] || PRE_SCRIPTS='yes' [ -n "$RECONFIGURE" ] || RECONFIGURE='console-data' -[ -n "$RELEASE" ] || RELEASE='wheezy' +[ -n "$RELEASE" ] || RELEASE='jessie' [ -n "$RM_APTCACHE" ] || RM_APTCACHE='yes' [ -n "$SCRIPTS" ] || SCRIPTS='yes' [ -n "$SECURE" ] || SECURE='yes' @@ -61,7 +62,7 @@ Bootstrap options: -m, --mirror Mirror which should be used for apt-get/aptitude. -i, --iso Mountpoint where a Debian ISO is mounted to, for use instead of fetching packages from a mirror. - -r, --release Release of new Debian system (default: wheezy). + -r, --release Release of new Debian system (default: jessie). -t, --target Target partition (/dev/...) or directory where the system should be installed to. -p, --mntpoint Mountpoint used for mounting the target system, @@ -77,9 +78,11 @@ Bootstrap options: Options for Virtual Machine deployment: - --vmfile Set up a Virtual Machine (raw format) instead of installing + --vm Set up a Virtual Machine, instead of plainly installing to a partition or directory, to be combined with --target, - like: --vmfile --target /mnt/sda1/qemu.img + like: --vm --target /dev/mapper/your-vm-disk + --vmfile Like --vm, but install into a file (raw format). + Example: --vmfile --target /mnt/sda1/qemu.img --vmsize Use specified size for size of VM file (default: 2G). Syntax as supported by qemu-img, like: --vmsize 3G @@ -315,7 +318,8 @@ fi [ "$_opt_iso" ] && ISO=$_opt_iso [ "$_opt_release" ] && RELEASE=$_opt_release [ "$_opt_target" ] && TARGET=$_opt_target -[ "$_opt_vmfile" ] && VIRTUAL=1 +[ "$_opt_vm" ] && VIRTUAL=1 +[ "$_opt_vmfile" ] && VMFILE=1 && VIRTUAL=1 [ "$_opt_vmsize" ] && VMSIZE=$_opt_vmsize [ "$_opt_mntpoint" ] && MNTPOINT=$_opt_mntpoint [ "$_opt_debopt" ] && DEBOOTSTRAP_OPT=$_opt_debopt @@ -507,13 +511,14 @@ prompt_for_bootmanager() # ask for Debian release {{{ prompt_for_release() { - [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='wheezy' + [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='jessie' RELEASE="$(dialog --stdout --title "${PN}" --default-item $DEFAULT_RELEASE --menu \ "Please enter the Debian release you would like to use for installation:" \ - 0 50 4 \ + 0 50 5 \ lenny Debian/5.0 \ squeeze Debian/6.0 \ wheezy Debian/7.0 \ + jessie Debian/8.0 \ sid Debian/unstable)" [ $? -eq 0 ] || bailout } @@ -740,7 +745,9 @@ else # if not running automatic installation display configuration and prompt fo [ -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}." + if [ -n "$VMSIZE" -a -n "$VMFILE" ]; then + echo " Using Virtual Disk file with size of ${VMSIZE}." + fi fi if [ ! -t 0 -a -z "$ROOTPASSWORD" -a -z "$NOPASSWORD" ] ; then @@ -974,18 +981,25 @@ mount_target() { # prepare VM image for usage with debootstrap {{{ prepare_vm() { if [ -z "$VIRTUAL" ] ; then - return 0 # be quite by intention + return 0 # be quiet by intention fi - if [ -b "$TARGET" ] ; then + if [ -b "$TARGET" -a -n "$VMFILE" ] ; then eerror "Error: specified virtual disk target ($TARGET) is an existing block device." eend 1 bailout 1 fi + if [ ! -b "$TARGET" -a -z "$VMFILE" ] ; then + eerror "Error: specified virtual disk target ($TARGET) does not exist yet." + eend 1 + bailout 1 + fi ORIG_TARGET="$TARGET" # store for later reuse - qemu-img create -f raw "${TARGET}" "${VMSIZE}" + if [ -n "$VMFILE" ]; then + qemu-img create -f raw "${TARGET}" "${VMSIZE}" + fi echo 4 66 | /usr/share/grml-debootstrap/bootgrub.mksh -A | dd of="$TARGET" conv=notrunc dd if=/dev/zero bs=1 conv=notrunc count=64 seek=446 of="$TARGET" if [ "$FIXED_DISK_IDENTIFIERS" = "yes" ] ; then @@ -1141,6 +1155,7 @@ preparechroot() { [ -n "$DEBIAN_FRONTEND" ] && echo "DEBIAN_FRONTEND=\"$DEBIAN_FRONTEND\"" >> $CHROOT_VARIABLES [ -n "$DEBOOTSTRAP" ] && echo "DEBOOTSTRAP=\"$DEBOOTSTRAP\"" >> $CHROOT_VARIABLES [ -n "$DEFAULT_LOCALES" ] && echo "DEFAULT_LOCALES=\"$DEFAULT_LOCALES\"" >> $CHROOT_VARIABLES + [ -n "$DEFAULT_LANGUAGE" ] && echo "DEFAULT_LANGUAGE=\"$DEFAULT_LANGUAGE\"" >> $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