Initial commit

This commit is contained in:
Uklosk 2024-06-02 16:57:15 +02:00
commit 5cf0d01487
6 changed files with 140 additions and 0 deletions

41
scripts/build.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/bash
/home/jmga/Dev/rgx35xx/scripts/env.sh
TPL_DIR=/home/jmga/Dev/rgx35xx/tools/trusted-firmware-a
UBOOT_DIR=/home/jmga/Dev/rgx35xx/tools/u-boot
LINUX_DIR=/home/jmga/Dev/rgx35xx/tools/linux
SUNXITOOLS_DIR=/home/jmga/Dev/rgx35xx/tools/sunxi-tools
cd ${TPL_DIR}
# Build Trusted Platform Firmware
make clean
make CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50i_h616 DEBUG=1
cd ${UBOOT_DIR}
# Prepare U-Boot Build
make clean
make CROSS_COMPILE=aarch64-linux-gnu- anbernic_rg35xxh_defconfig
# Build U-Boot
make CROSS_COMPILE=aarch64-linux-gnu- BL31=${TPL_DIR}/build/sun50i_h616/debug/bl31.bin SCP=/dev/null
# Create Boot Script boot.cmd
echo "setenv bootargs console=ttyS0,115200
booti 0x40200000 - 0x4fa00000
" > boot.cmd
# Create Boot Script Image
mkimage -C none -A arm64 -T script -d boot.cmd boot.scr
cd ${LINUX_DIR}
# Init Kernel Defconfig
make clean
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make defconfig
# Build Kernel Image
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j30 Image
# Build Device Trees
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make -j30 dtbs

11
scripts/clean.sh Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
EXTRACT_DIR=extracted
BUILD_DIR=build
# Clean
rm -rf ${EXTRACT_DIR} ${BUILD_DIR}
# Create output dir
mkdir -p ${EXTRACT_DIR}
mkdir -p ${BUILD_DIR}

6
scripts/env.sh Executable file
View file

@ -0,0 +1,6 @@
#!/bin/bash
TPL_DIR=/home/jmga/Dev/rgx35xx/tools/trusted-firmware-a
UBOOT_DIR=/home/jmga/Dev/rgx35xx/tools/u-boot
LINUX_DIR=/home/jmga/Dev/rgx35xx/tools/linux
SUNXITOOLS_DIR=/home/jmga/Dev/rgx35xx/tools/sunxi-tools

39
scripts/extract.sh Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
IMAGES_DIR=images
IMAGE_NAME=RG35XXH-V1.1.0-EN16GB-240428.IMG
IMAGE=${IMAGES_DIR}/${IMAGE_NAME}
EXTRACT_DIR=extracted
# Create output dirs
mkdir -p ${EXTRACT_DIR}
# Extract boot0
dd if=${IMAGE} of=${EXTRACT_DIR}/boot0.img bs=1024 skip=8 count=64 status=progress
# Extract boot package
dd if=${IMAGE} of=${EXTRACT_DIR}/boot_package.img bs=1024 skip=16400 count=20464 status=progress
# Extract boot image
dd if=${IMAGE} of=${EXTRACT_DIR}/boot.img bs=512 skip=8978432 count=131072 status=progress
# Extract env image
dd if=${IMAGE} of=${EXTRACT_DIR}/env.img bs=512 skip=8945664 count=32768 status=progress
# Boot resource image
dd if=${IMAGE} of=${EXTRACT_DIR}/boot-resource.img bs=512 skip=8880128 count=65536 status=progress
# Boot Roms image
dd if=${IMAGE} of=${EXTRACT_DIR}/Roms.img bs=512 skip=73728 count=8806400 status=progress
# Boot UDISK image
dd if=${IMAGE} of=${EXTRACT_DIR}/UDISK.img bs=512 skip=25886720 count=4487168 status=progress
# Boot rootfs image
dd if=${IMAGE} of=${EXTRACT_DIR}/rootfs.img bs=512 skip=9109504 count=16777216 status=progress
# Extract boot.img
unpackbootimg -i ${EXTRACT_DIR}/boot.img -o ${EXTRACT_DIR}/boot_image/
# Extract env.img
strings ${EXTRACT_DIR}/env.img > ${EXTRACT_DIR}/env.txt

13
scripts/felboot.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/bash
/home/jmga/Dev/rgx35xx/scripts/env.sh
TPL_DIR=/home/jmga/Dev/rgx35xx/tools/trusted-firmware-a
UBOOT_DIR=/home/jmga/Dev/rgx35xx/tools/u-boot
LINUX_DIR=/home/jmga/Dev/rgx35xx/tools/linux
SUNXITOOLS_DIR=/home/jmga/Dev/rgx35xx/tools/sunxi-tools
# FEL Boot
sudo ${SUNXITOOLS_DIR}/sunxi-fel -v uboot ${UBOOT_DIR}/u-boot-sunxi-with-spl.bin \
write 0x40200000 ${LINUX_DIR}/arch/arm64/boot/Image \
write 0x4fa00000 ${LINUX_DIR}/arch/arm64/boot/dts/allwinner/sun50i-h700-anbernic-rg35xx-h.dtb \
write 0x4fc00000 ${UBOOT_DIR}/boot.scr

30
scripts/repackage.sh Executable file
View file

@ -0,0 +1,30 @@
#!/bin/bash
IMAGES_DIR=images
IMAGE_NAME=RG35XXH-V1.1.0-EN16GB-240428.IMG
IMAGE=${IMAGES_DIR}/${IMAGE_NAME}
EXTRACT_DIR=extracted
BUILD_DIR=build
# Create dirs
mkdir -p ${EXTRACT_DIR}
mkdir -p ${BUILD_DIR}
# Repackage boot0
cp ${EXTRACT_DIR}/boot0.img ${BUILD_DIR}/boot0.img
# Repackage boot package
cp ${EXTRACT_DIR}/boot_package.img ${BUILD_DIR}/boot_package.img
# Repackage boot resource
cp ${EXTRACT_DIR}/boot-resource.img ${BUILD_DIR}/boot-resource.img
# Repackage boot.img
mkbootimg --kernel ${EXTRACT_DIR}/boot_image/boot.img-zImage --ramdisk ${EXTRACT_DIR}/boot_image/boot.img-ramdisk.gz --dt ${EXTRACT_DIR}/boot_image/boot.img-dtb \
--board sun50i_arm64 --base 40078000 --kernel_offset 00008000 --ramdisk_offset 01f88000 \
--second_offset 00e88000 --tags_offset fff88100 --cmdline "earlyprintk=ttyS0,115200
loglevel=8 initcall_debug=0 console=tty0 console=ttyS0,115200 rootwait root=/dev/mmcblk0p3
init=/sbin/init" -o ${BUILD_DIR}/boot.img
# Repackage env.img
mkenvimage -s 0x1000000 -o ${BUILD_DIR}/env.img ${EXTRACT_DIR}/env.txt