Do not depend on /proc for calculating runtime master
authorMichael Prokop <mika@grml.org>
Fri, 5 Jun 2020 15:44:41 +0000 (17:44 +0200)
committerMichael Prokop <mika@grml.org>
Fri, 5 Jun 2020 15:44:41 +0000 (17:44 +0200)
For example when running grml-live inside a docker
environment, /proc doesn't necessarily exist.
Instead use seconds since the epoch as base for calculating runtime.

Development time sponsored by Sipwise GmbH

24 files changed:
debian/changelog
debian/compat [deleted file]
debian/control
debian/grml-live.docs
debian/grml-live.maintscript
debian/grml-live.manpages
docs/grml-live.txt
etc/grml/fai/config/files/etc/apt/sources.list.d/debian.list/DEBIAN_STABLE
etc/grml/fai/config/files/etc/cloud/cloud.cfg.d/42_grml.cfg/GRMLBASE [new file with mode: 0644]
etc/grml/fai/config/files/etc/initramfs-tools/conf.d/xz-compress/GRMLBASE
etc/grml/fai/config/files/etc/network/interfaces/GRMLBASE
etc/grml/fai/config/files/etc/sudoers/GRMLBASE
etc/grml/fai/config/package_config/GRMLBASE
etc/grml/fai/config/package_config/GRML_FULL
etc/grml/fai/config/scripts/DEBORPHAN/10-whitelist [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/40-deborphan [deleted file]
etc/grml/fai/config/scripts/GRMLBASE/50-lvm
etc/grml/fai/config/scripts/GRMLBASE/51-cloud-init [new file with mode: 0755]
etc/grml/fai/config/scripts/GRMLBASE/80-initramfs
etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot
grml-live
templates/GRML/LICENSE.txt
templates/boot/grub/%SHORT_NAME%_options.cfg
templates/boot/isolinux/grml.cfg

index cf14de6..a191e58 100644 (file)
@@ -1,3 +1,91 @@
+grml-live (0.35.4) unstable; urgency=medium
+
+  [ Darshaka Pathirana ]
+  * [d56d6fa] Add boot option pnet (Predictable Network Interface Names)
+
+  [ Michael Prokop ]
+  * [950b6bb] Adjust layout of "Predictable Network Interface Names" boot
+    option
+
+ -- Michael Prokop <mika@grml.org>  Fri, 05 Jun 2020 13:34:01 +0200
+
+grml-live (0.35.3) unstable; urgency=medium
+
+  * Software related changes:
+    - [cb7d1f2] add wireguard to GRML_FULL
+  * Fixes:
+    - [6b2e23d] GRMLBASE/98-clean-chroot: avoid warning messages
+      with resolvconf <1.80
+    - [397c7e7] Use debootstrap with --no-merged-usr by default
+    - [b4b524c] No longer refer to sources.grml.org
+
+ -- Michael Prokop <mika@grml.org>  Wed, 03 Jun 2020 16:47:04 +0200
+
+grml-live (0.35.2) unstable; urgency=medium
+
+  * Software related changes:
+    - [1ec1cfe] add avahi-utils to GRML_FULL
+  * Features:
+    - [a28b1c2] etc/network/interfaces/GRMLBASE: support
+      /etc/network/interfaces.d/* in /e/n/i (for cloud-init support)
+
+ -- Michael Prokop <mika@grml.org>  Thu, 28 May 2020 17:34:05 +0200
+
+grml-live (0.35.1) unstable; urgency=medium
+
+  * Fixes:
+    - [ba45725] deborphan: add workaround for transitional package dnsutils
+    - [3140b83] deborphan: drop deprecated packages
+    - [f37fcf9] Move scripts/GRMLBASE/40-deborphan towards DEBORPHAN class
+      as file 10-whitelist
+    - [87be754] DEBORPHAN/10-whitelist: highlight when dnsutils gets added
+      to whitelist
+    - [cd7c095] DEBORPHAN/10-whitelist: provide workaround for Debian bug
+      #929273
+    - [cb6179f] DEBORPHAN/10-whitelist: rework fix for broken keep file
+      handling of deborphan
+
+  * Documentation:
+    - [856efb5] docs: update ISO sizes and disk requirements, we no
+      longer provide support for file-rc
+
+  * Software related changes:
+    - [bda859c] add fdisk to GRMLBASE
+
+ -- Michael Prokop <mika@grml.org>  Wed, 20 May 2020 17:13:24 +0200
+
+grml-live (0.35.0) unstable; urgency=medium
+
+  * Fixes:
+    - [e5e4578] GRMLBASE/98-clean-chroot: get rid of /wget-log* files
+    - [acf12d4] GRMLBASE/98-clean-chroot: fix resolvconf symlink
+      handling + get rid of resolvconf workarounds
+    - [ef6dc82] DEBIAN_STABLE: use buster-backports instead of
+      stretch-backports
+    - [31cd53a] scripts/GRMLBASE/50-lvm: unconditionally clear
+      69-lvm-metad.rules file. Thanks to Dr. András Korn
+    - [2ece298] initramfs xz-compress: use default xz compression level.
+      Thanks to Dr. András Korn
+    - [e1e107a] GRMLBASE/80-initramfs: no longer set CRYPTSETUP=y
+    - [c557940] sudoers: set Defaults secure_path to have sane
+      default settings
+
+  * New features:
+    - [3fc930d] Initial cloud-init support
+
+  * Debian packaging:
+    - [914ab11] Bump Standards-Version to 4.5.0
+    - [b47433a] Bump Debian compat version to 12, using
+      debhelper-compat approach
+    - [0edda67] Execute 'wrap-and-sort -a -t -s' on debian/
+
+  * Software related changes:
+    - [422c49b] SW: add radvd
+    - [fbb0edd] SW: drop hfsprogs from GRML_FULL
+    - [95f7765] SW: add cloud-init to GRML_FULL
+
+ -- Michael Prokop <mika@grml.org>  Tue, 12 May 2020 16:34:01 +0200
+
 grml-live (0.34.4) unstable; urgency=medium
 
   [ Michael Prokop ]
 grml-live (0.34.4) unstable; urgency=medium
 
   [ Michael Prokop ]
diff --git a/debian/compat b/debian/compat
deleted file mode 100644 (file)
index ec63514..0000000
+++ /dev/null
@@ -1 +0,0 @@
-9
index 46b0032..1d92b4f 100644 (file)
@@ -2,11 +2,13 @@ Source: grml-live
 Section: grml
 Priority: optional
 Maintainer: Michael Prokop <mika@grml.org>
 Section: grml
 Priority: optional
 Maintainer: Michael Prokop <mika@grml.org>
-Build-Depends: debhelper (>= 10)
-Build-Depends-Indep: asciidoc,
-                     docbook-xsl,
-                     xsltproc
-Standards-Version: 4.3.0
+Build-Depends:
+ debhelper-compat (= 12),
+Build-Depends-Indep:
+ asciidoc,
+ docbook-xsl,
+ xsltproc,
+Standards-Version: 4.5.0
 Homepage: https://grml.org/grml-live/
 Vcs-git: git://git.grml.org/grml-live.git
 Vcs-Browser: https://git.grml.org/?p=grml-live.git
 Homepage: https://grml.org/grml-live/
 Vcs-git: git://git.grml.org/grml-live.git
 Vcs-Browser: https://git.grml.org/?p=grml-live.git
@@ -15,29 +17,32 @@ Bugs: mailto:bugs@grml.org
 
 Package: grml-live
 Architecture: all
 
 Package: grml-live
 Architecture: all
-Depends: bc,
-         bzip2,
-         dosfstools,
-         fai-client (>= 3.4.0),
-         fai-server (>= 3.4.0),
-         isolinux (>= 3:6.03+dfsg-5+deb8u1~),
-         memtest86+,
-         mksh,
-         moreutils,
-         mtools,
-         pciutils,
-         rsync,
-         squashfs-tools (>= 1:4.2-0~bpo60),
-         syslinux,
-         xorriso,
-         ${misc:Depends}
-Recommends: grml-live-db,
-            grub-pc-bin,
-            imagemagick,
-            ipxe,
-            syslinux-utils
-Suggests: fai-doc,
-          grml-live-addons
+Depends:
+ bc,
+ bzip2,
+ dosfstools,
+ fai-client (>= 3.4.0),
+ fai-server (>= 3.4.0),
+ isolinux (>= 3:6.03+dfsg-5+deb8u1~),
+ memtest86+,
+ mksh,
+ moreutils,
+ mtools,
+ pciutils,
+ rsync,
+ squashfs-tools (>= 1:4.2-0~bpo60),
+ syslinux,
+ xorriso,
+ ${misc:Depends},
+Recommends:
+ grml-live-db,
+ grub-pc-bin,
+ imagemagick,
+ ipxe,
+ syslinux-utils,
+Suggests:
+ fai-doc,
+ grml-live-addons,
 Description: build system for creating a Grml (based) Linux live system
  This package provides the build system for creating a Debian /
  Grml based Linux live system (also known as live cd). It is
 Description: build system for creating a Grml (based) Linux live system
  This package provides the build system for creating a Debian /
  Grml based Linux live system (also known as live cd). It is
@@ -45,13 +50,15 @@ Description: build system for creating a Grml (based) Linux live system
 
 Package: grml-live-db
 Architecture: all
 
 Package: grml-live-db
 Architecture: all
-Depends: grml-live,
-         libdbd-sqlite3-perl,
-         libdbi-perl,
-         libtimedate-perl,
-         sqlite3,
-         ${misc:Depends}
-Recommends: perl-doc
+Depends:
+ grml-live,
+ libdbd-sqlite3-perl,
+ libdbi-perl,
+ libtimedate-perl,
+ sqlite3,
+ ${misc:Depends},
+Recommends:
+ perl-doc,
 Description: log package build information of grml-live to database
  This package provides a database layer for storing build
  information about grml-live builds in a sqlite3 database.
 Description: log package build information of grml-live to database
  This package provides a database layer for storing build
  information about grml-live builds in a sqlite3 database.
index 66f2ad4..de4be2b 100644 (file)
@@ -1,2 +1,2 @@
-docs/grml-live.html
 docs/grml-live-remaster.html
 docs/grml-live-remaster.html
+docs/grml-live.html
index cd7cba6..5ab930d 100644 (file)
@@ -1,3 +1,4 @@
 rm_conffile /etc/grml/fai/config/files/etc/apt/grml.key/GRMLBASE 0.32.3~
 rm_conffile /etc/grml/fai/config/files/etc/apt/grml.key/GRMLBASE 0.32.3~
-rm_conffile /etc/grml/fai/config/scripts/GRMLBASE/36-cpufrequtils 0.33.0~
 rm_conffile /etc/grml/fai/config/files/etc/systemd/system/serial-getty@ttyS0.service.d/override.conf/GRMLBASE 0.33.2~
 rm_conffile /etc/grml/fai/config/files/etc/systemd/system/serial-getty@ttyS0.service.d/override.conf/GRMLBASE 0.33.2~
+rm_conffile /etc/grml/fai/config/scripts/GRMLBASE/36-cpufrequtils 0.33.0~
+rm_conffile /etc/grml/fai/config/scripts/GRMLBASE/40-deborphan 0.35.0~
index f98382d..c36743b 100644 (file)
@@ -1,2 +1,2 @@
-docs/grml-live.8
 docs/grml-live-remaster.8
 docs/grml-live-remaster.8
+docs/grml-live.8
index 455889f..f3751c7 100644 (file)
@@ -336,9 +336,8 @@ selected. The following classes are predefined:
 was the init system used by Grml until and including stable release 2014.11,
 starting with beginning of 2016 Grml switched to systemd instead. If you want to
 build a live system in the old style using file-rc instead of systemd then enable
 was the init system used by Grml until and including stable release 2014.11,
 starting with beginning of 2016 Grml switched to systemd instead. If you want to
 build a live system in the old style using file-rc instead of systemd then enable
-this class. Please notice that support for file-rc is no longer being actively
-maintained (the Grml team happily accepts patches though) and file-rc (upstream
-wise) might disappear too.
+this class. Please notice that the Grml team no longer provides support for it
+though.
 
 * FRESHCLAM: execute freshclam (if it's present) to update clamav definitions
 (increases resulting ISO size ~70MB). By default it's skipped to avoid bigger
 
 * FRESHCLAM: execute freshclam (if it's present) to update clamav definitions
 (increases resulting ISO size ~70MB). By default it's skipped to avoid bigger
@@ -355,9 +354,9 @@ CLASS file choosing the kernel package you want to use (and don't forget to
 include your CLASS in the arguments of grml-live's -c... command line option).
 
 * GRML_FULL: full featured Grml, also known as the "normal", full grml as
 include your CLASS in the arguments of grml-live's -c... command line option).
 
 * GRML_FULL: full featured Grml, also known as the "normal", full grml as
-introduced in December 2011 (~600MB ISO size).
+introduced in December 2011 (~750 ISO size).
 
 
-* GRML_SMALL: minimum sized Grml version, known as grml-small (~300MB ISO
+* GRML_SMALL: minimum sized Grml version, known as grml-small (~360MB ISO
 size).
 
 * LATEX: LaTeX(-related) packages like auctex, texlive,...
 size).
 
 * LATEX: LaTeX(-related) packages like auctex, texlive,...
@@ -485,9 +484,9 @@ please send us a bug report then). Check out <<deploy-on-debian,How do I deploy
 grml-live on a plain Debian installation>> for details how to set up grml-live
 on a plain, original Debian system.
 
 grml-live on a plain Debian installation>> for details how to set up grml-live
 on a plain, original Debian system.
 
-* enough free disk space; at least 1.5GB are required for a minimal grml-live
-run (\~850MB for the chroot [$CHROOT_OUTPUT], \~300MB for the build target
-[$BUILD_OUTPUT], \~30MB for the netboot files and \~300MB for the resulting ISO
+* enough free disk space; at least ~2GB are required for a minimal grml-live
+run (\~1GB for the chroot [$CHROOT_OUTPUT], \~400MB for the build target
+[$BUILD_OUTPUT], \~35MB for the netboot files and \~350MB for the resulting ISO
 [$ISO_OUTPUT] plus some temporary files), if you plan to use GRML_FULL you
 should have at least 4GB of total free disk space
 
 [$ISO_OUTPUT] plus some temporary files), if you plan to use GRML_FULL you
 should have at least 4GB of total free disk space
 
index 3072559..2e0674e 100644 (file)
@@ -7,5 +7,5 @@
   deb-src http://security.debian.org/ stable/updates main contrib
 
 # backports:
   deb-src http://security.debian.org/ stable/updates main contrib
 
 # backports:
-  deb     http://ftp.debian.org/debian/ stretch-backports main contrib non-free
-  deb-src http://ftp.debian.org/debian/ stretch-backports main contrib non-free
+  deb     http://ftp.debian.org/debian/ buster-backports main contrib non-free
+  deb-src http://ftp.debian.org/debian/ buster-backports main contrib non-free
diff --git a/etc/grml/fai/config/files/etc/cloud/cloud.cfg.d/42_grml.cfg/GRMLBASE b/etc/grml/fai/config/files/etc/cloud/cloud.cfg.d/42_grml.cfg/GRMLBASE
new file mode 100644 (file)
index 0000000..646e4e2
--- /dev/null
@@ -0,0 +1,28 @@
+# cloud-init configuration for Grml live system.
+#
+# This file was deployed via grml-live's
+# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/51-cloud-init script, using
+# ${GRML_FAI_CONFIG}/config/files/etc/cloud/cloud.cfg.d/42_grml.cfg/GRMLBASE
+
+system_info:
+   # This will affect which distro class gets used
+   distro: debian
+   # Default user name + that default users groups (if added/used)
+   default_user:
+     name: grml
+     lock_passwd: True
+     gecos: Grml
+     groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video]
+     sudo: ["ALL=(ALL) NOPASSWD:ALL"]
+     shell: /bin/zsh
+   # Other config here will be given to the distro class and/or path classes
+   paths:
+      cloud_dir: /var/lib/cloud/
+      templates_dir: /etc/cloud/templates/
+      upstart_dir: /etc/init/
+   package_mirrors:
+     - arches: [default]
+       failsafe:
+         primary: http://deb.debian.org/debian
+         security: http://security.debian.org/
+   ssh_svcname: ssh
index 4e6b5b3..3631ac8 100644 (file)
@@ -3,7 +3,7 @@
 
 # this is a workaround to pass custom options to the xz compression
 xz() {
 
 # this is a workaround to pass custom options to the xz compression
 xz() {
-    command xz -8 --check=crc32
+    command xz --check=crc32
 }
 
 # enable XZ compression, reducing initramfs size from ~17MB to ~12MB
 }
 
 # enable XZ compression, reducing initramfs size from ~17MB to ~12MB
index 9f1df7b..abe8f5b 100644 (file)
@@ -5,3 +5,5 @@
 # The loopback interface
 auto lo
 iface lo inet loopback
 # The loopback interface
 auto lo
 iface lo inet loopback
+
+source /etc/network/interfaces.d/*
index f52c892..7a46342 100644 (file)
@@ -20,6 +20,9 @@ root    ALL=(ALL) ALL
 # WARNING: Never allow external access to the $USERNAME user!!!
 $USERNAME    ALL=NOPASSWD: ALL
 
 # WARNING: Never allow external access to the $USERNAME user!!!
 $USERNAME    ALL=NOPASSWD: ALL
 
+# Path used for every command run from sudo
+Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
+
 # allow editing of files with editor:
 # $USERNAME ALL=NOPASSWD: sudoedit
 
 # allow editing of files with editor:
 # $USERNAME ALL=NOPASSWD: sudoedit
 
index dcdd137..d75f4b6 100644 (file)
@@ -10,6 +10,7 @@ deborphan
 dmidecode
 efibootmgr
 eject
 dmidecode
 efibootmgr
 eject
+fdisk
 file
 gpm
 grml2usb
 file
 gpm
 grml2usb
index dfb99ce..fac9715 100644 (file)
@@ -104,7 +104,6 @@ e2fsprogs
 exfat-fuse
 exfat-utils
 genisoimage
 exfat-fuse
 exfat-utils
 genisoimage
-hfsprogs
 hfsutils
 jfsutils
 ntfs-3g
 hfsutils
 jfsutils
 ntfs-3g
@@ -148,10 +147,12 @@ vblade
 # networking
 atftp
 avahi-daemon
 # networking
 atftp
 avahi-daemon
+avahi-utils
 bind9-host
 bridge-utils
 cdpr
 cifs-utils
 bind9-host
 bridge-utils
 cdpr
 cifs-utils
+cloud-init
 comgt
 dnsmasq
 dnsutils
 comgt
 dnsmasq
 dnsutils
@@ -203,6 +204,7 @@ tsocks
 uml-utilities
 usb-modeswitch
 vlan
 uml-utilities
 usb-modeswitch
 vlan
+wireguard
 wireshark
 wvdial
 
 wireshark
 wvdial
 
diff --git a/etc/grml/fai/config/scripts/DEBORPHAN/10-whitelist b/etc/grml/fai/config/scripts/DEBORPHAN/10-whitelist
new file mode 100755 (executable)
index 0000000..a689fec
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/DEBORPHAN/10-whitelist
+# Purpose:       whitelist packages to keep with deborphan
+# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2 or any later version.
+################################################################################
+
+set -u
+set -e
+
+# workaround for dnsutils transitional package, we can drop this as soon as the
+# bind9-dnsutils package is available in all our supported Debian releases
+if [[ -r "${target}/usr/share/doc/dnsutils" ]] && [ -x "${target}/usr/bin/deborphan" ] ; then
+  echo "Adding dnsutils to deborphan whitelist"
+  # workaround for https://bugs.debian.org/929273 ("fseek on /var/lib/deborphan/keep: Invalid argument")
+  if ! [ -f "${target}"/var/lib/deborphan/keep ] ; then
+    printf 'dnsutils\n' > "${target}"/var/lib/deborphan/keep
+  elif grep -q '^dnsutils$' "${target}"/var/lib/deborphan/keep ; then
+    : # entry already present, avoid duplicates
+  else
+    printf 'dnsutils\n' >> "${target}"/var/lib/deborphan/keep
+  fi
+fi
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/40-deborphan b/etc/grml/fai/config/scripts/GRMLBASE/40-deborphan
deleted file mode 100755 (executable)
index b465379..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/40-deborphan
-# Purpose:       configure packages for deborphan (usually exception rules)
-# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
-# Bug-Reports:   see http://grml.org/bugs/
-# License:       This file is licensed under the GPL v2 or any later version.
-################################################################################
-
-set -u
-set -e
-
-if [ -r $target/lib/shadowfs/liblogfs.so -a -x $target/usr/bin/deborphan ] ; then
-   $ROOTCMD deborphan --add-keep shadowfs || /bin/true
-fi
-
-if [ -r $target/usr/bin/bsdtar -a -x $target/usr/bin/deborphan ] ; then
-   $ROOTCMD deborphan --add-keep bsdtar || /bin/true
-fi
-
-if [ -r $target/usr/bin/ewfinfo -a -x $target/usr/bin/deborphan ] ; then
-   $ROOTCMD deborphan --add-keep libewf1 || /bin/true
-fi
-
-if [ -r $target/usr/lib/libstdc++-libc6.2-2.so.3 -a -x $target/usr/bin/deborphan ] ; then
-   $ROOTCMD deborphan --add-keep libstdc++2.10-glibc2.2 || /bin/true
-fi
-
-## END OF FILE #################################################################
-# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index 4cecce4..9ec8199 100755 (executable)
@@ -9,11 +9,6 @@
 set -u
 set -e
 
 set -u
 set -e
 
-if ! [ -r "${target}/lib/udev/rules.d/69-lvm-metad.rules" ] ; then
-  echo "File /lib/udev/rules.d/69-lvm-metad.rules doesn't exist, skipping execution of script."
-  exit 0
-fi
-
 echo "Clearing /lib/udev/rules.d/69-lvm-metad.rules to avoid automatic LVM scanning"
 echo '# this file was generated by grml-live script GRMLBASE/50-lvm' > "${target}/lib/udev/rules.d/69-lvm-metad.rules"
 
 echo "Clearing /lib/udev/rules.d/69-lvm-metad.rules to avoid automatic LVM scanning"
 echo '# this file was generated by grml-live script GRMLBASE/50-lvm' > "${target}/lib/udev/rules.d/69-lvm-metad.rules"
 
diff --git a/etc/grml/fai/config/scripts/GRMLBASE/51-cloud-init b/etc/grml/fai/config/scripts/GRMLBASE/51-cloud-init
new file mode 100755 (executable)
index 0000000..017408d
--- /dev/null
@@ -0,0 +1,18 @@
+#!/bin/bash
+# Filename:      ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/51-cloud-init
+# Purpose:       configure cloud-init package
+# Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
+# Bug-Reports:   see http://grml.org/bugs/
+# License:       This file is licensed under the GPL v2 or any later version.
+################################################################################
+
+set -u
+set -e
+
+# NOTE: this file is relevant only with cloud-init package installed,
+# though we install it unconditionally via GRMLBASE class to have it
+# available and configured as shipped by Grml ISOs
+fcopy -v /etc/cloud/cloud.cfg.d/42_grml.cfg
+
+## END OF FILE #################################################################
+# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2
index a56a579..82cf083 100755 (executable)
@@ -20,8 +20,8 @@ fi
 echo "Rebuilding initramfs"
 
 for initrd in "$(basename $target/boot/vmlinuz-*)" ; do
 echo "Rebuilding initramfs"
 
 for initrd in "$(basename $target/boot/vmlinuz-*)" ; do
-    if ! CRYPTSETUP=y $ROOTCMD update-initramfs -k "${initrd##vmlinuz-}" -c ; then
-        echo "Creating fresh initrd did not work, trying update instead:"
-        CRYPTSETUP=y $ROOTCMD update-initramfs -k "${initrd##vmlinuz-}" -u
+    if ! $ROOTCMD update-initramfs -k "${initrd##vmlinuz-}" -c ; then
+        echo "Creating fresh initramfs did not work, trying update instead:"
+        $ROOTCMD update-initramfs -k "${initrd##vmlinuz-}" -u
     fi
 done
     fi
 done
index f293e91..a00ebd6 100755 (executable)
@@ -189,7 +189,20 @@ else
   echo "Setting up resolvconf"
   rm -f "${target}"/etc/resolvconf/resolv.conf.d/original
   rm -f "${target}"/etc/resolv.conf
   echo "Setting up resolvconf"
   rm -f "${target}"/etc/resolvconf/resolv.conf.d/original
   rm -f "${target}"/etc/resolv.conf
-  ln -s /run/resolvconf/resolv.conf "${target}"/etc/resolv.conf
+
+  # avoid "/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a
+  # symbolic link to /etc/resolvconf/run/resolv.conf" for resolvconf versions
+  # before 1.80
+  RESOLVCONF_VERSION=$($ROOTCMD dpkg-query -W -f='${Version}\n' resolvconf || true)
+  echo "-> Identified resolvconf version '${RESOLVCONF_VERSION}'"
+  if dpkg --compare-versions "${RESOLVCONF_VERSION}" lt 1.80 ; then
+    echo "-> Installing resolvconf symlink for versions <1.80"
+    ln -s /etc/resolvconf/run/resolv.conf "${target}"/etc/resolv.conf
+  else
+    echo "-> Installing resolvconf symlink for versions >=1.80"
+    ln -s /run/resolvconf/resolv.conf "${target}"/etc/resolv.conf
+  fi
+
 fi
 
 # make sure we don't leak any mdadm configurations
 fi
 
 # make sure we don't leak any mdadm configurations
index daa4da9..7dc20f8 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -579,7 +579,8 @@ if [ -n "$CONFIG" ] ; then
    fi
 fi
 
    fi
 fi
 
-start_seconds=$(cut -d . -f 1 /proc/uptime)
+SECONDS=unknown
+start_seconds="$(date +%s)"
 log "------------------------------------------------------------------------------"
 log "Starting grml-live [${GRML_LIVE_VERSION}] run on $(date)"
 log "Using local config file: $LOCAL_CONFIG"
 log "------------------------------------------------------------------------------"
 log "Starting grml-live [${GRML_LIVE_VERSION}] run on $(date)"
 log "Using local config file: $LOCAL_CONFIG"
@@ -678,7 +679,7 @@ if [ -z "$FAI_DEBOOTSTRAP" ] ; then
 fi
 
 if [ -z "$FAI_DEBOOTSTRAP_OPTS" ] ; then
 fi
 
 if [ -z "$FAI_DEBOOTSTRAP_OPTS" ] ; then
-  FAI_DEBOOTSTRAP_OPTS="--exclude=info,tasksel,tasksel-data --include=aptitude --arch $ARCH"
+  FAI_DEBOOTSTRAP_OPTS="--exclude=info,tasksel,tasksel-data --include=aptitude --arch $ARCH --no-merged-usr"
 fi
 
 # create backup of old (not yet automatically generated) config file
 fi
 
 # create backup of old (not yet automatically generated) config file
@@ -1692,7 +1693,10 @@ fi
 # }}}
 
 # finalize {{{
 # }}}
 
 # finalize {{{
-[ -n "$start_seconds" ] && SECONDS="$[$(cut -d . -f 1 /proc/uptime)-$start_seconds]" || SECONDS="unknown"
+if [ -n "${start_seconds}" ] ; then
+  end_seconds="$(date +%s)"
+  SECONDS="$(( end_seconds - start_seconds ))"
+fi
 log "Successfully finished execution of $PN [$(date) - running ${SECONDS} seconds]"
 
 dpkg_to_db # make sure we catch the last log line as well, therefore execute between log + einfo
 log "Successfully finished execution of $PN [$(date) - running ${SECONDS} seconds]"
 
 dpkg_to_db # make sure we catch the last log line as well, therefore execute between log + einfo
index 84836cc..535d704 100644 (file)
@@ -1,6 +1,6 @@
 ==================================================================
 ==================================================================
-The grml software collection and all included programs that are
-authored by the grml-team, are subject to the terms and conditions
+The Grml software collection and all included programs that are
+authored by the Grml team, are subject to the terms and conditions
 of the GNU GENERAL PUBLIC LICENSE Version 2 or any later version,
 as quoted herein.
 
 of the GNU GENERAL PUBLIC LICENSE Version 2 or any later version,
 as quoted herein.
 
@@ -8,9 +8,6 @@ Please note that this license does NOT automatically apply to
 third-party programs included on this CD. Check
 /usr/share/doc/*/copyright* and other supplied license files
 of each software package carefully for more information.
 third-party programs included on this CD. Check
 /usr/share/doc/*/copyright* and other supplied license files
 of each software package carefully for more information.
-
-Information regarding the sources of this ISO can be found at
-http://sources.grml.org/
 ==================================================================
 
                    GNU GENERAL PUBLIC LICENSE
 ==================================================================
 
                    GNU GENERAL PUBLIC LICENSE
index d3a2193..5d36e7f 100644 (file)
@@ -1,4 +1,12 @@
 submenu "%GRML_NAME% - advanced options  ->" --class=submenu {
 submenu "%GRML_NAME% - advanced options  ->" --class=submenu {
+menuentry "%GRML_NAME% - enable Predictable Network Interface Names" {
+    set gfxpayload=keep
+    echo 'Loading kernel...'
+    linux  /boot/%SHORT_NAME%/vmlinuz apm=power-off boot=live live-media-path=/live/%GRML_NAME%/ bootid=%BOOTID% nomce "${loopback}" "${kernelopts}" 
+    echo 'Loading initrd...'
+    initrd /boot/%SHORT_NAME%/initrd.img
+}
+
 menuentry "%GRML_NAME% - enable persistency mode" {
     set gfxpayload=keep
     echo 'Loading kernel...'
 menuentry "%GRML_NAME% - enable persistency mode" {
     set gfxpayload=keep
     echo 'Loading kernel...'
index dd19d4d..17560a2 100644 (file)
@@ -13,6 +13,16 @@ label debug
                                         bootup sequence.
   endtext
 
                                         bootup sequence.
   endtext
 
+label pnet
+  menu label %GRML_NAME% - Enable Predictable ^Network Interface Names
+  kernel /boot/%SHORT_NAME%/vmlinuz
+  append initrd=/boot/%SHORT_NAME%/initrd.img boot=live live-media-path=/live/%GRML_NAME%/ bootid=%BOOTID% apm=power-off vga=791 nomce 
+
+  text help
+                                        Boot Grml with Predictable
+                                        Network Interface Names.
+  endtext
+
 label nofb
   menu label %GRML_NAME% - Dis^able Framebuffer
   kernel /boot/%SHORT_NAME%/vmlinuz
 label nofb
   menu label %GRML_NAME% - Dis^able Framebuffer
   kernel /boot/%SHORT_NAME%/vmlinuz