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:
parent
301eac8e8b
commit
43bc352c59
38
diskimage_builder/elements/debootstrap/finalise.d/80-update-initramfs
Executable file
38
diskimage_builder/elements/debootstrap/finalise.d/80-update-initramfs
Executable 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).
|
Loading…
Reference in New Issue
Block a user