1*6a4d7ceaSXianjun Jiao#!/bin/bash 2*6a4d7ceaSXianjun Jiao 3*6a4d7ceaSXianjun Jiao# Author: Xianjun Jiao 4*6a4d7ceaSXianjun Jiao# SPDX-FileCopyrightText: 2019 UGent 5*6a4d7ceaSXianjun Jiao# SPDX-License-Identifier: AGPL-3.0-or-later 6*6a4d7ceaSXianjun Jiao 7*6a4d7ceaSXianjun Jiaoset -ex 8*6a4d7ceaSXianjun Jiao 9*6a4d7ceaSXianjun JiaoMACHINE_TYPE=`uname -m` 10*6a4d7ceaSXianjun Jiao 11*6a4d7ceaSXianjun Jiaomkdir -p kernel_modules 12*6a4d7ceaSXianjun Jiaorm -rf kernel_modules/* 13*6a4d7ceaSXianjun Jiaotar -zxvf kernel_modules.tar.gz 14*6a4d7ceaSXianjun Jiao 15*6a4d7ceaSXianjun Jiaoif [ ${MACHINE_TYPE} == 'aarch64' ]; then 16*6a4d7ceaSXianjun Jiao IMAGE_FILENAME=Image 17*6a4d7ceaSXianjun Jiaoelse 18*6a4d7ceaSXianjun Jiao IMAGE_FILENAME=uImage 19*6a4d7ceaSXianjun Jiaofi 20*6a4d7ceaSXianjun Jiao 21*6a4d7ceaSXianjun Jiaorm -rf /lib/modules/$(uname -r) 22*6a4d7ceaSXianjun Jiao# setup kernel module directory 23*6a4d7ceaSXianjun Jiao# if [ -d "/lib/modules/$(uname -r)" ]; then 24*6a4d7ceaSXianjun Jiao# echo "/lib/modules/$(uname -r) already exists." 25*6a4d7ceaSXianjun Jiao# else 26*6a4d7ceaSXianjun Jiao # if [ ${MACHINE_TYPE} == 'aarch64' ]; then 27*6a4d7ceaSXianjun Jiao # ln -s /root/kernel_modules /lib/modules/$(uname -r) 28*6a4d7ceaSXianjun Jiao # else 29*6a4d7ceaSXianjun Jiao # ln -s /root/kernel_modules /lib/modules/$(uname -r) 30*6a4d7ceaSXianjun Jiao # fi 31*6a4d7ceaSXianjun Jiao ln -s /root/kernel_modules /lib/modules/$(uname -r) 32*6a4d7ceaSXianjun Jiao# fi 33*6a4d7ceaSXianjun Jiao 34*6a4d7ceaSXianjun Jiaodepmod 35*6a4d7ceaSXianjun Jiao# modprobe mac80211 36*6a4d7ceaSXianjun Jiao 37*6a4d7ceaSXianjun Jiaoumount /mnt || /bin/true 38*6a4d7ceaSXianjun Jiaomount /dev/mmcblk0p1 /mnt 39*6a4d7ceaSXianjun Jiaoif test -f "./kernel_modules/$IMAGE_FILENAME"; then 40*6a4d7ceaSXianjun Jiao cp ./kernel_modules/$IMAGE_FILENAME /mnt/ 41*6a4d7ceaSXianjun Jiaofi 42*6a4d7ceaSXianjun Jiaoif test -f "./kernel_modules/BOOT.BIN"; then 43*6a4d7ceaSXianjun Jiao cp ./kernel_modules/BOOT.BIN /mnt/ 44*6a4d7ceaSXianjun Jiaofi 45*6a4d7ceaSXianjun Jiaocd /mnt/ 46*6a4d7ceaSXianjun Jiaosync 47*6a4d7ceaSXianjun Jiaocd ~ 48*6a4d7ceaSXianjun Jiaoumount /mnt 49*6a4d7ceaSXianjun Jiao 50*6a4d7ceaSXianjun Jiaoreboot now 51