Хотя шаги Меандикса могут работать, я не думаю, что это лучший способ. Итак, вот мои шаги:
В /usr/share/initramfs-tools/hooks создайте новый файл. Я назвал мой fsc для кеша файловой системы. Добавьте следующее содержимое в файл:#!/bin/sh
set -e
PREREQ=""
prereqs () {
echo "${PREREQ}"
}
case "${1}" in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
copy_exec /sbin/mount.nfs /sbin
exit 0
Сделать КФС исполняемый файл: chmod 755 /usr/share/initramfs-tools/hooks/fsc
Изменить /usr/share/initramfs-tools/scripts/nfs, как meanderix предлагает. Создайте свои initramfs. например: mkinitramfs -o /fscinitrd
Разница и настоящая магия здесь - это файл /usr/share/initramfs-tools/hooks/fsc. В частности, строка copy_exec. Когда создается исходный RAM-диск, он автоматически добавит mount.nfs к initramfs. Но подождите, есть еще! Он также определит необходимые библиотеки и добавит их для вас. Это действительно здорово, так как на Ubuntu 16.04 мне нужно libtirpc.so, поскольку mount.nfs зависела от него, и это добавило эти зависимости для меня.
После этого и настройки cachefilesd теперь у меня есть кэширование файловой системы для моего NFSROOT, и это просто потрясающе.