#!/bin/sh

set -e

. /usr/share/initramfs-tools/hook-functions

# klibc dependencies
for FILE in /lib/libacl* /lib/libblkid* /lib/libuuid* /lib/libdevmapper* /lib/libattr*
do
if [ ! -e "${DESTDIR}/${FILE}" ] && ls "${FILE}" > /dev/null 2>&1
then
cp -a "${FILE}" "${DESTDIR}/${FILE}"
fi
done


for FILE in /lib/udev/*_id
do
copy_exec "${FILE}"
done

# Filesystem: btrfs
manual_add_modules btrfs

copy_exec /sbin/mount.cifs
manual_add_modules cifs

# Filesystem: ext3/ext4
manual_add_modules ext3
manual_add_modules ext4

# Filesystem: hfs/hfsplus
manual_add_modules hfs
manual_add_modules hfsplus

# Filesystem: jffs2
manual_add_modules jffs2

copy_exec /usr/bin/rsync /bin

# Filesystem: squashfs
copy_exec /sbin/losetup
manual_add_modules loop
manual_add_modules squashfs
manual_add_modules sqlzma
manual_add_modules unlzma

# Filesystem: aufs/overlay
manual_add_modules aufs
manual_add_modules overlay

# Filesystem: vfat
manual_add_modules nls_cp437
manual_add_modules nls_iso8859-1
manual_add_modules nls_utf8
manual_add_modules nls_ascii
manual_add_modules vfat
manual_add_modules exfat
manual_add_modules ntfs


manual_add_modules dm-verity
# The BusyBox mount does not support dm-verity so we use the util-linux version.
copy_exec /bin/mount /bin

manual_add_modules of_pmem
manual_add_modules nd_pmem
manual_add_modules nfit

manual_add_modules ide-cd
manual_add_modules ide-generic
manual_add_modules ohci1394
manual_add_modules sbp2
manual_add_modules sr_mod

manual_add_modules sd_mod
# Hardware: network
auto_add_modules net
auto_add_modules scsi

copy_exec /bin/udevadm

manual_add_modules fuse

copy_exec /usr/bin/lspci
copy_exec /usr/sbin/iscsistart /bin
#manual_add_modules ib_iser
manual_add_modules iscsi_tcp
manual_add_modules crc32c

for module in amdgpu nouveau radeon drm simple_drm simplefb; do
        manual_add_modules "${module}"
done

for iproute2 in `dpkg -L iproute2|grep -v man|grep -v doc|grep -v usr/share|grep -v include`; do
copy_exec "${iproute2}"
done

