debootstrap: Call update-initramfs explicitly

Many elements install additional distribution packages.
In addition the user can provide a set of packages to be installed
via the '-p' switch.
Some of them influence the boot process and therefore the initramfs
needs to be updated. Because the package manager during the image
creation process is configured not to run package scripts, this needs
to be done explicitly.

This issue was found during development and debugging of the
block-device LVM plugin: Even when the e.g. the lvm2 package
was installed in the image, it was missing in the initramfs
because of the missing update.

Change-Id: I7c92033b3ca80cdd23d081002059d83ca3f53bdb
Signed-off-by: Andreas Florath <andreas@florath.net>
This commit is contained in:
Andreas Florath 2017-09-16 14:49:28 +00:00 committed by Tony Breeds
parent 301eac8e8b
commit 43bc352c59

View File

@ -0,0 +1,38 @@
#!/bin/bash
#
# Copyright 2017 Andreas Florath <andreas@florath.net>
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
# Many elements install additional distribution packages.
# In addition the user can provide a set of packages to be installed
# via the '-p' switch.
# Some of them influence the boot process and therefore the initramfs
# needs to be updated. Because the package manager during the image
# creation process is configured not to run package scripts, this needs
# to be done explicitly.
update-initramfs -u
# Please note that the 'dracut-regenerate' element does a similar job.
# Nevertheless the update-initramfs / mkinitramfs are (currently) the
# standard way for Debian / Ubuntu.
# Also the 'dracut-regenerate' element can currently (Sep 2017) not
# be used with Ubuntu, because of some problems, e.g. it clashes with
# the ubuntu-minimal distribution package (not the DIB element with
# the same name).