Sindbad~EG File Manager
#!/bin/sh
# SPDX-License-Identifier: GPL-3.0-only
set -e
# for initramfs-tools hook-functions
export DESTDIR=/run/initramfs
# for /usr/lib/dracut/dracut-install
export DESTROOTDIR=$DESTDIR
# initramfs-tools now requires this to be set
export verbose=n
# something already created shutdown initramfs
# same check is done by e.g. dracut-shutdown
# it is expected that any shutdown initramfs is good enough
[ ! -x $DESTDIR/bin/sh ] || exit 0
# /run may be mounted noexec,nosuid => fix it
# it should be a more normal/default filesystem post-pivot
# systemd-shutdownd pivot does not currently remount /run with these
# options
mount -o remount,exec /run
### SHUTDOWN SUPPORT ###
# our shutdown sequence is to be controled by systemd-shutdown which
# will unmount all the things, and run our hooks
for bin in /bin/sh /lib/systemd/systemd-shutdown
do
rm -f /run/finalrd-libs.conf
touch /run/finalrd-libs.conf
for lib in `LD_TRACE_LOADED_OBJECTS=1 $bin | grep -Eow "/.* "`
do
if [ "$lib" = '=>' ]
then
continue
fi
if grep -q $lib /run/finalrd-libs.conf
then
continue
fi
echo "d $(dirname $DESTDIR$lib)" >> /run/finalrd-libs.conf
if [ -L $lib ]
then
target=$(realpath -e $lib)
echo "C $DESTDIR$target - - - - $target" >> /run/finalrd-libs.conf
echo "L $DESTDIR$lib - - - - $(readlink $lib)" >> /run/finalrd-libs.conf
else
echo "C $DESTDIR$lib - - - - $lib" >> /run/finalrd-libs.conf
fi
done
done
systemd-tmpfiles --create /usr/lib/finalrd/finalrd-static.conf /run/finalrd-libs.conf
### HOOKS SUPPORT ###
# Without initramfs-tools, hooks are not supported
[ -e /usr/share/initramfs-tools/hook-functions ] || exit 0
. /usr/share/initramfs-tools/hook-functions
for d in /usr/share/finalrd /etc/finalrd /run/finalrd
do
if [ -d $d ]
then
run-parts -v --regex='^.*\.finalrd$' --arg=setup -- $d || :
find $d -executable -name '*.finalrd' -exec cp -- "{}" $DESTDIR/lib/systemd/system-shutdown \;
fi
done
ldconfig -r $DESTDIR
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists