Skip to content

Commit

Permalink
Support and default to Debian/buster release, update docs accordingly
Browse files Browse the repository at this point in the history
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: #117
  • Loading branch information
mika committed Dec 30, 2018
1 parent 218bf66 commit b013449
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 29 deletions.
6 changes: 3 additions & 3 deletions config
Expand Up @@ -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'
Expand Down
11 changes: 6 additions & 5 deletions grml-debootstrap
Expand Up @@ -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'
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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
}
Expand Down Expand Up @@ -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
# }}}
Expand Down
55 changes: 35 additions & 20 deletions grml-debootstrap.8.txt
Expand Up @@ -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
Expand All @@ -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.

Expand Down Expand Up @@ -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*::

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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=...

Expand Down Expand Up @@ -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.
Expand Down
3 changes: 2 additions & 1 deletion releasetable.txt
Expand Up @@ -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]
|======================

0 comments on commit b013449

Please sign in to comment.