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