X-Git-Url: https://git.grml.org/?p=grml-debootstrap.git;a=blobdiff_plain;f=grml-debootstrap;h=fc12e7c583507fcb18c601dd2edd0c3d041c7955;hp=308563709672359da2d33c3a9a737a3f76d330fb;hb=a75f067a4f3967a8638a4f5f501adcdcbae88265;hpb=10690a93c8cfddf92ee4d6ab17015b293b0e3709 diff --git a/grml-debootstrap b/grml-debootstrap index 3085637..fc12e7c 100755 --- a/grml-debootstrap +++ b/grml-debootstrap @@ -19,18 +19,20 @@ CONFFILES='/etc/debootstrap' DEBCONF='yes' DEBIAN_FRONTEND='noninteractive' DEBOOTSTRAP='debootstrap' +DEFAULT_LOCALES='en_US.UTF-8' EXTRAPACKAGES='yes' +FALLBACK_MIRROR='http://http.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' RECONFIGURE='console-data' -RELEASE='squeeze' +RELEASE='wheezy' RM_APTCACHE='yes' SCRIPTS='yes' SECURE='yes' @@ -59,7 +61,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: squeeze). + -r, --release Release of new Debian system (default: wheezy). -t, --target Target partition (/dev/...) or directory where the system should be installed to. -p, --mntpoint Mountpoint used for mounting the target system, @@ -93,6 +95,7 @@ Configuration options: /etc/debootstrap/packages --debconf Pre-seed packages using specified pre-seed db file. --grmlrepos Enable Grml's Debian repository (deb.grml.org). + --backportrepos Enable Debian's backports repository (backports.debian.org). --keep_src_list Do not overwrite user provided apt sources.list. --hostname Hostname of Debian system. --nopassword Do not prompt for the root password. @@ -320,6 +323,7 @@ fi [ "$_opt_chroot_scripts_set" ] && CHROOT_SCRIPTS='yes' [ "$_opt_keep_src_list" ] && KEEP_SRC_LIST='yes' [ "$_opt_grmlrepos" ] && GRMLREPOS='yes' +[ "$_opt_backportrepos" ] && BACKPORTREPOS='yes' [ "$_opt_hostname" ] && HOSTNAME=$_opt_hostname [ "$_opt_password" ] && ROOTPASSWORD=$_opt_password [ "$_opt_nopassword" ] && NOPASSWORD='yes' @@ -446,7 +450,7 @@ prompt_for_bootmanager() fi for device in cciss/c0d0 sda hda; do - if [ /dev/$device != ${MBRDISK} ]; then + if [ "/dev/$device" != "${MBRDISK}" ]; then grep -q $device /proc/partitions && \ ADDITIONAL_PARAMS="$ADDITIONAL_PARAMS:$device:install bootmanager grub into MBR of /dev/$device" fi @@ -467,12 +471,7 @@ prompt_for_bootmanager() mbr) # /dev/md0: has to be installed in MBR of /dev/md0 and not in /dev/md: if echo "$TARGET" | grep -q "/dev/md" ; then - # using sw-raid: - if [ -n "$SELECTED_PARTITIONS" ] ; then - GRUB=$(echo ${SELECTED_PARTITIONS} | awk '{print $1}') # use first disk only - else - GRUB="$TARGET" - fi + GRUB="$TARGET" else GRUB="$MBRDISK" fi @@ -493,13 +492,13 @@ prompt_for_bootmanager() # ask for Debian release {{{ prompt_for_release() { - [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='squeeze' + [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='wheezy' 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 \ - lenny Debian/old-stable \ - squeeze Debian/stable \ - wheezy Debian/testing \ + lenny Debian/5.0 \ + squeeze Debian/6.0 \ + wheezy Debian/7.0 \ sid Debian/unstable)" [ $? -eq 0 ] || bailout } @@ -556,7 +555,7 @@ prompt_for_mirror() [ $? -eq 0 ] || bailout if [ "$CHOOSE_MIRROR" = 'net' ] ; then - [ -n "$MIRROR" ] || MIRROR='http://cdn.debian.net/debian' + [ -n "$MIRROR" ] || MIRROR='http://http.debian.net/debian' MIRROR="$(dialog --stdout --title "${PN}" --inputbox \ "Please enter Debian mirror you would like to use for installing packages." \ 0 0 $MIRROR)" @@ -729,6 +728,12 @@ else # if not running automatic installation display configuration and prompt fo [ -n "$VMSIZE" ] && echo " Using Virtual Disk file with size of ${VMSIZE}." fi + if [ ! -t 0 -a -z "$ROOTPASSWORD" -a -z "$NOPASSWORD" ] ; then + echo + echo " You do not have a TTY allocated, your password will be shown in" + echo " plaintext on the terminal! If you are using SSH, try its -t option!" + fi + echo echo " Important! Continuing will delete all data from ${TARGET}!" @@ -1017,6 +1022,9 @@ finalize_vm() { rm -f "${MNTPOINT}/tmp/core.img" einfo "Updating grub configuration file." + if [ -n "$BOOT_APPEND" ] ; then + sed -i "/GRUB_CMDLINE_LINUX_DEFAULT/ s#\"\$# ${BOOT_APPEND}\"#" "${MNTPOINT}"/etc/default/grub + fi chroot "${MNTPOINT}" update-grub umount "${MNTPOINT}"/proc @@ -1082,12 +1090,15 @@ preparechroot() { chmod 600 $CHROOT_VARIABLES # make sure nobody except root can read it echo "# Configuration of ${PN}" > $CHROOT_VARIABLES [ -n "$ARCH" ] && echo "ARCH=\"$ARCH\"" >> $CHROOT_VARIABLES + [ -n "$BACKPORTREPOS" ] && echo "BACKPORTREPOS=\"$BACKPORTREPOS\"" >> $CHROOT_VARIABLES [ -n "$CHROOT_SCRIPTS" ] && echo "CHROOT_SCRIPTS=\"$CHROOT_SCRIPTS\"" >> $CHROOT_VARIABLES [ -n "$CONFFILES" ] && echo "CONFFILES=\"$CONFFILES\"" >> $CHROOT_VARIABLES [ -n "$DEBCONF" ] && echo "DEBCONF=\"$DEBCONF\"" >> $CHROOT_VARIABLES [ -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 "$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