xref: /openwifi/user_space/setup_once.sh (revision a47b55e6cafa759d041cd8d309e454edc8a51770)
1#!/bin/bash
2
3# Author: Xianjun Jiao
4# SPDX-FileCopyrightText: 2023 UGent
5# SPDX-License-Identifier: AGPL-3.0-or-later
6
7set -ex
8
9cd /root/
10
11MACHINE_TYPE=`uname -m`
12
13rm -rf kernel_modules
14mkdir -p kernel_modules
15
16# mkdir -p /lib/modules/$(uname -r)
17# rm -rf /lib/modules/$(uname -r)
18if [ ${MACHINE_TYPE} == 'aarch64' ]; then
19  cp /root/kernel_modules64/* /root/kernel_modules/
20  cp /root/openwifi64/* /root/openwifi/
21    # cp ./kernel_modules64/* /lib/modules/$(uname -r)/
22else
23  cp /root/kernel_modules32/* /root/kernel_modules/
24  cp /root/openwifi32/* /root/openwifi/
25    # cp ./kernel_modules32/* /lib/modules/$(uname -r)/
26fi
27
28# Decide board name
29DEVICE_TREE_MODEL_STRING=$(cat /proc/device-tree/model)
30if [[ $DEVICE_TREE_MODEL_STRING == *"ADRV9361-Z7035"* ]]; then
31  BOARD_NAME=adrv9361z7035
32elif [[ $DEVICE_TREE_MODEL_STRING == *"ADRV9364-Z7020"* ]]; then
33  BOARD_NAME=adrv9364z7020
34elif [[ $DEVICE_TREE_MODEL_STRING == *"ANTSDR-E310V2"* ]]; then
35  BOARD_NAME=e310v2
36elif [[ $DEVICE_TREE_MODEL_STRING == *"ANTSDR-E310"* ]]; then
37  BOARD_NAME=antsdr
38elif [[ $DEVICE_TREE_MODEL_STRING == *"ANTSDR-E200"* ]]; then
39  BOARD_NAME=antsdr_e200
40elif [[ $DEVICE_TREE_MODEL_STRING == *"neptunesdr"* ]]; then
41  BOARD_NAME=neptunesdr
42elif [[ $DEVICE_TREE_MODEL_STRING == *"sdrpi"* ]]; then
43  BOARD_NAME=sdrpi
44elif [[ $DEVICE_TREE_MODEL_STRING == *"ZC702"* ]]; then
45  BOARD_NAME=zc702_fmcs2
46elif [[ $DEVICE_TREE_MODEL_STRING == *"ZC706"* ]]; then
47  BOARD_NAME=zc706_fmcs2
48elif [[ $DEVICE_TREE_MODEL_STRING == *"ZCU102"* ]]; then
49  BOARD_NAME=zcu102_fmcs2
50elif [[ $DEVICE_TREE_MODEL_STRING == *"ZED"* ]]; then
51  BOARD_NAME=zed_fmcs2
52else
53  echo $DEVICE_TREE_MODEL_STRING " NOT recognized!"
54  exit 1
55fi
56
57mv /root/kernel_modules/ad9361_drv.ko /root/openwifi/ -f || true
58mv /root/kernel_modules/adi_axi_hdmi.ko /root/openwifi/ -f || true
59mv /root/kernel_modules/axidmatest.ko /root/openwifi/ -f || true
60mv /root/kernel_modules/lcd.ko /root/openwifi/ -f || true
61mv /root/kernel_modules/xilinx_dma.ko /root/openwifi/ -f || true
62
63rm -rf /lib/modules/$(uname -r)
64ln -s /root/kernel_modules /lib/modules/$(uname -r)
65sync
66depmod
67
68echo $BOARD_NAME
69cp /root/openwifi_BOOT/$BOARD_NAME/system_top.bit.bin /root/openwifi/ -f || true
70
71cd /root/openwifi/sdrctl_src
72make clean
73make
74cp sdrctl /root/openwifi/
75cd /root/openwifi/side_ch_ctl_src/
76gcc -o side_ch_ctl side_ch_ctl.c
77cp side_ch_ctl /root/openwifi/
78cd /root/openwifi/inject_80211/
79make clean
80make
81cd ..
82sync
83
84# reboot now
85