busybox add initramfs hook
This commit is contained in:
1 parent
7ebd83d3be
commit
2c6923f94f
3 files changed
+45
-3
No files matched your search
Executable
+39
@@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# This hook copies busybox binary into the initramfs directory
|
||||||
|
# and creates all necessary links to it.
|
||||||
|
# It should be placed last into the hooks directory, in order to
|
||||||
|
# not overwrite commands which are provided by other means.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
case "${1:-}" in
|
||||||
|
prereqs) echo ""; exit 0;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
BB_BIN=/bin/busybox
|
||||||
|
|
||||||
|
[ n = "$BUSYBOX" ] && exit 0
|
||||||
|
|
||||||
|
[ -r /usr/share/initramfs-tools/hook-functions ] || exit 0
|
||||||
|
. /usr/share/initramfs-tools/hook-functions
|
||||||
|
|
||||||
|
if [ -f $DESTDIR/bin/sh ] && cmp -s $DESTDIR/bin/sh $BB_BIN ; then
|
||||||
|
# initramfs copies busybox into /bin/sh, undo this
|
||||||
|
rm -f $DESTDIR/bin/sh
|
||||||
|
fi
|
||||||
|
rm -f $DESTDIR/bin/busybox # for compatibility with old initramfs
|
||||||
|
copy_exec $BB_BIN /bin/busybox
|
||||||
|
|
||||||
|
for alias in $($BB_BIN --list-long); do
|
||||||
|
alias="${alias#/}"
|
||||||
|
case "$alias" in
|
||||||
|
# strip leading /usr, we don't use it
|
||||||
|
usr/*) alias="${alias#usr/}" ;;
|
||||||
|
*/*) ;;
|
||||||
|
*) alias="bin/$alias" ;; # make it into /bin
|
||||||
|
esac
|
||||||
|
|
||||||
|
[ -e "$DESTDIR/$alias" ] || \
|
||||||
|
ln "$DESTDIR/bin/busybox" "$DESTDIR/$alias"
|
||||||
|
done
|
||||||
File renamed without changes.
@@ -9,11 +9,12 @@ maintainer='sulincix'
|
|||||||
license=('GPLv3')
|
license=('GPLv3')
|
||||||
arch=(x86_64)
|
arch=(x86_64)
|
||||||
source=("https://busybox.net/downloads/busybox-$version.tar.bz2"
|
source=("https://busybox.net/downloads/busybox-$version.tar.bz2"
|
||||||
"busybox.sysconf"
|
"files/busybox.sysconf"
|
||||||
|
"files/busybox.initramfs"
|
||||||
)
|
)
|
||||||
md5sums=("585949b1dd4292b604b7d199866e9913"
|
md5sums=("585949b1dd4292b604b7d199866e9913"
|
||||||
"SKIP"
|
"SKIP"
|
||||||
|
"SKIP"
|
||||||
)
|
)
|
||||||
group=(sys.base)
|
group=(sys.base)
|
||||||
|
|
||||||
@@ -30,8 +31,10 @@ build(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
package(){
|
package(){
|
||||||
mkdir -p ${DESTDIR}/bin/ ${DESTDIR}/etc/sysconf.d
|
mkdir -p ${DESTDIR}/bin/ ${DESTDIR}/etc/sysconf.d ${DESTDIR}/usr/share/initramfs-tools/{hooks,conf-hooks.d}/
|
||||||
install busybox ${DESTDIR}/bin/busybox
|
install busybox ${DESTDIR}/bin/busybox
|
||||||
install ../busybox.sysconf ${DESTDIR}/etc/sysconf.d/busybox
|
install ../busybox.sysconf ${DESTDIR}/etc/sysconf.d/busybox
|
||||||
|
install ../busybox.initramfs ${DESTDIR}/usr/share/initramfs-tools/hooks/zz-busybox
|
||||||
|
echo "BUSYBOXDIR=/bin" > ${DESTDIR}/usr/share/initramfs-tools/conf-hooks.d/busybox
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in new issue
Block a user