xref: /openwifi/user_space/sdcard_boot_update.sh (revision a47b55e6cafa759d041cd8d309e454edc8a51770)
12ee67178SXianjun Jiao#!/bin/bash
2a6085186SLina Ceballos
37be237bdSJiao Xianjun# Author: Xianjun Jiao
47be237bdSJiao Xianjun# SPDX-FileCopyrightText: 2019 UGent
5a6085186SLina Ceballos# SPDX-License-Identifier: AGPL-3.0-or-later
6a6085186SLina Ceballos
7b73660adSXianjun Jiaoif [ "$#" -ne 1 ]; then
8b73660adSXianjun Jiao    echo "You must enter the \$BOARD_NAME as argument"
9*a47b55e6SJiao Xianjun    echo "Like: sdrpi antsdr antsdr_e200 e310v2 adrv9364z7020 adrv9361z7035 zc706_fmcs2 zed_fmcs2 zc702_fmcs2 zcu102_fmcs2 zcu102_9371 neptunesdr"
10b73660adSXianjun Jiao    exit 1
11b73660adSXianjun Jiaofi
12b73660adSXianjun JiaoBOARD_NAME=$1
13b73660adSXianjun Jiao
14*a47b55e6SJiao Xianjunif [ "$BOARD_NAME" != "neptunesdr" ] && [ "$BOARD_NAME" != "antsdr" ] && [ "$BOARD_NAME" != "antsdr_e200" ] && [ "$BOARD_NAME" != "e310v2" ] && [ "$BOARD_NAME" != "sdrpi" ] && [ "$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
15febc5adfSXianjun Jiao    echo "\$BOARD_NAME is not correct. Please check!"
16febc5adfSXianjun Jiao    exit 1
17febc5adfSXianjun Jiaoelse
18febc5adfSXianjun Jiao    echo "\$BOARD_NAME is found!"
19febc5adfSXianjun Jiaofi
20febc5adfSXianjun Jiao
21febc5adfSXianjun Jiaoif [ "$BOARD_NAME" == "zcu102_fmcs2" ] || [ "$BOARD_NAME" == "zcu102_9371" ]; then
22febc5adfSXianjun Jiao    dtb_filename="system.dtb"
23febc5adfSXianjun Jiao    image_filepath="arch/arm64/boot/"
24febc5adfSXianjun Jiao    image_filename="Image"
25febc5adfSXianjun Jiao    LINUX_KERNEL_SRC_DIR_NAME=adi-linux-64
26febc5adfSXianjun Jiaoelse
27febc5adfSXianjun Jiao    dtb_filename="devicetree.dtb"
28febc5adfSXianjun Jiao    image_filepath="arch/arm/boot/"
29febc5adfSXianjun Jiao    image_filename="uImage"
30febc5adfSXianjun Jiao    LINUX_KERNEL_SRC_DIR_NAME=adi-linux
31febc5adfSXianjun Jiaofi
32febc5adfSXianjun Jiaoecho $dtb_filename
33febc5adfSXianjun Jiaoecho $image_filepath
34febc5adfSXianjun Jiaoecho $image_filename
35febc5adfSXianjun Jiao
362ee67178SXianjun Jiaoset -x
372ee67178SXianjun Jiao
38266e9566SXianjun Jiaomv BOOT.BIN BOOT.BIN.bak
392ee67178SXianjun Jiaosync
40b73660adSXianjun Jiaowget ftp://192.168.10.1/kernel_boot/boards/$BOARD_NAME/output_boot_bin/BOOT.BIN
41266e9566SXianjun Jiaoif [ -f "./BOOT.BIN" ]; then
42266e9566SXianjun Jiao    echo "BOOT.BIN downloaded!"
43266e9566SXianjun Jiaoelse
440a172722SXianjun Jiao    echo "WARNING! BOOT.BIN not downloaded! Old file used!"
45266e9566SXianjun Jiao    mv BOOT.BIN.bak BOOT.BIN
460a172722SXianjun Jiao#    exit 1
47266e9566SXianjun Jiaofi
482ee67178SXianjun Jiaosync
49266e9566SXianjun Jiao
50266e9566SXianjun Jiaomv $image_filename $image_filename.bak
512ee67178SXianjun Jiaosync
52febc5adfSXianjun Jiaowget ftp://192.168.10.1/$LINUX_KERNEL_SRC_DIR_NAME/$image_filepath/$image_filename
53266e9566SXianjun Jiaoif [ -f "./$image_filename" ]; then
54266e9566SXianjun Jiao    echo "$image_filename downloaded!"
55266e9566SXianjun Jiaoelse
560a172722SXianjun Jiao    echo "WARNING! $image_filename not downloaded! Old file used!"
57266e9566SXianjun Jiao    mv $image_filename.bak $image_filename
580a172722SXianjun Jiao#    exit 1
59266e9566SXianjun Jiaofi
602ee67178SXianjun Jiaosync
61266e9566SXianjun Jiao
62266e9566SXianjun Jiaomv $dtb_filename $dtb_filename.bak
632ee67178SXianjun Jiaosync
64febc5adfSXianjun Jiaowget ftp://192.168.10.1/kernel_boot/boards/$BOARD_NAME/$dtb_filename
65266e9566SXianjun Jiaoif [ -f "./$dtb_filename" ]; then
66266e9566SXianjun Jiao    echo "$dtb_filename downloaded!"
67266e9566SXianjun Jiaoelse
680a172722SXianjun Jiao    echo "WARNING! $dtb_filename not downloaded! Old file used!"
69266e9566SXianjun Jiao    mv $dtb_filename.bak $dtb_filename
700a172722SXianjun Jiao#    exit 1
71266e9566SXianjun Jiaofi
722ee67178SXianjun Jiaosync
73266e9566SXianjun Jiao
742ee67178SXianjun Jiao#slepp 0.5
75266e9566SXianjun Jiao
76b73660adSXianjun Jiaomount /dev/mmcblk0p1  /mnt
772ee67178SXianjun Jiaosync
782ee67178SXianjun Jiao#sleep 0.5
79b73660adSXianjun Jiaocp BOOT.BIN /mnt/ -f
80febc5adfSXianjun Jiaorm /mnt/Image -f
81febc5adfSXianjun Jiaorm /mnt/uImage -f
82febc5adfSXianjun Jiaocp $image_filename /mnt/ -f
83febc5adfSXianjun Jiaorm /mnt/*.dtb -f
84febc5adfSXianjun Jiaocp $dtb_filename /mnt/ -f
85febc5adfSXianjun Jiaocd /mnt/
862ee67178SXianjun Jiaosync
87febc5adfSXianjun Jiaocd ~
882ee67178SXianjun Jiao#sleep 0.5
89b73660adSXianjun Jiaoumount /mnt
902ee67178SXianjun Jiaosync
912ee67178SXianjun Jiao#sleep 3
922ee67178SXianjun Jiaosudo reboot now
93