Support and default to Debian/buster release, update docs accordingly
authorMichael Prokop <mika@grml.org>
Sat, 29 Dec 2018 16:35:40 +0000 (17:35 +0100)
committerMichael Prokop <mika@grml.org>
Sun, 30 Dec 2018 10:24:39 +0000 (11:24 +0100)
On 2019-02-12 there's the soft-freeze starting for the Buster release.
Accordingly default to buster as new default within grml-debootstrap.

Closes: grml/grml-debootstrap#117

config
grml-debootstrap
grml-debootstrap.8.txt
releasetable.txt

diff --git a/config b/config
index ba57247..e329353 100644 (file)
--- a/config
+++ b/config
@@ -72,9 +72,9 @@
 # BACKPORTREPOS='yes'
 
 # Debian release that should be installed.
-# Supported values: lenny, squeeze, wheezy, jessie, stretch, sid
-# Default: 'stretch'
-# RELEASE='stretch'
+# Supported values: lenny, squeeze, wheezy, jessie, stretch, buster, sid
+# Default: 'buster'
+# RELEASE='buster'
 
 # Define components that should be used within sources.list.
 # Default: 'main'
index 776825d..32085c1 100755 (executable)
@@ -72,7 +72,7 @@ MNTPOINT="/mnt/debootstrap.$$"
 [ -n "$POST_SCRIPTS" ] || POST_SCRIPTS='yes'
 [ -n "$PRE_SCRIPTS" ] || PRE_SCRIPTS='yes'
 [ -n "$RECONFIGURE" ] || RECONFIGURE='console-data'
-[ -n "$RELEASE" ] || RELEASE='stretch'
+[ -n "$RELEASE" ] || RELEASE='buster'
 [ -n "$RM_APTCACHE" ] || RM_APTCACHE='yes'
 [ -n "$SCRIPTS" ] || SCRIPTS='no' # deprecated, replaced by POST_SCRIPTS
 [ -n "$SECURE" ] || SECURE='yes'
@@ -103,7 +103,7 @@ Bootstrap options:
   -m, --mirror <URL>     Mirror which should be used for apt-get/aptitude.
   -i, --iso <mnt>        Mountpoint where a Debian ISO is mounted to, for use
                          instead of fetching packages from a mirror.
-  -r, --release <name>   Release of new Debian system (default: stretch).
+  -r, --release <name>   Release of new Debian system (default: buster).
   -t, --target <target>  Target partition (/dev/...) or directory where the
                          system should be installed to.
   -p, --mntpoint <mnt>   Mountpoint used for mounting the target system,
@@ -759,15 +759,16 @@ prompt_for_bootmanager()
 # ask for Debian release {{{
 prompt_for_release()
 {
-  [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='stretch'
+  [ -n "$RELEASE" ] && DEFAULT_RELEASE="$RELEASE" || DEFAULT_RELEASE='buster'
   RELEASE="$(dialog --stdout --title "${PN}" --default-item $DEFAULT_RELEASE --menu \
             "Please enter the Debian release you would like to use for installation:" \
-            0 50 5 \
+            0 50 6 \
             lenny    Debian/5.0 \
             squeeze  Debian/6.0 \
             wheezy   Debian/7.0 \
             jessie   Debian/8.0 \
             stretch  Debian/9.0 \
+            buster   Debian/10.0 \
             sid      Debian/unstable)"
   [ $? -eq 0 ] || bailout
 }
@@ -1136,7 +1137,7 @@ fi
 # Support for generic release codenames is unavailable. {{{
 if [ "$RELEASE" = "stable" ] || [ "$RELEASE" = "testing" ] ; then
    eerror "Generic release codenames (stable, testing) are unsupported. \
-Please use specific codenames such as lenny, squeeze, wheezy, jessie or stretch." ; eend 1
+Please use specific codenames such as stretch or buster." ; eend 1
    bailout 1
 fi
 # }}}
index 7fe365c..7d18815 100644 (file)
@@ -20,7 +20,7 @@ want) for installing a plain Debian system very fast and easy.
 All you have to do is adjust a few variables in the configuration file
 /etc/debootstrap/config or specify some command line options and invoke
 grml-debootstrap. If invoked without any configuration modifications or command
-line options a dialog based frontend will be available to control some basic
+line options a dialog based front end will be available to control some basic
 configuration options.
 
 A plain and base Debian system will be installed on the given device, directory
@@ -40,7 +40,7 @@ Options and environment variables
 
 *--backportrepos*::
 
-    Enable Debian's Backports repository (http://backports.debian.org/) via the
+    Enable Debian's Backports repository via the
     /etc/apt/sources.list.d/backports.list configuration file. This provides the
     option to install Debian packages from Debian's backports repository.
 
@@ -216,8 +216,8 @@ Options and environment variables
 *-r*, *--release* _releasename_::
 
     Specify release of new Debian system. Supported releases names: lenny,
-    squeeze, wheezy, jessie, stretch and sid. Corresponding with configuration
-    variable RELEASE. Default release: stretch
+    squeeze, wheezy, jessie, stretch, buster and sid. Corresponding with configuration
+    variable RELEASE. Default release: buster
 
 *--remove-configs*::
 
