xref: /openwifi/user_space/boot_bin_gen.sh (revision 94847d8099d02464386e2c89892d4d135cf864f7)
1b73660adSXianjun Jiao#!/bin/bash
2a6085186SLina Ceballos
3596ef126SJiao Xianjun# Author: Xianjun Jiao
4596ef126SJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
7b73660adSXianjun Jiaoif [ "$#" -ne 3 ]; then
8abdb610fSJiao Xianjun    echo "You must enter exactly 3 arguments: \$OPENWIFI_HW_DIR \$XILINX_DIR \$BOARD_NAME"
9b73660adSXianjun Jiao    exit 1
10b73660adSXianjun Jiaofi
11b73660adSXianjun Jiao
12abdb610fSJiao XianjunOPENWIFI_HW_DIR=$1
13b73660adSXianjun JiaoXILINX_DIR=$2
14b73660adSXianjun JiaoBOARD_NAME=$3
15b73660adSXianjun Jiao
16abdb610fSJiao XianjunOPENWIFI_DIR=$(pwd)/../
17abdb610fSJiao Xianjun
18abdb610fSJiao Xianjunecho OPENWIFI_DIR $OPENWIFI_DIR
19abdb610fSJiao Xianjunecho OPENWIFI_HW_DIR $OPENWIFI_HW_DIR
20abdb610fSJiao Xianjun
21b73660adSXianjun Jiaoif [ -f "$OPENWIFI_DIR/LICENSE" ]; then
22b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is found!"
23b73660adSXianjun Jiaoelse
24b73660adSXianjun Jiao    echo "\$OPENWIFI_DIR is not correct. Please check!"
25b73660adSXianjun Jiao    exit 1
26b73660adSXianjun Jiaofi
27b73660adSXianjun Jiao
28b73660adSXianjun Jiaoif [ -d "$XILINX_DIR/SDK" ]; then
29b73660adSXianjun Jiao    echo "\$XILINX_DIR is found!"
30b73660adSXianjun Jiaoelse
31b73660adSXianjun Jiao    echo "\$XILINX_DIR is not correct. Please check!"
32b73660adSXianjun Jiao    exit 1
33b73660adSXianjun Jiaofi
34b73660adSXianjun Jiao
35ad0b112aSblack-pigeonif [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "zc706_fmcs2" ] && [ "$BOARD_NAME" != "zc702_fmcs2" ] && [ "$BOARD_NAME" != "zed_fmcs2" ] && [ "$BOARD_NAME" != "adrv9361z7035" ] && [ "$BOARD_NAME" != "adrv9364z7020" ]; then
36b73660adSXianjun Jiao    echo "\$BOARD_NAME is not correct. Please check!"
37b73660adSXianjun Jiao    exit 1
38b73660adSXianjun Jiaoelse
39b73660adSXianjun Jiao    echo "\$BOARD_NAME is found!"
40b73660adSXianjun Jiaofi
41b73660adSXianjun Jiao
42abdb610fSJiao Xianjunif [ -d "$OPENWIFI_HW_DIR/boards/$BOARD_NAME" ]; then
43abdb610fSJiao Xianjun    echo "\$OPENWIFI_HW_DIR is found!"
44abdb610fSJiao Xianjunelse
45abdb610fSJiao Xianjun    echo "\$OPENWIFI_HW_DIR is not correct. Please check!"
46abdb610fSJiao Xianjun    exit 1
47abdb610fSJiao Xianjunfi
48abdb610fSJiao Xianjun
49b73660adSXianjun Jiaohome_dir=$(pwd)
50b73660adSXianjun Jiao
51b73660adSXianjun Jiaoset -ex
52b73660adSXianjun Jiao
53b73660adSXianjun Jiao# check if user entered the right path to SDK
54febc5adfSXianjun Jiaosource $XILINX_DIR/SDK/2018.3/settings64.sh
55b73660adSXianjun Jiao
56*94847d80SXianjun Jiao# uncompress the system.hdf and system_top.bit for use
57*94847d80SXianjun Jiaomkdir -p hdf_and_bit
58*94847d80SXianjun Jiaotar -zxvf $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/hdf_and_bit.tar.gz -C ./hdf_and_bit
59*94847d80SXianjun Jiaocp ./hdf_and_bit/$BOARD_NAME/sdk/system_top_hw_platform_0/system.hdf $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/ -rf
60*94847d80SXianjun Jiaocp ./hdf_and_bit/$BOARD_NAME/sdk/system_top_hw_platform_0/system_top.bit $OPENWIFI_HW_DIR/boards/$BOARD_NAME/sdk/system_top_hw_platform_0/ -rf
61*94847d80SXianjun Jiao
62b73660adSXianjun Jiaocd $OPENWIFI_DIR/kernel_boot
63b73660adSXianjun Jiao
64abdb610fSJiao Xianjun./build_boot_bin.sh $OPENWIFI_HW_DIR $BOARD_NAME
65b73660adSXianjun Jiao
66b73660adSXianjun Jiaocd $home_dir
67