diff --git a/build-kernel.sh b/build-kernel.sh index b51e99188..ccdd790cd 100755 --- a/build-kernel.sh +++ b/build-kernel.sh @@ -1,7 +1,18 @@ #!/bin/bash +ARMBIAN_KERNEL_PATCH_RELEASE=$(cat "armbian-rk-6.1-rkr5-patch-release") +COOLPI_KERNEL_PATCH_RELEASE=$(cat "coolpi-linux-6.1-stan-rkr3.1-patch-release") + +VERSION=$(awk 'NR==2 {print $3}' Makefile) +PATCHLEVEL=$(awk 'NR==3 {print $3}' Makefile) +SUBLEVEL=$(awk 'NR==4 {print $3}' Makefile) + +K_VER="$VERSION.$PATCHLEVEL.$SUBLEVEL" K_SRC=`pwd` +WELCOME_MESSAGE="Welcome to the CoolPi Linux LTS v$K_VER kernel deployment tool!" +MESSAGE_LENGTH=${#WELCOME_MESSAGE} + ARCH=`uname -m` if [ "$ARCH" == "x86_64" ]; then export CROSS_COMPILE=aarch64-linux-gnu- @@ -11,10 +22,15 @@ fi export ARCH=arm64 echo -echo "Welcome to using Coolpi Development Board!" -echo "------------------------------------------" +echo "$WELCOME_MESSAGE" +printf '%*s\n' "$MESSAGE_LENGTH" | tr ' ' '-' +echo +echo "Armbian Kernel Patch Release: $ARMBIAN_KERNEL_PATCH_RELEASE (Branch: rk-6.1-rkr5)" +echo "CoolPi Kernel Patch Release: $COOLPI_KERNEL_PATCH_RELEASE (Branch: linux-6.1-stan-rkr3.1)" +echo echo "Please enter a number to select your machine" echo +echo "0. Reset Directory" echo "1. cp4b" echo "2. cp4b-hdmi-in" echo "3. cm5-evb" @@ -24,11 +40,20 @@ echo "6. cm5-notebook" echo "7. cm5-notebook-v20" echo "8. cm5-8uart" echo "9. cpnano" -echo "10. exit" +echo "10. Exit Script" echo -read -rp "Enter option number: " choice +read -rp "Option: " choice case $choice in + 0) + make clean mrproper + echo + echo "----------------" + echo "Action Completed" + echo "----------------" + echo + ./build-kernel.sh + ;; 1) echo "BOARD=cp4b" BOARD="cp4b" @@ -174,7 +199,6 @@ if [ "$RV1106" == "1" ]; then #cp demo-cfgs/cmdline.txt out/cmdline.txt #cp demo-cfgs/$txt_config_file out/config.txt cp demo-cfgs/$txt_extconf_file out/extlinux/extlinux.conf - cp demo-cfgs/initrd32.img out/initrd32.img else make ARCH=arm64 LOCALVERSION= $cfg make ARCH=arm64 LOCALVERSION= -j8 @@ -189,11 +213,11 @@ else rm -rf out_modules mkdir -p out_modules rm -rf out_headers - mkdir -p out_headers/usr/src/linux-headers-6.1.75 + mkdir -p out_headers/usr/src/linux-headers-$K_VER cd $K_SRC make ARCH=arm64 modules_install INSTALL_MOD_PATH=out_modules - make ARCH=arm64 headers_install INSTALL_HDR_PATH=out_headers/usr/src/linux-headers-6.1.75 + make ARCH=arm64 headers_install INSTALL_HDR_PATH=out_headers/usr/src/linux-headers-$K_VER rm -rf out mkdir -p out/extlinux cp vmlinuz out/ @@ -201,14 +225,13 @@ else cp demo-cfgs/cmdline.txt out/cmdline.txt cp demo-cfgs/$txt_config_file out/config.txt cp demo-cfgs/$txt_extconf_file out/extlinux/extlinux.conf - cp demo-cfgs/initrd.img out/initrd.img fi -cd $K_SRC/out_modules/lib/modules/6.1.75 +cd $K_SRC/out_modules/lib/modules/$K_VER unlink source unlink build -ln -sf /usr/src/linux-headers-6.1.75/ build -ln -sf /usr/src/linux-headers-6.1.75/ source +ln -sf /usr/src/linux-headers-$K_VER/ build +ln -sf /usr/src/linux-headers-$K_VER/ source cd $K_SRC/out_modules/lib/ tar -czf ../../modules.tar.gz * cd $K_SRC/out_headers/usr/ @@ -237,40 +260,39 @@ mkdir -m 0755 -p $KDEB_DIR/DEBIAN cd $KDEB_DIR mkdir -p boot/firmware && cp -a $K_SRC/out/* boot/firmware/ mkdir -p usr/lib && cp -a $K_SRC/out_modules/lib/modules usr/lib/ -cp $K_SRC/demo-cfgs/initrd.img boot/firmware/ cat << EOF > $KDEB_DIR/DEBIAN/control -Package: linux-image-6.1.75 -Source: linux-6.1.75 +Package: linux-image-$K_VER +Source: linux-$K_VER Version: 100 Architecture: arm64 -Maintainer: coolpi +Maintainer: rockchip armbian nathan coolpi Section: kernel Priority: optional Homepage: https://www.kernel.org/ -Description: Linux kernel, version 100 +Description: Linux kernel, version $K_VER This package contains the Linux kernel, modules and corresponding other - files, version: 6.1.75. + files, version: $K_VER. EOF cd $KDEB_DIR && dpkg-deb "--root-owner-group" --build . .. cd $K_SRC KHDEB_DIR=$K_SRC/.tmp_h -HDR_DIR=$KHDEB_DIR/usr/src/linux-headers-6.1.75 +HDR_DIR=$KHDEB_DIR/usr/src/linux-headers-$K_VER rm -rf $KHDEB_DIR mkdir -m 0755 -p $KHDEB_DIR/DEBIAN mkdir -p $HDR_DIR cat << EOF > $KHDEB_DIR/DEBIAN/control -Package: linux-headers-6.1.75 -Source: linux-6.1.75 +Package: linux-headers-$K_VER +Source: linux-$K_VER Version: 100 Architecture: arm64 -Maintainer: coolpi +Maintainer: rockchip armbian nathan coolpi Section: kernel Priority: optional Homepage: https://www.kernel.org/ -Description: Linux kernel headers, version 100 +Description: Linux kernel headers, version $K_VER This package contains the Linux kernel, modules and corresponding other - files, version: 6.1.75. + files, version: $K_VER. EOF ( cd $K_SRC