mac80211: correct legacy rates check in ieee80211_calc_rx_airtime
[platform/kernel/linux-rpi.git] / scripts / mkbootimg_rpi4.sh
1 #!/bin/bash
2
3 TMP_UBOOT_PATH=tmp_uboot
4 BOOT_PATH="rpi4/boot"
5 USER_ID=`id -u`
6 GROUP_ID=`id -g`
7 IS_64BIT=`cat .config | grep "CONFIG_64BIT=y"`
8 BUILD_ROOT=$PWD
9
10 cleanup() {
11         cd $BUILD_ROOT
12         if [ -e $TMP_UBOOT_PATH ]; then
13                 rm -rf ${TMP_UBOOT_PATH}
14         fi
15
16         if [ -e tmp_modules ]; then
17                 rm -rf tmp_modules
18         fi
19
20         if [ -e tmp/lib/modules ]; then
21                 rm -rf tmp/lib/modules
22         fi
23
24         if [ -n "$(mount | grep ${BUILD_ROOT}/tmp)" ]; then
25                 sudo umount tmp
26         fi
27
28         if [ -e tmp ]; then
29                 rm -rf tmp
30         fi
31 }
32
33 trap cleanup EXIT
34
35 set -e
36
37 rm -f boot.img
38 rm -rf tmp
39 mkdir tmp
40
41 # Create boot.img
42 mkfs.vfat -F 16 -C -n BOOT boot.img 65536
43 sudo mount -o loop,uid=$USER_ID,gid=$GROUP_ID,showexec boot.img ./tmp
44
45 if [ -n "$IS_64BIT" ]; then
46         echo "Create 64bit boot image"
47         cp -a $BOOT_PATH/config_64bit.txt ./tmp/config.txt
48 else
49         echo "Create 32bit boot image"
50         cp -a $BOOT_PATH/config.txt ./tmp
51 fi
52 cp -a $BOOT_PATH/LICENCE.broadcom ./tmp
53 cp -a $BOOT_PATH/start*.elf ./tmp
54 cp -a $BOOT_PATH/fixup*.dat ./tmp
55 if [ -n "$IS_64BIT" ]; then
56         cp -a arch/arm64/boot/Image ./tmp
57         cp -a arch/arm64/boot/dts/broadcom/bcm*.dtb ./tmp
58 else
59         cp -a arch/arm/boot/zImage ./tmp
60         cp -a arch/arm/boot/dts/bcm*.dtb ./tmp
61 fi
62 mkdir -p ./tmp/overlays
63 cp -a arch/arm/boot/dts/overlays/*.dtbo ./tmp/overlays
64
65 # install u-boot files extracted from u-boot-rpi4 rpm package in download.tizen.org.
66
67 mkdir -p ${TMP_UBOOT_PATH}
68 pushd ${TMP_UBOOT_PATH}
69 if [ -n "$IS_64BIT" ]; then
70         REPO_URL=http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/repos/standard/packages/aarch64/
71 else
72         REPO_URL=http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/repos/standard/packages/armv7l/
73 fi
74 rm -f index.html*
75 wget ${REPO_URL}
76 UBOOT=`awk -F\" '{ print $2 }' index.html | grep u-boot-rpi4`
77 wget ${REPO_URL}${UBOOT}
78 unrpm ${UBOOT}
79 popd
80
81 cp -a ${TMP_UBOOT_PATH}/boot/* ./tmp
82 rm -rf ${TMP_UBOOT_PATH}
83
84 sync
85 sudo umount tmp
86
87 rm -f modules.img
88 mkdir -p tmp/lib/modules
89 mkdir -p tmp_modules
90
91 # Create modules.img
92 dd if=/dev/zero of=modules.img bs=1024 count=32768
93 mkfs.ext4 -q -F -t ext4 -b 1024 -L modules modules.img
94 sudo mount -o loop modules.img ./tmp/lib/modules
95 if [ -n "$IS_64BIT" ]; then
96         export ARCH=arm64
97         export CROSS_COMPILE=aarch64-linux-gnu-
98 else
99         export ARCH=arm
100         export CROSS_COMPILE=arm-linux-gnueabi-
101 fi
102 make modules_install INSTALL_MOD_PATH=./tmp_modules INSTALL_MOD_STRIP=1
103
104 sudo mv ./tmp_modules/lib/modules/* ./tmp/lib/modules
105 sudo -n chown root:root ./tmp/lib/modules -R
106
107 sync
108 sudo umount tmp/lib/modules
109
110 rm -rf tmp tmp_modules
111
112 # Create boot tarball for the lthor flashing
113 DATE=`date +%Y%m%d`
114 if [ -n "$IS_64BIT" ]; then
115         BOOT_TARBALL=tizen-local-${DATE}-boot-arm64-rpi4.tar.gz
116 else
117         BOOT_TARBALL=tizen-local-${DATE}-boot-armv7l-rpi4.tar.gz
118 fi
119
120 tar czf ${BOOT_TARBALL} boot.img modules.img
121 if [ "$?" != "0" ]; then
122         echo "Failed to create boot tarball"
123         exit 1
124 fi
125
126 echo ${BOOT_TARBALL}
127
128 set +e