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). загрузки ядра 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 add,BASE_LISTS,$(call tags,basesystem))
@$(call xport,BASE_BOOTLOADER) @$(call xport,BASE_BOOTLOADER)
@$(call xport,INSTALL2_CLEANUP_PACKAGES) @$(call xport,INSTALL2_CLEANUP_PACKAGES)
@$(call xport,INSTALL2_CLEANUP_KDRIVERS)
# doesn't use/install2/fs on purpose (at least so far) # doesn't use/install2/fs on purpose (at least so far)
use/install2/full: use/install2/packages use/install2/kms \ 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 # unneeded kernel modules
### some of these removals belong to a purge grade script ### some of these removals belong to a purge grade script
### TODO: mostly scsi-less and net-less cleanup for antique ### 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/arch
rm -rf /lib/modules/*/kernel/drivers/atm rm -rf /lib/modules/*/kernel/drivers/atm
rm -rf /lib/modules/*/kernel/drivers/bluetooth 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/char/watchdog
rm -rf /lib/modules/*/kernel/drivers/cpufreq rm -rf /lib/modules/*/kernel/drivers/cpufreq
rm -rf /lib/modules/*/kernel/drivers/edac 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/gpio
rm -rf /lib/modules/*/kernel/drivers/hwmon rm -rf /lib/modules/*/kernel/drivers/hwmon
rm -rf /lib/modules/*/kernel/drivers/infiniband ### rm -rf /lib/modules/*/kernel/drivers/infiniband ###