16a4d7ceaSXianjun Jiao 26a4d7ceaSXianjun Jiao#!/bin/bash 36a4d7ceaSXianjun Jiao 46a4d7ceaSXianjun Jiao# Author: Xianjun Jiao 56a4d7ceaSXianjun Jiao# SPDX-FileCopyrightText: 2019 UGent 66a4d7ceaSXianjun Jiao# SPDX-License-Identifier: AGPL-3.0-or-later 76a4d7ceaSXianjun Jiao 86a4d7ceaSXianjun Jiao# Setup Eth connection before this script! 96a4d7ceaSXianjun Jiao# Host: 192.168.10.1 106a4d7ceaSXianjun Jiao# Board: 192.168.10.122 116a4d7ceaSXianjun Jiao# Commands onboard to setup: 126a4d7ceaSXianjun Jiao# ifconfig eth0 192.168.10.122 netmask 255.255.255.0 136a4d7ceaSXianjun Jiao# ifconfig eth0 up 146a4d7ceaSXianjun Jiao# route add default gw 192.168.10.1 156a4d7ceaSXianjun Jiao 166a4d7ceaSXianjun Jiaoif [ "$#" -ne 2 ]; then 176a4d7ceaSXianjun Jiao echo "You have input $# arguments." 186a4d7ceaSXianjun Jiao echo "You must enter \$DIR_TO_ADI_LINUX_KERNEL and \$BOARD_NAME as argument" 196a4d7ceaSXianjun Jiao exit 1 206a4d7ceaSXianjun Jiaofi 216a4d7ceaSXianjun Jiao 226a4d7ceaSXianjun JiaoDIR_TO_ADI_LINUX_KERNEL=$1 236a4d7ceaSXianjun JiaoBOARD_NAME=$2 246a4d7ceaSXianjun Jiao 25*a47b55e6SJiao Xianjunif [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "antsdr_e200" ] && [ "$BOARD_NAME" != "e310v2" ] && [ "$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 266a4d7ceaSXianjun Jiao echo "\$BOARD_NAME is not correct. Please check!" 276a4d7ceaSXianjun Jiao exit 1 286a4d7ceaSXianjun Jiaoelse 296a4d7ceaSXianjun Jiao echo "\$BOARD_NAME is found!" 306a4d7ceaSXianjun Jiaofi 316a4d7ceaSXianjun Jiao 326a4d7ceaSXianjun Jiaoif [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then 336a4d7ceaSXianjun Jiao LINUX_KERNEL_IMAGE=$DIR_TO_ADI_LINUX_KERNEL/arch/arm64/boot/Image 34ce4469b3SXianjun Jiao DTB_FILENAME="system.dtb" 356a4d7ceaSXianjun Jiaoelse 366a4d7ceaSXianjun Jiao LINUX_KERNEL_IMAGE=$DIR_TO_ADI_LINUX_KERNEL/arch/arm/boot/uImage 37ce4469b3SXianjun Jiao DTB_FILENAME="devicetree.dtb" 386a4d7ceaSXianjun Jiaofi 396a4d7ceaSXianjun Jiao 406a4d7ceaSXianjun Jiaomkdir -p kernel_modules 416a4d7ceaSXianjun Jiaorm -rf ./kernel_modules/* 426a4d7ceaSXianjun Jiaofind $DIR_TO_ADI_LINUX_KERNEL/ -name \*.ko -exec cp {} ./kernel_modules/ \; 436a4d7ceaSXianjun Jiao 44b72abc17SXianjun Jiaocp $DIR_TO_ADI_LINUX_KERNEL/Module.symvers ./kernel_modules/ 45b72abc17SXianjun Jiaocp $DIR_TO_ADI_LINUX_KERNEL/modules.builtin ./kernel_modules/ 46b72abc17SXianjun Jiaocp $DIR_TO_ADI_LINUX_KERNEL/modules.builtin.modinfo ./kernel_modules/ 47b72abc17SXianjun Jiaocp $DIR_TO_ADI_LINUX_KERNEL/modules.order ./kernel_modules/ 48b72abc17SXianjun Jiao 496a4d7ceaSXianjun Jiaoif test -f "$LINUX_KERNEL_IMAGE"; then 506a4d7ceaSXianjun Jiao cp $LINUX_KERNEL_IMAGE ./kernel_modules/ 516a4d7ceaSXianjun Jiaofi 526a4d7ceaSXianjun Jiao 536a4d7ceaSXianjun Jiaoif test -f "../kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN"; then 546a4d7ceaSXianjun Jiao cp ../kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN ./kernel_modules/ 556a4d7ceaSXianjun Jiaofi 56ce4469b3SXianjun Jiaoif test -f "../kernel_boot/boards/$BOARD_NAME/$DTB_FILENAME"; then 57ce4469b3SXianjun Jiao cp ../kernel_boot/boards/$BOARD_NAME/$DTB_FILENAME ./kernel_modules/ 58ce4469b3SXianjun Jiaofi 596a4d7ceaSXianjun Jiaotar -zcvf kernel_modules.tar.gz kernel_modules 606a4d7ceaSXianjun Jiao 616a4d7ceaSXianjun Jiaoscp kernel_modules.tar.gz root@192.168.10.122: 626a4d7ceaSXianjun Jiao 636a4d7ceaSXianjun Jiao# scp $LINUX_KERNEL_IMAGE [email protected]: 646a4d7ceaSXianjun Jiao 656a4d7ceaSXianjun Jiaoscp populate_kernel_image_module_reboot.sh root@192.168.10.122: 66