rpi3: Remove the boot firmwares for RPI3
[platform/kernel/linux-rpi.git] / scripts / mkbootimg_rpi3.sh
1 #!/bin/bash
2
3 BOOT_PATH="rpi3/boot"
4 USER_ID=`id -u`
5 GROUP_ID=`id -g`
6 IS_64BIT=`cat .config | grep CONFIG_64BIT`
7
8 rm -f boot.img
9 rm -rf tmp
10 mkdir tmp
11
12 # Create boot.img
13 mkfs.vfat -F 16 -C -n BOOT boot.img 65536
14 sudo mount -o loop,uid=$USER_ID,gid=$GROUP_ID,showexec boot.img ./tmp
15 if [ -n "$IS_64BIT" ]; then
16         echo "Create 64bit boot image"
17         cp -a $BOOT_PATH/config_64bit.txt ./tmp/config.txt
18 else
19         echo "Create 32bit boot image"
20         cp -a $BOOT_PATH/config_32bit.txt ./tmp/config.txt
21 fi
22 cp -a $BOOT_PATH/LICENCE.broadcom ./tmp
23 cp -a $BOOT_PATH/bootcode.bin ./tmp
24 cp -a $BOOT_PATH/start*.elf ./tmp
25 cp -a $BOOT_PATH/fixup*.dat ./tmp
26 if [ -n "$IS_64BIT" ]; then
27         cp -a arch/arm64/boot/Image ./tmp
28         cp -a arch/arm64/boot/dts/broadcom/bcm*.dtb ./tmp
29 else
30         cp -a arch/arm/boot/zImage ./tmp
31         cp -a arch/arm/boot/dts/bcm*.dtb ./tmp
32 fi
33
34 # install u-boot files extracted from u-boot-rpi3 rpm package in download.tizen.org.
35 TMP_UBOOT_PATH=tmp_uboot
36 mkdir -p ${TMP_UBOOT_PATH}
37 pushd ${TMP_UBOOT_PATH}
38 if [ -n "$IS_64BIT" ]; then
39         REPO_URL=http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/aarch64/
40 else
41         REPO_URL=http://download.tizen.org/snapshots/tizen/unified/latest/repos/standard/packages/armv7l/
42 fi
43 rm -f index.html*
44 wget ${REPO_URL}
45 UBOOT=`awk -F\" '{ print $2 }' index.html | grep u-boot-rpi3`
46 wget ${REPO_URL}${UBOOT}
47 unrpm ${UBOOT}
48
49 # install u-boot.img having optee.bin extracted from atf-rpi3 rpm package in download.tizen.org.
50 if [ -n "$IS_64BIT" ]; then
51         ATF=`awk -F\" '{ print $2 }' index.html | grep atf-rpi3`
52         wget ${REPO_URL}${ATF}
53         unrpm ${ATF}
54 fi
55
56 popd
57 cp -a ${TMP_UBOOT_PATH}/boot/* ./tmp
58 rm -rf ${TMP_UBOOT_PATH}
59
60 sync
61 sudo umount tmp
62
63 rm -f modules.img
64 mkdir -p tmp/lib/modules
65
66 # Create modules.img
67 dd if=/dev/zero of=modules.img bs=1024 count=20480
68 mkfs.ext4 -q -F -t ext4 -b 1024 -L modules modules.img
69 sudo mount -o loop modules.img ./tmp/lib/modules
70 if [ -n "$IS_64BIT" ]; then
71         sudo make modules_install ARCH=arm64 INSTALL_MOD_PATH=./tmp INSTALL_MOD_STRIP=1 CROSS_COMPILE=aarch64-linux-gnu-
72 else
73         sudo make modules_install ARCH=arm INSTALL_MOD_PATH=./tmp INSTALL_MOD_STRIP=1 CROSS_COMPILE=arm-linux-gnueabi-
74 fi
75 sudo -n chown root:root ./tmp/lib/modules -R
76
77 sync
78 sudo umount tmp/lib/modules
79
80 rm -rf tmp