mirror of
https://github.com/libretro/Lakka-LibreELEC.git
synced 2025-02-28 23:51:22 +00:00
257 lines
11 KiB
Plaintext
257 lines
11 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
echo "$BOOTLOADER: creating u-boot.bin"
|
|
|
|
DESTDIR="$PKG_BUILD/fip"
|
|
mkdir -p $DESTDIR
|
|
|
|
FIPDIR="$(get_build_dir amlogic-boot-fip)/$UBOOT_SYSTEM"
|
|
|
|
case "${UBOOT_SYSTEM}" in
|
|
box|"")
|
|
# no-op, use vendor booloader
|
|
;;
|
|
|
|
khadas-vim3*|odroid-c4|odroid-hc4)
|
|
if [ "$UBOOT_SYSTEM" = "khadas-vim3" ]; then
|
|
AML_ENCRYPT_BIN="aml_encrypt_g12b"
|
|
else
|
|
AML_ENCRYPT_BIN="aml_encrypt_g12a"
|
|
fi
|
|
|
|
cp $FIPDIR/bl301.bin $DESTDIR/
|
|
cp $FIPDIR/acs.bin $DESTDIR/
|
|
cp $FIPDIR/aml_ddr.fw $DESTDIR/
|
|
cp $FIPDIR/bl2.bin $DESTDIR/
|
|
cp $FIPDIR/bl30.bin $DESTDIR/
|
|
cp $FIPDIR/bl31.img $DESTDIR/
|
|
cp $FIPDIR/blx_fix.sh $DESTDIR/
|
|
cp $FIPDIR/ddr3_1d.fw $DESTDIR/
|
|
cp $FIPDIR/ddr4_1d.fw $DESTDIR/
|
|
cp $FIPDIR/ddr4_2d.fw $DESTDIR/
|
|
cp $FIPDIR/diag_lpddr4.fw $DESTDIR/
|
|
cp $FIPDIR/lpddr3_1d.fw $DESTDIR/
|
|
cp $FIPDIR/lpddr4_1d.fw $DESTDIR/
|
|
cp $FIPDIR/lpddr4_2d.fw $DESTDIR/
|
|
cp $FIPDIR/piei.fw $DESTDIR/
|
|
cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl30_zero.bin \
|
|
$DESTDIR/bl301.bin \
|
|
$DESTDIR/bl301_zero.bin \
|
|
$DESTDIR/bl30_new.bin bl30
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl2.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl2_zero.bin \
|
|
$DESTDIR/acs.bin \
|
|
$DESTDIR/bl21_zero.bin \
|
|
$DESTDIR/bl2_new.bin bl2
|
|
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bl30sig --input $DESTDIR/bl30_new.bin \
|
|
--output $DESTDIR/bl30_new.bin.g12a.enc \
|
|
--level v3
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bl3sig --input $DESTDIR/bl30_new.bin.g12a.enc \
|
|
--output $DESTDIR/bl30_new.bin.enc \
|
|
--level v3 --type bl30
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bl3sig --input $DESTDIR/bl31.img \
|
|
--output $DESTDIR/bl31.img.enc \
|
|
--level v3 --type bl31
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bl3sig --input $DESTDIR/bl33.bin --compress lz4 \
|
|
--output $DESTDIR/bl33.bin.enc \
|
|
--level v3 --type bl33 --compress lz4
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bl2sig --input $DESTDIR/bl2_new.bin \
|
|
--output $DESTDIR/bl2.n.bin.sig
|
|
$FIPDIR/$AML_ENCRYPT_BIN --bootmk \
|
|
--output $DESTDIR/u-boot.bin \
|
|
--bl2 $DESTDIR/bl2.n.bin.sig \
|
|
--bl30 $DESTDIR/bl30_new.bin.enc \
|
|
--bl31 $DESTDIR/bl31.img.enc \
|
|
--bl33 $DESTDIR/bl33.bin.enc \
|
|
--ddrfw1 $DESTDIR/ddr4_1d.fw \
|
|
--ddrfw2 $DESTDIR/ddr4_2d.fw \
|
|
--ddrfw3 $DESTDIR/ddr3_1d.fw \
|
|
--ddrfw4 $DESTDIR/piei.fw \
|
|
--ddrfw5 $DESTDIR/lpddr4_1d.fw \
|
|
--ddrfw6 $DESTDIR/lpddr4_2d.fw \
|
|
--ddrfw7 $DESTDIR/diag_lpddr4.fw \
|
|
--ddrfw8 $DESTDIR/aml_ddr.fw \
|
|
--ddrfw9 $DESTDIR/lpddr3_1d.fw \
|
|
--level v3
|
|
;;
|
|
|
|
odroid-c2)
|
|
$FIPDIR/fip_create --bl30 $FIPDIR/bl30.bin \
|
|
--bl301 $FIPDIR/bl301.bin \
|
|
--bl31 $FIPDIR/bl31.bin \
|
|
--bl33 $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/fip.bin
|
|
|
|
$FIPDIR/fip_create --dump $DESTDIR/fip.bin
|
|
|
|
cat $FIPDIR/bl2.package $DESTDIR/fip.bin > $DESTDIR/boot_new.bin
|
|
|
|
$FIPDIR/aml_encrypt_gxb --bootsig --input $DESTDIR/boot_new.bin --output $DESTDIR/u-boot.img
|
|
dd if=$DESTDIR/u-boot.img of=$DESTDIR/u-boot.gxbb bs=512 skip=96
|
|
dd if=$FIPDIR/bl1.bin.hardkernel of=$DESTDIR/u-boot.bin.sd.bin conv=fsync,notrunc bs=1 count=442
|
|
dd if=$FIPDIR/bl1.bin.hardkernel of=$DESTDIR/u-boot.bin.sd.bin conv=fsync,notrunc bs=512 skip=1 seek=1
|
|
dd if=$DESTDIR/u-boot.gxbb of=$DESTDIR/u-boot.bin.sd.bin conv=fsync,notrunc bs=512 seek=97
|
|
;;
|
|
|
|
odroid-n2)
|
|
cp $FIPDIR/bl301.bin $DESTDIR/
|
|
cp $FIPDIR/acs.bin $DESTDIR/
|
|
cp $FIPDIR/aml_ddr.fw $DESTDIR/
|
|
cp $FIPDIR/bl2.bin $DESTDIR/
|
|
cp $FIPDIR/bl30.bin $DESTDIR/
|
|
cp $FIPDIR/bl31.img $DESTDIR/
|
|
cp $FIPDIR/blx_fix.sh $DESTDIR/
|
|
cp $FIPDIR/ddr3_1d.fw $DESTDIR/
|
|
cp $FIPDIR/ddr4_1d.fw $DESTDIR/
|
|
cp $FIPDIR/ddr4_2d.fw $DESTDIR/
|
|
cp $FIPDIR/diag_lpddr4.fw $DESTDIR/
|
|
cp $FIPDIR/lpddr4_1d.fw $DESTDIR/
|
|
cp $FIPDIR/lpddr4_2d.fw $DESTDIR/
|
|
cp $FIPDIR/piei.fw $DESTDIR/
|
|
cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl30_zero.bin \
|
|
$DESTDIR/bl301.bin \
|
|
$DESTDIR/bl301_zero.bin \
|
|
$DESTDIR/bl30_new.bin bl30
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl2.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl2_zero.bin \
|
|
$DESTDIR/acs.bin \
|
|
$DESTDIR/bl21_zero.bin \
|
|
$DESTDIR/bl2_new.bin bl2
|
|
|
|
$FIPDIR/aml_encrypt_g12b --bl30sig --input $DESTDIR/bl30_new.bin \
|
|
--output $DESTDIR/bl30_new.bin.g12a.enc \
|
|
--level v3
|
|
$FIPDIR/aml_encrypt_g12b --bl3sig --input $DESTDIR/bl30_new.bin.g12a.enc \
|
|
--output $DESTDIR/bl30_new.bin.enc \
|
|
--level v3 --type bl30
|
|
$FIPDIR/aml_encrypt_g12b --bl3sig --input $DESTDIR/bl31.img \
|
|
--output $DESTDIR/bl31.img.enc \
|
|
--level v3 --type bl31
|
|
$FIPDIR/aml_encrypt_g12b --bl3sig --input $DESTDIR/bl33.bin --compress lz4 \
|
|
--output $DESTDIR/bl33.bin.enc \
|
|
--level v3 --type bl33 --compress lz4
|
|
$FIPDIR/aml_encrypt_g12b --bl2sig --input $DESTDIR/bl2_new.bin \
|
|
--output $DESTDIR/bl2.n.bin.sig
|
|
$FIPDIR/aml_encrypt_g12b --bootmk \
|
|
--output $DESTDIR/u-boot.bin \
|
|
--bl2 $DESTDIR/bl2.n.bin.sig \
|
|
--bl30 $DESTDIR/bl30_new.bin.enc \
|
|
--bl31 $DESTDIR/bl31.img.enc \
|
|
--bl33 $DESTDIR/bl33.bin.enc \
|
|
--ddrfw1 $DESTDIR/ddr4_1d.fw \
|
|
--ddrfw2 $DESTDIR/ddr4_2d.fw \
|
|
--ddrfw3 $DESTDIR/ddr3_1d.fw \
|
|
--ddrfw4 $DESTDIR/piei.fw \
|
|
--ddrfw5 $DESTDIR/lpddr4_1d.fw \
|
|
--ddrfw6 $DESTDIR/lpddr4_2d.fw \
|
|
--ddrfw7 $DESTDIR/diag_lpddr4.fw \
|
|
--ddrfw8 $DESTDIR/aml_ddr.fw \
|
|
--level v3
|
|
;;
|
|
|
|
nanopi-k2)
|
|
cp $FIPDIR/bl2.bin $DESTDIR/
|
|
cp $FIPDIR/acs.bin $DESTDIR/
|
|
cp $FIPDIR/bl21.bin $DESTDIR/
|
|
cp $FIPDIR/bl30.bin $DESTDIR/
|
|
cp $FIPDIR/bl301.bin $DESTDIR/
|
|
cp $FIPDIR/bl31.img $DESTDIR/
|
|
cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl30_zero.bin \
|
|
$DESTDIR/bl301.bin \
|
|
$DESTDIR/bl301_zero.bin \
|
|
$DESTDIR/bl30_new.bin bl30
|
|
|
|
$FIPDIR/fip_create --bl30 $DESTDIR/bl30_new.bin \
|
|
--bl31 $DESTDIR/bl31.img \
|
|
--bl33 $DESTDIR/bl33.bin \
|
|
$DESTDIR/fip.bin
|
|
|
|
$FIPDIR/fip_create --dump $DESTDIR/fip.bin
|
|
|
|
python3 $FIPDIR/acs_tool.py $DESTDIR/bl2.bin \
|
|
$DESTDIR/bl2_acs.bin \
|
|
$DESTDIR/acs.bin 0
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl2_acs.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl2_zero.bin \
|
|
$DESTDIR/bl21.bin \
|
|
$DESTDIR/bl21_zero.bin \
|
|
$DESTDIR/bl2_new.bin bl2
|
|
|
|
cat $DESTDIR/bl2_new.bin $DESTDIR/fip.bin > $DESTDIR/boot_new.bin
|
|
|
|
$FIPDIR/aml_encrypt_gxb --bootsig --input $DESTDIR/boot_new.bin --output $DESTDIR/u-boot.bin
|
|
;;
|
|
|
|
*) # GXL/GXM
|
|
cp $FIPDIR/bl2.bin $DESTDIR/
|
|
cp $FIPDIR/acs.bin $DESTDIR/
|
|
cp $FIPDIR/bl21.bin $DESTDIR/
|
|
cp $FIPDIR/bl30.bin $DESTDIR/
|
|
cp $FIPDIR/bl301.bin $DESTDIR/
|
|
cp $FIPDIR/bl31.img $DESTDIR/
|
|
cp $(get_build_dir $BOOTLOADER)/u-boot.bin $DESTDIR/bl33.bin
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl30.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl30_zero.bin \
|
|
$DESTDIR/bl301.bin \
|
|
$DESTDIR/bl301_zero.bin \
|
|
$DESTDIR/bl30_new.bin bl30
|
|
|
|
python3 $FIPDIR/acs_tool.py $DESTDIR/bl2.bin $DESTDIR/bl2_acs.bin $DESTDIR/acs.bin 0
|
|
|
|
$FIPDIR/blx_fix.sh $DESTDIR/bl2_acs.bin \
|
|
$DESTDIR/zero_tmp \
|
|
$DESTDIR/bl2_zero.bin \
|
|
$DESTDIR/bl21.bin \
|
|
$DESTDIR/bl21_zero.bin \
|
|
$DESTDIR/bl2_new.bin bl2
|
|
|
|
$FIPDIR/aml_encrypt_gxl --bl3enc --input $DESTDIR/bl30_new.bin
|
|
$FIPDIR/aml_encrypt_gxl --bl3enc --input $DESTDIR/bl31.img
|
|
$FIPDIR/aml_encrypt_gxl --bl3enc --input $DESTDIR/bl33.bin
|
|
$FIPDIR/aml_encrypt_gxl --bl2sig --input $DESTDIR/bl2_new.bin --output $DESTDIR/bl2.n.bin.sig
|
|
$FIPDIR/aml_encrypt_gxl --bootmk --output $DESTDIR/u-boot.bin --bl2 $DESTDIR/bl2.n.bin.sig --bl30 $DESTDIR/bl30_new.bin.enc --bl31 $DESTDIR/bl31.img.enc --bl33 $DESTDIR/bl33.bin.enc
|
|
;;
|
|
|
|
esac
|
|
|
|
# Clean up after previous build
|
|
rm -rf $INSTALL/usr/share/bootloader/boot.ini
|
|
rm -rf $INSTALL/usr/share/bootloader/u-boot*
|
|
|
|
# Install u-boot
|
|
mkdir -p $INSTALL/usr/share/bootloader
|
|
if [ $UBOOT_SYSTEM != "box" ]; then
|
|
if [ -f $DESTDIR/u-boot.bin.sd.bin ]; then
|
|
cp -av $DESTDIR/u-boot.bin.sd.bin $INSTALL/usr/share/bootloader
|
|
fi
|
|
if [ -f $DESTDIR/u-boot.bin ]; then
|
|
cp -av $DESTDIR/u-boot.bin $INSTALL/usr/share/bootloader
|
|
fi
|
|
fi
|
|
|
|
# Install boot.ini if it exists
|
|
if find_file_path bootloader/${UBOOT_SYSTEM}.ini; then
|
|
cp -av ${FOUND_PATH} $INSTALL/usr/share/bootloader/boot.ini
|
|
fi
|