install2: introduce tunable kernel driver cleanup

This one has been missing for quite some time (infiniband modules
should have triggered a commit like this back then), finally there
in very crude and draft form for the starters.
This commit is contained in:
Michael Shigorin 2014-03-23 00:19:27 +04:00
parent 1e65a52c5e
commit 148c477c5b
3 changed files with 17 additions and 1 deletions

View File

@ -11,3 +11,10 @@
поскольку это прямо влияет на требования по минимальному размеру
оперативной памяти для установки (если не задействован параметр
загрузки ядра lowmem, обрабатываемый propagator).
При необходимости принудительно удалить что-либо из попавшего
в образ инсталятора (вместе с "оптовым" пакетом либо по зависимостям,
когда точно известно, что для данного применения они избыточны) можно
воспользоваться переменной INSTALL2_CLEANUP_PACKAGES для указания
списка пакетов на удаление без учёта зависимостей перед формированием
squashfs и INSTALL2_CLEANUP_KDRIVERS для удаления излишних модулей ядра.

View File

@ -13,6 +13,7 @@ use/install2: use/stage2 sub/stage2@install2 use/metadata \
@$(call add,BASE_LISTS,$(call tags,basesystem))
@$(call xport,BASE_BOOTLOADER)
@$(call xport,INSTALL2_CLEANUP_PACKAGES)
@$(call xport,INSTALL2_CLEANUP_KDRIVERS)
# doesn't use/install2/fs on purpose (at least so far)
use/install2/full: use/install2/packages use/install2/kms \

View File

@ -13,6 +13,15 @@ rm -f /lib*/evms/*/{bbr,csm,drivelink,ogfs,replace,snapshot}*
# unneeded kernel modules
### some of these removals belong to a purge grade script
### TODO: mostly scsi-less and net-less cleanup for antique
## dynamic part
if [ -n "$GLOBAL_INSTALL2_CLEANUP_KDRIVERS" ]; then
for i in $GLOBAL_INSTALL2_CLEANUP_KDRIVERS; do
rm -rf /lib/modules/*/"$i"
done
fi
## static part
rm -rf /lib/modules/*/kernel/arch
rm -rf /lib/modules/*/kernel/drivers/atm
rm -rf /lib/modules/*/kernel/drivers/bluetooth
@ -20,7 +29,6 @@ rm -rf /lib/modules/*/kernel/drivers/char/{ipmi,hw_random,mwave,tpm}
rm -rf /lib/modules/*/kernel/drivers/char/watchdog
rm -rf /lib/modules/*/kernel/drivers/cpufreq
rm -rf /lib/modules/*/kernel/drivers/edac
#rm -rf /lib/modules/*/kernel/drivers/firmware ### EFI
rm -rf /lib/modules/*/kernel/drivers/gpio
rm -rf /lib/modules/*/kernel/drivers/hwmon
rm -rf /lib/modules/*/kernel/drivers/infiniband ###