eudev initramfs-tools scripts from devuan

This commit is contained in:
aliriza committed 2023-01-10 10:05:32 +00:00
1 parent bcd1eb52bc
commit 537babea17
4 files changed
+141 -1

No files matched your search

+67
View File
@@ -0,0 +1,67 @@
#!/bin/sh -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
root_over_the_network() {
if egrep -qs '^/dev/(nbd|nd[a-z]|etherd/e)[^[:space:]]+[[:space:]]+/[[:space:]]' /etc/fstab; then
return 0
elif egrep -qs '^[^[:space:]#]+[[:space:]]+/[[:space:]]+nfs[234]?[[:space:]]' /etc/fstab; then
return 0
fi
return 1 # false
}
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/udevd /sbin
copy_exec /bin/udevadm /bin
# copy compat symlink
cp -a /sbin/udevadm $DESTDIR/sbin/udevadm
mkdir -p $DESTDIR/etc/udev
cp -p /etc/udev/udev.conf $DESTDIR/etc/udev/
mkdir -p $DESTDIR/lib/udev/rules.d/
for rules in 50-udev-default.rules 60-persistent-storage.rules \
80-drivers.rules \
64-md-raid.rules 60-persistent-storage-lvm.rules \
55-dm.rules 60-persistent-storage-dm.rules; do
if [ -e /etc/udev/rules.d/$rules ]; then
cp -p /etc/udev/rules.d/$rules $DESTDIR/lib/udev/rules.d/
elif [ -e /lib/udev/rules.d/$rules ]; then
cp -p /lib/udev/rules.d/$rules $DESTDIR/lib/udev/rules.d/
fi
done
# try to autodetect the value of this configuration option
if [ -z "$NEED_PERSISTENT_NET" ] && root_over_the_network; then
NEED_PERSISTENT_NET='yes'
fi
# Copy the rules for persistent network interface names for the benefit of
# systems which need to boot over the network. If this is enabled then the
# initramfs must be rebuilt every time a new network interface is added.
# See #414287 for details.
case "$NEED_PERSISTENT_NET" in
YES|yes|Yes|Y|y)
if [ -e /etc/udev/rules.d/70-persistent-net.rules ]; then
cp -p /etc/udev/rules.d/70-persistent-net.rules $DESTDIR/lib/udev/rules.d/
fi
;;
esac
cp /lib/udev/hotplug.functions $DESTDIR/lib/udev/
for program in ata_id scsi_id; do
copy_exec /lib/udev/$program /lib/udev
done
copy_exec /sbin/blkid /sbin
+23
View File
@@ -0,0 +1,23 @@
#!/bin/sh -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
# Stop udevd, we'll miss a few events while we run init, but we catch up
udevadm control --exit
# move the /dev tmpfs to the rootfs
mount -n -o move /dev ${rootmnt}/dev
# create a temporary symlink to the final /dev for other initramfs scripts
nuke /dev
ln -s ${rootmnt}/dev /dev
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh -e
PREREQS=""
prereqs() { echo "$PREREQS"; }
case "$1" in
prereqs)
prereqs
exit 0
;;
esac
if [ -w /sys/kernel/uevent_helper ]; then
echo > /sys/kernel/uevent_helper
fi
udevd --daemon --resolve-names=never
udevadm trigger --action=add
udevadm settle || true
if [ -d /sys/bus/scsi ]; then
modprobe -q scsi_wait_scan && modprobe -r scsi_wait_scan || true
udevadm settle || true
fi
# If the rootdelay parameter has been set, we wait a bit for devices
# like usb/firewire disks to settle.
if [ "$ROOTDELAY" ]; then
sleep $ROOTDELAY
fi
# Leave udev running to process events that come in out-of-band (like USB
# connections)
+16 -1
View File
@@ -10,10 +10,16 @@ license=('GPLv3')
source=("https://github.com/eudev-project/eudev/releases/download/v$version/eudev-$version.tar.gz"
"eudev.openrc"
"eudev.groups"
"eudev.sysconf")
"eudev.sysconf"
"eudev.init-top"
"eudev.init-bottom"
"eudev.hook")
depends=(kmod)
makedepends=()
md5sums=('417ba948335736d4d81874fba47a30f7'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP')
@@ -55,5 +61,14 @@ package(){
# sysconf
install -Dm755 ../eudev.sysconf \
${DESTDIR}/etc/sysconf.d/eudev
# initramfs-tools stuff
mkdir -p ${DESTDIR}/usr/share/initramfs-tools/{hooks,scripts}
mkdir -p ${DESTDIR}/usr/share/initramfs-tools/scripts/init-{top,bottom}
install ../eudev.hook \
${DESTDIR}/usr/share/initramfs-tools/hooks/udev
install ../eudev.init-top \
${DESTDIR}/usr/share/initramfs-tools/scripts/init-top/udev
install ../eudev.init-bottom \
${DESTDIR}/usr/share/initramfs-tools/scripts/init-bottom/udev
}