initramfs-tools: kernel hooks support, remove -B flag.
This commit is contained in:
parent
1cf57eab23
commit
b2c180073d
5 changed files with 43 additions and 46 deletions
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Kernel post-install hook for initramfs-tools.
|
||||||
|
#
|
||||||
|
# Arguments passed to this script: $1 pkgname, $2 version.
|
||||||
|
#
|
||||||
|
PKGNAME="$1"
|
||||||
|
VERSION="$2"
|
||||||
|
|
||||||
|
if [ ! -x /usr/sbin/update-initramfs ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/sbin/update-initramfs -c -t -k ${VERSION}
|
||||||
|
exit $?
|
|
@ -0,0 +1,15 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Kernel post-remove hook for initramfs-tools.
|
||||||
|
#
|
||||||
|
# Arguments passed to this script: $1 pkgname, $2 version.
|
||||||
|
#
|
||||||
|
PKGNAME="$1"
|
||||||
|
VERSION="$2"
|
||||||
|
|
||||||
|
if [ ! -x /usr/sbin/update-initramfs ]; then
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
/usr/sbin/update-initramfs -d -t -k ${VERSION}
|
||||||
|
exit $?
|
|
@ -24,7 +24,6 @@ Options:
|
||||||
-d Remove an existing initramfs
|
-d Remove an existing initramfs
|
||||||
-t Take over a custom initramfs with this one
|
-t Take over a custom initramfs with this one
|
||||||
-b Set alternate boot directory
|
-b Set alternate boot directory
|
||||||
-B Do not update bootloader configuration file
|
|
||||||
-v Be verbose
|
-v Be verbose
|
||||||
-V Show initramfs-tools version
|
-V Show initramfs-tools version
|
||||||
-h This message
|
-h This message
|
||||||
|
@ -160,32 +159,6 @@ generate_initramfs()
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Invoke bootloader
|
|
||||||
run_bootloader()
|
|
||||||
{
|
|
||||||
local grub_installed
|
|
||||||
|
|
||||||
[ -r /boot/grub/grub.cfg ] \
|
|
||||||
&& groot=$(awk '/^set root=/{print substr($2, 8, 3); exit}' \
|
|
||||||
/boot/grub/grub.cfg)
|
|
||||||
[ -e /boot/grub/device.map ] && [ -n "${groot}" ] \
|
|
||||||
&& dev=$(awk "/${groot}/{ print \$NF}" /boot/grub/device.map)
|
|
||||||
|
|
||||||
if [ -n "${dev}" -a -r "${dev}" ]; then
|
|
||||||
dd if="${dev}" bs=512 skip=0 count=1 2>/dev/null|grep -q GRUB
|
|
||||||
[ $? -eq 0 ] && grub_installed=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "${dev}" -a -z "$grub_installed" ]; then
|
|
||||||
echo "WARNING: GRUB2 has not been installed into ${dev}."
|
|
||||||
echo "update-initramfs: please run 'grub-install ${dev}'."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if command -v grub-mkconfig >/dev/null 2>&1; then
|
|
||||||
grub-mkconfig -o /boot/grub/grub.cfg
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
compare_sha1()
|
compare_sha1()
|
||||||
{
|
{
|
||||||
sha1sum "${initramfs}" | diff "${STATEDIR}/${version}" - >/dev/null 2>&1
|
sha1sum "${initramfs}" | diff "${STATEDIR}/${version}" - >/dev/null 2>&1
|
||||||
|
@ -303,8 +276,6 @@ create()
|
||||||
fi
|
fi
|
||||||
|
|
||||||
generate_initramfs
|
generate_initramfs
|
||||||
|
|
||||||
[ -n "${dogrub}" ] && run_bootloader
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update()
|
update()
|
||||||
|
@ -369,8 +340,6 @@ delete()
|
||||||
delete_sha1
|
delete_sha1
|
||||||
|
|
||||||
rm -f "${initramfs}" "${initramfs}.bak"
|
rm -f "${initramfs}" "${initramfs}.bak"
|
||||||
|
|
||||||
[ -n "${dogrub}" ] && run_bootloader
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Check for update mode on existing and modified initramfs
|
# Check for update mode on existing and modified initramfs
|
||||||
|
@ -392,15 +361,11 @@ verbose=0
|
||||||
yes=0
|
yes=0
|
||||||
# We default to takeover=1 in Ubuntu, but not Debian
|
# We default to takeover=1 in Ubuntu, but not Debian
|
||||||
takeover=0
|
takeover=0
|
||||||
dogrub=1
|
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
||||||
while getopts "k:cudyvtb:h?BV" flag; do
|
while getopts "k:cudyvtb:h?V" flag; do
|
||||||
case "${flag}" in
|
case "${flag}" in
|
||||||
B)
|
|
||||||
unset dogrub
|
|
||||||
;;
|
|
||||||
k)
|
k)
|
||||||
version="${OPTARG}"
|
version="${OPTARG}"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
.TH UPDATE-INITRAMFS 8 "2010/02/25" "Linux" "update\-initramfs manual"
|
.TH UPDATE-INITRAMFS 8 "2011/07/09" "Linux" "update\-initramfs manual"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
update\-initramfs \- generate an initramfs image
|
update\-initramfs \- generate an initramfs image
|
||||||
|
@ -12,7 +12,6 @@ update\-initramfs \- generate an initramfs image
|
||||||
.RB [ \-v ]
|
.RB [ \-v ]
|
||||||
.RB [ \-V ]
|
.RB [ \-V ]
|
||||||
.RB [ \-b ]
|
.RB [ \-b ]
|
||||||
.RB [ \-B ]
|
|
||||||
.RB [ \-h ]
|
.RB [ \-h ]
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
The
|
The
|
||||||
|
@ -71,11 +70,6 @@ Prints the current initramfs-tools version.
|
||||||
\fB \-b
|
\fB \-b
|
||||||
Set an different bootdir for the image creation.
|
Set an different bootdir for the image creation.
|
||||||
|
|
||||||
.TP
|
|
||||||
\fB \-B
|
|
||||||
Do not update the boot configuration file (grub.cfg for grub2) after
|
|
||||||
building successfully the initramfs.
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
\fB \-h
|
\fB \-h
|
||||||
Print a short help page describing the available options in
|
Print a short help page describing the available options in
|
||||||
|
@ -97,9 +91,9 @@ Create the initramfs for a specific kernel:
|
||||||
/etc/initramfs-tools/update-initramfs.conf
|
/etc/initramfs-tools/update-initramfs.conf
|
||||||
|
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
The initramfs-tools available in XBPS are maintained by
|
The initramfs-tools from Vanilla are maintained by
|
||||||
Juan Romero Pardines <xtraeme@gmail.com>, they diverged substantially
|
Juan Romero Pardines <xtraeme@gmail.com>, they diverged substantially
|
||||||
from the original implementation comming from Debian.
|
from the original implementation coming from Debian.
|
||||||
|
|
||||||
The initramfs-tools from Debian are written by Maximilian Attems <maks@debian.org>,
|
The initramfs-tools from Debian are written by Maximilian Attems <maks@debian.org>,
|
||||||
Jeff Bailey <jbailey@raspberryginger.com> and numerous others.
|
Jeff Bailey <jbailey@raspberryginger.com> and numerous others.
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
# Template file for 'initramfs-tools'
|
# Template file for 'initramfs-tools'
|
||||||
pkgname=initramfs-tools
|
pkgname=initramfs-tools
|
||||||
_localver=0.99.19 # This is the XBPS version
|
_localver=0.99.20 # This is the XBPS version
|
||||||
_distver=0.98.8 # This should match debian version
|
_distver=0.98.8 # This should match debian version
|
||||||
version=${_localver}.${_distver}
|
version=${_localver}.${_distver}
|
||||||
build_style=custom-install
|
build_style=custom-install
|
||||||
short_desc="Tools for generating an initramfs"
|
short_desc="Tools for generating an initramfs"
|
||||||
maintainer="Juan RP <xtraeme@gmail.com>"
|
maintainer="Juan RP <xtraeme@gmail.com>"
|
||||||
|
homepage="http://vanilla.github.com"
|
||||||
|
license="GPL-2"
|
||||||
long_desc="
|
long_desc="
|
||||||
This package contains tools to create and boot an initramfs for packaged 2.6
|
This package contains tools to create and boot an initramfs for packaged 2.6
|
||||||
Linux kernel. The initramfs is a gzipped cpio archive. At boot time, the
|
Linux kernel. The initramfs is a gzipped cpio archive. At boot time, the
|
||||||
|
@ -100,4 +102,10 @@ do_install()
|
||||||
# bash_completion.d
|
# bash_completion.d
|
||||||
install -D -m644 $FILESDIR/bash_completion.d/initramfs-tools \
|
install -D -m644 $FILESDIR/bash_completion.d/initramfs-tools \
|
||||||
${DESTDIR}/etc/bash_completion.d/initramfs-tools
|
${DESTDIR}/etc/bash_completion.d/initramfs-tools
|
||||||
|
|
||||||
|
# Kernel hooks
|
||||||
|
vinstall ${FILESDIR}/kernel.d/${pkgname}.postinst \
|
||||||
|
755 etc/kernel.d/post-install 10-${pkgname}
|
||||||
|
vinstall ${FILESDIR}/kernel.d/${pkgname}.postrm \
|
||||||
|
755 etc/kernel.d/post-remove 10-${pkgname}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue