KERNEL_PATH=`basename ${BUILD_ROOT}`
if [ $# == 0 ]; then
- echo "Usage : $0 <architecture> [rt]"
+ echo "Usage : $0 <architecture> [rt] [bootimg]"
echo " architecture : arm or arm64"
echo " e.g) $0 arm"
echo " e.g) $0 arm64 rt"
+ echo " e.g) $0 arm64 bootimg"
+ echo " e.g) $0 arm rt bootimg"
exit
fi
fi
}
+check_sudo()
+{
+ [ -e /usr/bin/make_ext4fs ] && USE_MAKE_EXT4FS=1
+ if [ "$USE_MAKE_EXT4FS" != "1" ] || [ "$IS_BOOTIMG" = "1" ]; then
+ sudo ls > /dev/null
+ fi
+
+}
+
+function mk_bootimg()
+{
+ TMP_PATH=./tmp_bootimg
+ TMP_UBOOT_PATH=./tmp_uboot
+ BOOT_PATH="rpi4/boot"
+ USER_ID=`id -u`
+ GROUP_ID=`id -g`
+
+ rm -f boot.img
+ rm -rf ${TMP_PATH}
+ mkdir ${TMP_PATH}
+
+ # Create boot.img
+ mkfs.vfat -F 16 -C -n BOOT boot.img 65536
+ sudo mount -o loop,uid=$USER_ID,gid=$GROUP_ID,showexec boot.img ${TMP_PATH}
+
+ cp -a $BOOT_PATH/LICENCE.broadcom ${TMP_PATH}
+ cp -a $BOOT_PATH/start*.elf ${TMP_PATH}
+ cp -a $BOOT_PATH/fixup*.dat ${TMP_PATH}
+ if [ "$ARM_ARCH" = "arm64" ]; then
+ echo "Create 64bit boot image"
+ cp -a $BOOT_PATH/config_64bit.txt ${TMP_PATH}/config.txt
+ cp -a arch/arm64/boot/Image ${TMP_PATH}
+ cp -a arch/arm64/boot/dts/broadcom/bcm*.dtb ${TMP_PATH}
+ else
+ echo "Create 32bit boot image"
+ cp -a $BOOT_PATH/config.txt ${TMP_PATH}
+ cp -a arch/arm/boot/zImage ${TMP_PATH}
+ cp -a arch/arm/boot/dts/bcm*.dtb ${TMP_PATH}
+ fi
+ mkdir -p ${TMP_PATH}/overlays
+ cp -a arch/arm/boot/dts/overlays/*.dtbo ${TMP_PATH}/overlays
+
+ # install u-boot files extracted from u-boot-rpi4 rpm package in download.tizen.org.
+ rm -rf ${TMP_UBOOT_PATH}
+ mkdir -p ${TMP_UBOOT_PATH}
+ pushd ${TMP_UBOOT_PATH}
+ if [ "$ARM_ARCH" = "arm64" ]; then
+ REPO_URL=http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/repos/standard/packages/aarch64/
+ else
+ REPO_URL=http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Unified/latest/repos/standard/packages/armv7l/
+ fi
+ rm -f index.html*
+ wget ${REPO_URL}
+ UBOOT=`awk -F\" '{ print $2 }' index.html | grep u-boot-rpi4`
+ wget ${REPO_URL}${UBOOT}
+ unrpm ${UBOOT}
+ popd
+
+ cp -a ${TMP_UBOOT_PATH}/boot/* ${TMP_PATH}
+ sync
+ sudo umount ${TMP_PATH}
+
+ rm -rf ${TMP_UBOOT_PATH}
+ rm -rf ${TMP_PATH}
+}
+
function mk_tizen_modules()
{
if [ -e ${BUILD_ROOT}/../linux-tizen-modules-source ]; then
}
function mk_modules() {
- [ -e /usr/bin/make_ext4fs ] && USE_MAKE_EXT4FS=1
- if [ "$USE_MAKE_EXT4FS" != "1" ]; then
- sudo ls > /dev/null
- fi
-
make ARCH=${ARM_ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules_prepare
make ARCH=${ARM_ARCH} CROSS_COMPILE="$CROSS_COMPILER" modules -j ${NCPUS}
mkdir ./output
fi
+ rm -f ./output/*
+
+ cp $BOOTFILES ./output
cp usr/modules.img ./output
+ FILES=`ls output`
DATE=`date +%Y%m%d%H%M`
if [ $ARM_ARCH = "arm" ]; then
- cp ./arch/arm/boot/zImage ./output
- cp ./arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dtb ./output
- tar cvf tizen-local-${DATE}-boot-armv7l-rpi4.tar -C output zImage bcm2711-rpi-4-b.dtb modules.img
+ tar cvf tizen-local-${DATE}-boot-armv7l-rpi4.tar -C output $FILES
mv tizen-local-${DATE}-boot-armv7l-rpi4.tar ./output/
elif [ $ARM_ARCH = "arm64" ]; then
- cp ./arch/arm64/boot/Image ./output
- cp ./arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb ./output
- tar cvf tizen-local-${DATE}-boot-arm64-rpi4.tar -C output Image bcm2711-rpi-4-b.dtb modules.img
+ tar cvf tizen-local-${DATE}-boot-arm64-rpi4.tar -C output $FILES
mv tizen-local-${DATE}-boot-arm64-rpi4.tar ./output/
else
echo "There is no proper architecture agrument!"
DEFCONFIG=tizen_bcm2711_defconfig
touch .kernel_buildenv
-if [ "$2" = "rt" ]; then
+
+IS_RT=0
+if [ "$2" = "rt" ] || [ "$3" = "rt" ]; then
+ IS_RT=1
+fi
+
+IS_BOOTIMG=0
+if [ "$2" = "bootimg" ] || [ "$3" = "bootimg" ]; then
+ IS_BOOTIMG=1
+fi
+
+if [ "$IS_RT" = "1" ]; then
echo "Build RT-Kernel"
BUILD_VERSION=`cat .kernel_buildenv`
if [ "$BUILD_VERSION" != "RT" ]; then
echo "NORMAL" > ./.kernel_buildenv
fi
+check_sudo
if [ $1 = "arm" ]; then
ARM_ARCH="arm"
exit 1
fi
+if [ "$IS_BOOTIMG" = "1" ]; then
+ mk_bootimg
+ BOOTFILES="boot.img"
+else
+ if [ $ARM_ARCH = "arm" ]; then
+ BOOTFILES="./arch/arm/boot/zImage ./arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dtb"
+ else
+ BOOTFILES="./arch/arm64/boot/Image ./arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb"
+ fi
+fi
+
# Make module.img file
mk_modules