xref: /openwifi/user_space/sdcard_boot_update.sh (revision abdb610f56e6ff7bc54e8ad29637bde718951d91)
1#!/bin/bash
2
3# Author: Xianjun Jiao
4# SPDX-FileCopyrightText: 2019 UGent
5# SPDX-License-Identifier: AGPL-3.0-or-later
6
7if [ "$#" -ne 1 ]; then
8    echo "You must enter the \$BOARD_NAME as argument"
9    echo "Like: antsdr adrv9364z7020 adrv9361z7035 zc706_fmcs2 zed_fmcs2 zc702_fmcs2 zcu102_fmcs2 zcu102_9371"
10    exit 1
11fi
12BOARD_NAME=$1
13
14if [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "zc706_fmcs2" ] && [ "$BOARD_NAME" != "zc702_fmcs2" ] && [ "$BOARD_NAME" != "zed_fmcs2" ] && [ "$BOARD_NAME" != "adrv9361z7035" ] && [ "$BOARD_NAME" != "adrv9364z7020" ] && [ "$BOARD_NAME" != "zcu102_fmcs2" ] && [ "$BOARD_NAME" != "zcu102_9371" ]; then
15    echo "\$BOARD_NAME is not correct. Please check!"
16    exit 1
17else
18    echo "\$BOARD_NAME is found!"
19fi
20
21if [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then
22    dtb_filename="system.dtb"
23    image_filepath="arch/arm64/boot/"
24    image_filename="Image"
25    LINUX_KERNEL_SRC_DIR_NAME=adi-linux-64
26else
27    dtb_filename="devicetree.dtb"
28    image_filepath="arch/arm/boot/"
29    image_filename="uImage"
30    LINUX_KERNEL_SRC_DIR_NAME=adi-linux
31fi
32echo $dtb_filename
33echo $image_filepath
34echo $image_filename
35
36set -x
37
38mv BOOT.BIN BOOT.BIN.bak
39sync
40wget ftp://192.168.10.1/kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN
41if [ -f "./BOOT.BIN" ]; then
42    echo "BOOT.BIN downloaded!"
43else
44    echo "WARNING! BOOT.BIN not downloaded! Old file used!"
45    mv BOOT.BIN.bak BOOT.BIN
46#    exit 1
47fi
48sync
49
50mv $image_filename $image_filename.bak
51sync
52wget ftp://192.168.10.1/$LINUX_KERNEL_SRC_DIR_NAME/$image_filepath/$image_filename
53if [ -f "./$image_filename" ]; then
54    echo "$image_filename downloaded!"
55else
56    echo "WARNING! $image_filename not downloaded! Old file used!"
57    mv $image_filename.bak $image_filename
58#    exit 1
59fi
60sync
61
62mv $dtb_filename $dtb_filename.bak
63sync
64wget ftp://192.168.10.1/kernel_boot/boards/$BOARD_NAME/$dtb_filename
65if [ -f "./$dtb_filename" ]; then
66    echo "$dtb_filename downloaded!"
67else
68    echo "WARNING! $dtb_filename not downloaded! Old file used!"
69    mv $dtb_filename.bak $dtb_filename
70#    exit 1
71fi
72sync
73
74#slepp 0.5
75
76mount /dev/mmcblk0p1  /mnt
77sync
78#sleep 0.5
79cp BOOT.BIN /mnt/ -f
80rm /mnt/Image -f
81rm /mnt/uImage -f
82cp $image_filename /mnt/ -f
83rm /mnt/*.dtb -f
84cp $dtb_filename /mnt/ -f
85cd /mnt/
86sync
87cd ~
88#sleep 0.5
89umount /mnt
90sync
91#sleep 3
92sudo reboot now
93