Где я могу настроить, какие двоичные файлы update-initramfs копирует в каталог / sbin внутри образа initrd?
Я искал в / etc / initramfs -tools и / usr / lib / initramfs-tools, но нигде не удалось найти список двоичных файлов
# grep -ri sbin /etc/initramfs-tools
# grep -ri sbin /usr/lib/initramfs-tools
#
Необходимо использовать записи в /usr/share/initramfs-tools/hooks
. Эти файлы выполняются, когда Вы вводите update-initramfs
. Создайте свой собственный сценарий рычага или удалите сценарии.
Другая папка /etc/initramfs-tools/hook
От man initramfs-tools
Hooks can be found in two places: /usr/share/initramfs-tools/hooks and
/etc/initramfs-tools/hooks. They are executed during generation of the
initramfs-image and are responsible for including all the necessary
components in the image itself. No guarantees are made as to the order
in which the different scripts are executed unless the prereqs are
setup in the script.
Отметьте, сценарии рычага являются частью пакетов, например. kmod
. Пакет создает файл kmod
в /usr/share/initramfs-tools/hooks
.
Демонстрационный сценарий
#!/bin/sh -e
# Copy the compatibility symlinks until initramfs-tools will be converted
# to use the kmod program.
if [ "$1" = "prereqs" ]; then exit 0; fi
. /usr/share/initramfs-tools/hook-functions
copy_exec /bin/kmod
cp -a /sbin/modprobe /sbin/rmmod $DESTDIR/sbin/
mkdir -p $DESTDIR/lib/modprobe.d/
if [ "$(echo /lib/modprobe.d/*)" != "/lib/modprobe.d/*" ]; then
cp -a /lib/modprobe.d/* $DESTDIR/lib/modprobe.d/
fi
Как Вы видите, сценарий рычага копирует все файлы в /lib/modprobe.d/
в initramfs/lib/modprobe.d/
cp -a /lib/modprobe.d/* $DESTDIR/lib/modprobe.d/
и modprobe
в initramfs/sbin
cp -a /sbin/modprobe /sbin/rmmod $DESTDIR/sbin/
Ваше собственное initrd.img
с одним файлом foo
cd
mkdir initrd
cd initrd
touch foo # an example file
find . | cpio -o -H newc > ../initrd.img
cd ..
gzip initrd.img
cp initrd.img.gz initrd.img
Проверьте содержание Вашего initrd.img
cd
mkdir initrd_out
cd initrd_out
cpio -i < ../initrd.img
И с ls
необходимо видеть один файл
% ls
foo
BD
в то место прежде, чем применить его. Но поскольку я упомянул, никакое улучшение, к сожалению. Это могло быть что-то связывающее драйвер для чипсета? Я искал его, но не мог найти собственный драйвер для RT5370. – user1362452 31 December 2016 в 03:02