1 2#!/bin/bash 3 4# Author: Xianjun Jiao 5# SPDX-FileCopyrightText: 2019 UGent 6# SPDX-License-Identifier: AGPL-3.0-or-later 7 8# Setup Eth connection before this script! 9# Host: 192.168.10.1 10# Board: 192.168.10.122 11# Commands onboard to setup: 12# ifconfig eth0 192.168.10.122 netmask 255.255.255.0 13# ifconfig eth0 up 14# route add default gw 192.168.10.1 15 16if [ "$#" -ne 2 ]; then 17 echo "You have input $# arguments." 18 echo "You must enter \$DIR_TO_ADI_LINUX_KERNEL and \$BOARD_NAME as argument" 19 exit 1 20fi 21 22DIR_TO_ADI_LINUX_KERNEL=$1 23BOARD_NAME=$2 24 25if [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "antsdr_e200" ] && [ "$BOARD_NAME" != "sdrpi" ] && [ "$BOARD_NAME" != "neptunesdr" ] && [ "$BOARD_NAME" != "zc706_fmcs2" ] && [ "$BOARD_NAME" != "zc702_fmcs2" ] && [ "$BOARD_NAME" != "zed_fmcs2" ] && [ "$BOARD_NAME" != "adrv9361z7035" ] && [ "$BOARD_NAME" != "adrv9364z7020" ] && [ "$BOARD_NAME" != "zcu102_fmcs2" ]; then 26 echo "\$BOARD_NAME is not correct. Please check!" 27 exit 1 28else 29 echo "\$BOARD_NAME is found!" 30fi 31 32if [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then 33 LINUX_KERNEL_IMAGE=$DIR_TO_ADI_LINUX_KERNEL/arch/arm64/boot/Image 34 DTB_FILENAME="system.dtb" 35else 36 LINUX_KERNEL_IMAGE=$DIR_TO_ADI_LINUX_KERNEL/arch/arm/boot/uImage 37 DTB_FILENAME="devicetree.dtb" 38fi 39 40mkdir -p kernel_modules 41rm -rf ./kernel_modules/* 42find $DIR_TO_ADI_LINUX_KERNEL/ -name \*.ko -exec cp {} ./kernel_modules/ \; 43 44cp $DIR_TO_ADI_LINUX_KERNEL/Module.symvers ./kernel_modules/ 45cp $DIR_TO_ADI_LINUX_KERNEL/modules.builtin ./kernel_modules/ 46cp $DIR_TO_ADI_LINUX_KERNEL/modules.builtin.modinfo ./kernel_modules/ 47cp $DIR_TO_ADI_LINUX_KERNEL/modules.order ./kernel_modules/ 48 49if test -f "$LINUX_KERNEL_IMAGE"; then 50 cp $LINUX_KERNEL_IMAGE ./kernel_modules/ 51fi 52 53if test -f "../kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN"; then 54 cp ../kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN ./kernel_modules/ 55fi 56if test -f "../kernel_boot/boards/$BOARD_NAME/$DTB_FILENAME"; then 57 cp ../kernel_boot/boards/$BOARD_NAME/$DTB_FILENAME ./kernel_modules/ 58fi 59tar -zcvf kernel_modules.tar.gz kernel_modules 60 61scp kernel_modules.tar.gz root@192.168.10.122: 62 63# scp $LINUX_KERNEL_IMAGE [email protected]: 64 65scp populate_kernel_image_module_reboot.sh root@192.168.10.122: 66