@@ -269,37 +269,43 @@ Usage examples
 
   grml-debootstrap --target /dev/sda1 --grub /dev/sda
 
-Install default Debian release (stretch) on /dev/sda1 and install bootmanager
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
+Install default Debian release (buster) on /dev/sda1 and install bootmanager
+GRUB in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
+
+  grml-debootstrap --release stretch --target /dev/sda1 --grub /dev/sda --hostname foobar --password changeme
+
+Install Debian release stretch on /dev/sda1 and install bootmanager
+GRUB in MBR (master boot record) of /dev/sda and use /dev/sda1 as system partition.
+Set hostname to 'foobar' and password for user root to 'changeme'.
 
   grml-debootstrap --target /dev/sda6 --grub /dev/sda --release sid
 
-Install Debian unstable/sid on /dev/sda6, install bootmanager Grub in MBR
+Install Debian unstable/sid on /dev/sda6, install bootmanager GRUB in MBR
 (master boot record) of /dev/sda and use /dev/sda6 as system partition.
 
   mount /dev/sda1 /data/chroot
   grml-debootstrap --target /data/chroot
 
-Install default Debian release (stretch) in directory /data/chroot (without
+Install default Debian release (buster) in directory /data/chroot (without
 any bootloader).
 
   grml-debootstrap --target /dev/sda3 --grub /dev/sda  --mirror ftp://ftp.tugraz.at/mirror/debian
 
-Install default Debian release (stretch) on /dev/sda3 and install bootmanager
-Grub in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
+Install default Debian release (buster) on /dev/sda3 and install bootmanager
+GRUB in MBR (master boot record) of /dev/sda and use /dev/sda3 as system partition.
 Use specified mirror instead of the default (http://deb.debian.org/debian) one.
 
   mount /dev/sda1 /mnt/sda1
   grml-debootstrap --vmfile --vmsize 3G --target /mnt/sda1/qemu.img
 
-Install default debian release (stretch) in a Virtual Machine file with
-3GB disk size (including Grub as bootmanager in MBR of the virtual disk file):
+Install default debian release (buster) in a Virtual Machine file with
+3GB disk size (including GRUB as bootmanager in MBR of the virtual disk file):
 
   mount -o loop /mnt/sda6/debian-CD-1.iso /mnt/iso
   grml-debootstrap --target /dev/sda1 --grub /dev/sda --iso file:/mnt/iso/debian/
 
 Install Debian on /dev/sda1 using the loopback mounted Debian-ISO
-for the base-system and install bootmanager Grub in MBR (master boot record) of
+for the base-system and install bootmanager GRUB in MBR (master boot record) of
 /dev/sda and use /dev/sda1 as system partition. Please notice, that the chroot
 system requires network access for all packages which are not part of the
 ISO.
@@ -368,8 +374,8 @@ Where do you want to install grub to? Usage example: grub=/dev/sda
 
   release=...
 
-Specify release of new Debian system. Defaults to Debian stretch. Supported
-releases: lenny, squeeze, wheezy, jessie, stretch and sid. Usage example: release=sid
+Specify release of new Debian system. Defaults to Debian buster. Supported
+releases: lenny, squeeze, wheezy, jessie, stretch, buster and sid. Usage example: release=stretch
 
   mirror=...
 
@@ -403,18 +409,27 @@ Supported Releases
 include::releasetable.txt[]
 
 [NOTE]
-.lenny/squeeze release
+.lenny/squeeze/wheezy release
 ================================================================================
-[1] Please notice that lenny and squeeze are unsupported releases within Debian nowadays.
+[1] Please notice that releases like lenny, squeeze and wheezy are unsupported releases within Debian nowadays.
 grml-debootstrap can handle the releases but you really should not use them
-anymore unless you really know what you are doing. Choose the current Debian
-stable version instead.
+anymore unless you really know what you are doing.
+Choose the current Debian stable version instead.
+See https://wiki.debian.org/DebianReleases for the list of supported releases.
 
-Notice that you need to specify a mirror providing the lenny/squeeze releases, the
+Notice that you need to specify a mirror providing the lenny and squeeze releases, the
 default (http://deb.debian.org/debian) doesn't provide it any longer nowadays.
 Set the mirror to e.g. http://archive.debian.org/debian/ if you don't have
 your own lenny/squeeze mirror.
 
+Older releases might also fail to install when running on top of recent kernel versions,
+throwing segfaults during debootstrap. This can be identified by the following messages inside kernel log (check with 'dmesg'):
+
+   dpkg[...] vsyscall attempted with vsyscall=none ip:[...]
+   dpkg[...]: segfault at [...]
+
+To work around this issue boot your system with the kernel boot option 'vsyscall=emulate'.
+
 You also need to specify a filesystem that's supported by lenny, e.g.
 '--filesystem ext3' since grml-debootstrap's current default (ext4) isn't
 supported by lenny.
index a535949..63e3d23 100644 (file)
@@ -4,8 +4,9 @@
 |Release  |Status
 |lenny    |works[1]
 |squeeze  |works[1]
-|wheezy   |works
+|wheezy   |works[1]
 |jessie   |works
 |stretch  |works
+|buster   |works
 |sid      |works[2]
 |======================