aboutsummaryrefslogtreecommitdiff
path: root/bootstrap.d/13-kernel.sh
diff options
context:
space:
mode:
authorJan Wagner <mail@jwagner.eu>2016-03-17 17:36:16 +0100
committerJan Wagner <mail@jwagner.eu>2016-03-17 17:36:16 +0100
commit50170a27d4119c047344793bb7aec685acb3ad6e (patch)
tree923c75f339921a125ddafbbd5ebc9bc2ee480ed8 /bootstrap.d/13-kernel.sh
parent24bd7e97cf9d07454c9cde74e4d80a1b3de9dfac (diff)
downloadrpi2-gen-image-50170a27d4119c047344793bb7aec685acb3ad6e.tar.gz
rpi2-gen-image-50170a27d4119c047344793bb7aec685acb3ad6e.tar.bz2
rpi2-gen-image-50170a27d4119c047344793bb7aec685acb3ad6e.zip
Added: KERNEL_REDUCE - less than 128MB used space, Added: REDUCE_ parameters
Diffstat (limited to 'bootstrap.d/13-kernel.sh')
-rw-r--r--bootstrap.d/13-kernel.sh39
1 files changed, 38 insertions, 1 deletions
diff --git a/bootstrap.d/13-kernel.sh b/bootstrap.d/13-kernel.sh
index a8e4f4a..671025d 100644
--- a/bootstrap.d/13-kernel.sh
+++ b/bootstrap.d/13-kernel.sh
@@ -29,7 +29,44 @@ if [ "$BUILD_KERNEL" = true ] ; then
KERNEL_THREADS=$(grep -c processor /proc/cpuinfo)
fi
+ # Configure and build kernel
if [ "$KERNELSRC_PREBUILT" = false ] ; then
+ # Remove device, network and filesystem drivers from kernel configuration
+ if [ "$KERNEL_REDUCE" = true ] ; then
+ make -C "$R/usr/src/linux" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}"
+ sed -i\
+ -e "s/\(^CONFIG_SND.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_SOUND.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_AC97.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_VIDEO_.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_MEDIA_TUNER.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_DVB.*\=\)[ym]/\1n/"\
+ -e "s/\(^CONFIG_REISERFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_JFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_XFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_GFS2.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_OCFS2.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_BTRFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_HFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_JFFS2.*\=\)[ym]/\1n/"\
+ -e "s/\(^CONFIG_UBIFS.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_SQUASHFS.*\=\)[ym]/\1n/"\
+ -e "s/\(^CONFIG_W1.*\=\)[ym]/\1n/"\
+ -e "s/\(^CONFIG_HAMRADIO.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_CAN.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_IRDA.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_BT_.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_WIMAX.*\=\)[ym]/\1n/"\
+ -e "s/\(^CONFIG_6LOWPAN.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_IEEE802154.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_NFC.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_FB_TFT=.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_TOUCHSCREEN.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_USB_GSPCA_.*\=\).*/\1n/"\
+ -e "s/\(^CONFIG_DRM.*\=\).*/\1n/"\
+ "$R/usr/src/linux/.config"
+ fi
+
if [ "$KERNELSRC_CONFIG" = true ] ; then
# Load default raspberry kernel configuration
make -C "$R/usr/src/linux" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}"
@@ -62,7 +99,7 @@ if [ "$BUILD_KERNEL" = true ] ; then
fi
# Install kernel headers
- if [ "$KERNEL_HEADERS" = true ] ; then
+ if [ "$KERNEL_HEADERS" = true ] && [ "$KERNEL_REDUCE" = false ] ; then
make -C "$R/usr/src/linux" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" INSTALL_HDR_PATH=../.. headers_install
fi