forked from open-sdr/openwifi
-
Notifications
You must be signed in to change notification settings - Fork 8
/
prepare_kernel.sh
executable file
·102 lines (83 loc) · 2.51 KB
/
prepare_kernel.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#!/bin/bash
# Author: Xianjun Jiao
# SPDX-FileCopyrightText: 2019 UGent
# SPDX-License-Identifier: AGPL-3.0-or-later
# ATTENTION! You need Vitis, NOT Vitis_HLS, installed
# if [ "$#" -ne 1 ]; then
# echo "You must enter 1 arguments: ARCH_BIT(32 or 64)"
# exit 1
# fi
# OPENWIFI_DIR=$(pwd)/../
# ARCH_OPTION=$1
if [ "$#" -ne 2 ]; then
echo "You must enter 2 arguments: \$XILINX_DIR ARCH_BIT(32 or 64)"
exit 1
fi
OPENWIFI_DIR=$(pwd)/../
XILINX_DIR=$1
ARCH_OPTION=$2
if [ -f "$OPENWIFI_DIR/LICENSE" ]; then
echo "\$OPENWIFI_DIR is found!"
else
echo "\$OPENWIFI_DIR is not correct. Please check!"
exit 1
fi
if [ -d "$XILINX_DIR/Vitis" ]; then
echo "\$XILINX_DIR is found!"
else
echo "\$XILINX_DIR is not correct. Please check!"
exit 1
fi
if [ "$ARCH_OPTION" != "32" ] && [ "$ARCH_OPTION" != "64" ]; then
echo "\$ARCH_OPTION is not correct. Should be 32 or 64. Please check!"
exit 1
else
echo "\$ARCH_OPTION is valid!"
fi
if [ "$ARCH_OPTION" == "64" ]; then
LINUX_KERNEL_SRC_DIR_NAME=adi-linux-64
LINUX_KERNEL_CONFIG_FILE=$OPENWIFI_DIR/kernel_boot/kernel_config_zynqmp
ARCH_NAME="arm64"
CROSS_COMPILE_NAME="aarch64-linux-gnu-"
IMAGE_TYPE=Image
else
LINUX_KERNEL_SRC_DIR_NAME=adi-linux
LINUX_KERNEL_CONFIG_FILE=$OPENWIFI_DIR/kernel_boot/kernel_config
ARCH_NAME="arm"
CROSS_COMPILE_NAME="arm-linux-gnueabihf-"
IMAGE_TYPE=uImage
fi
home_dir=$(pwd)
set -x
cd $OPENWIFI_DIR/
git submodule init $LINUX_KERNEL_SRC_DIR_NAME
cd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME
git reset --hard
cd $OPENWIFI_DIR/
git submodule update $LINUX_KERNEL_SRC_DIR_NAME
cd $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME
git fetch
git checkout 2021_r1
git pull origin 2021_r1
git reset --hard 2021_r1
export ARCH=$ARCH_NAME
export CROSS_COMPILE=$CROSS_COMPILE_NAME
source $XILINX_DIR/Vitis/2021.1/settings64.sh
# if [ "$ARCH_OPTION" == "64" ]; then
cp $LINUX_KERNEL_CONFIG_FILE ./.config
# cp $OPENWIFI_DIR/driver/ad9361/ad9361.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361.c -rf
# cp $OPENWIFI_DIR/driver/ad9361/ad9361_conv.c $OPENWIFI_DIR/$LINUX_KERNEL_SRC_DIR_NAME/drivers/iio/adc/ad9361_conv.c -rf
git apply ../kernel_boot/axi_hdmi_crtc.patch
git apply ../kernel_boot/ad9361.patch
git apply ../kernel_boot/ad9361_conv.patch
# else
# make zynq_xcomm_adv7511_defconfig
# fi
make oldconfig
# make adi_zynqmp_defconfig
make prepare && make modules_prepare
# if [ "$#" -gt 2 ]; then
make -j12 $IMAGE_TYPE UIMAGE_LOADADDR=0x8000
make modules
# fi
cd $home_dir