xref: /openwifi/user_space/transfer_kernel_image_module_to_board.sh (revision 3acd1024f60e301775d392b2d9e881bc8db97bb3)
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