#!/bin/bash . ./scripts/colors.sh . ./scripts/funcs.sh . ./scripts/config.sh kernel_version=6.13.3 #--------------- Building Linux Kernel --------------------- kernel() { printf "$UGREEN** Building Linux Kernel\n$RESET" rm -r $build/kernel # &>> $fulllogfile mkdir -p $build/kernel # &>> $fulllogfile cd $build/kernel printf "$UGREEN** Extracting Linux Kernel\n$RESET" tar -xvf $root/downloads/linux-$kernel_version.tar.xz # &>> $fulllogfile check $? "Extract Linux Kernel" cd linux-$kernel_version printf "$UGREEN** Configuring Linux Kernel\n$RESET" make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- mrproper # &>> $fulllogfile cp -v $root/kernel/config-$kernel_version .config # &>> $fulllogfile make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- oldconfig # &>> $fulllogfile check $? "Configure Linux Kernel" printf "$UGREEN** Building Linux Kernel\n$RESET" make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- $makeflags # &>> $fulllogfile check $? "Build Linux Kernel" ls -lh arch/$ARCH/boot/zImage } # kernel #----------------------------------------------------------- #----------- Build and Install kernel modules -------------- kernel_modules() { printf "$UGREEN** Building Linux Kernel modules\n$RESET" cd $build/kernel/linux-$kernel_version make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- modules # &>> fulllogfile check $? "Build Linux Kernel modules" printf "$UGREEN** Installing Linux Kernel modules into rootfs path\n$RESET" make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- INSTALL_MOD_PATH=$rootfspath modules_install # &>> $fulllogfile check $? "Install Linux Kernel modules" rm -v $rootfspath/usr/lib/modules/$kernel_version/{source,build} } # kernel_modules #----------------------------------------------------------- #--------------- Building Linux Kernel with rootfs --------- kernel_with_rootfs() { printf "$UGREEN** Building Linux Kernel with rootfs\n$RESET" if [ ! -d $out ]; then mkdir -pv $out fi cd $build/kernel/linux-$kernel_version make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE- CONFIG_INITRAMFS_SOURCE=$rootfspath $makeflags # &>> fulllogfile check $? "Build Linux Kernel with rootfs" printf "$UGREEN** Installing Linux Kernel into images path\n$RESET" # make ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE INSTALL_MOD_PATH=$rootfspath modules_install # &>> $fulllogfile # rm -v $rootfspath/usr/lib/modules/6.1.91/{source,build} cp -v arch/$ARCH/boot/zImage $sdroot/boot check $? "Install Linux Kernel into images path" } #----------------------------------------------------------- kernel_headers() { printf "$UGREEN** Building Linux Kernel headers\n$RESET" [ ! -d $build/kernel-headers ] && mkdir $build/kernel-headers cd $build/kernel-headers tar -xvf $root/downloads/linux-$kernel_version.tar.xz check $? "Extract Linux Kernel" cd linux-$kernel_version make ARCH=$ARCH headers check $? "Build kernel headers" }