Linux SDK Configuration introduction Directory $ tree -L 1 . ├── app ├── buildroot # Buildroot root filesystem build directory ├── build.sh -> device/rockchip/common/build.sh # Compile script ├── device # Compile related configuration files ├── docs # Documentation ├── envsetup.sh -> buildroot/build/envsetup.sh ├── external ├── kernel ├── Makefile -> buildroot/build/Makefile ├── mkfirmware.sh -> device/rockchip/common/mkfirmware.sh # Link script ├── prebuilts # Cross compilation toolchain ├── rkbin ├── rkflash.sh -> device/rockchip/common/rkflash.sh # Flash script ├── tools # Tools directory ├── u-boot Introduction to configuration files In the "device/rockchip/rk3588/" directory, there are configuration files (xxxx.mk) for different board types, which are used to manage the compilation configuration of each project of the SDK. The relevant configuration introduction: # Target arch export RK_ARCH=arm64 # Uboot defconfig export RK_UBOOT_DEFCONFIG=xxxx_defconfig # Kernel defconfig export RK_KERNEL_DEFCONFIG=xxxx_defconfig # Kernel defconfig fragment export RK_KERNEL_DEFCONFIG_FRAGMENT=xxxx.config # Kernel dts export RK_KERNEL_DTS=aio-3588sjd4.dts # parameter for GPT table export RK_PARAMETER=parameter-xxxx.txt # rootfs image path export RK_ROOTFS_IMG=ubuntu_rootfs/rootfs.img Partition table parameter The parameter.txt file contains the partition information of the firmware. Take parameter-ubuntu-fit.txt as an example: path: "device/rockchip/rk3588/parameter-ubuntu-fit.txt" FIRMWARE_VER: 1.0 MACHINE_MODEL: RK3588 MACHINE_ID: 007 MANUFACTURER: RK3588 MAGIC: 0x5041524B ATAG: 0x00200800 MACHINE: 0xffffffff CHECK_MASK: 0x80 PWR_HLD: 0,0,A,0,1 TYPE: GPT CMDLINE: mtdparts=rk29xxnand:0x00002000@0x00004000(uboot),0x00002000@0x00006000(misc),0x00020000@0x00008000(boot:bootable),0x00040000@0x00028000(recovery),0x00010000@0x00068000(backup),0x00c00000@0x00078000(rootfs),0x00040000@0x00c78000(oem),-@0x00cb8000(userdata:grow) uuid:rootfs=614e0000-0000-4b53-8000-1d28000054a9 The CMDLINE attribute is where we are concerned. Take uboot as an example. In 0x00002000@0x00004000(uboot), 0x00004000 is the starting position of the uboot partition, 0x00002000 is the size of the partition, and so on. package-file The package-file is used to determine the required partition image and image path when packaging the firmware, and it needs to be consistent with the parameter.txt. path: "tools/linux/Linux_Pack_Firmware/rockdev/rk3588-package-file" # NAME Relative path # #HWDEF HWDEF package-file package-file bootloader Image/MiniLoaderAll.bin parameter Image/parameter.txt uboot Image/uboot.img misc Image/misc.img boot Image/boot.img recovery Image/recovery.img rootfs Image/rootfs.img userdata RESERVED backup RESERVED