From a77a86d6b2f59491e43c1954fed38631f3f7231b Mon Sep 17 00:00:00 2001 From: Chen Wang Date: Mon, 3 Feb 2025 20:03:10 +0800 Subject: [PATCH] bsp: cvitek: fix build error for aarch64 This patch fixed the error "bash: mksdimg.sh: No such file or directory" when building cv18xx_aarch64. The issue is introduced by commit "bsp: cvitek: removed useless files after using rttpkgtool". In addition, in order to unify the logic with riscv as much as possible, the name of the "milkv-duo256m" directory under cv18xx_aarch64 is uniformly changed to "duo256m". This patch also improve the README, adding instructions to install xz-utils. Signed-off-by: Chen Wang --- bsp/cvitek/README.md | 4 ++- bsp/cvitek/cv18xx_aarch64/combine.sh | 4 +-- .../dtb/{milkv-duo256m => duo256m}/multi.its | 0 .../sg2002_milkv_duo256m_arm_sd.dtb | Bin bsp/cvitek/cv18xx_aarch64/mksdimg.sh | 25 ++++++++++++++++++ .../{milkv-duo256m => duo256m}/bl2.bin | Bin .../{milkv-duo256m => duo256m}/bl31.bin | Bin .../{milkv-duo256m => duo256m}/blmacros.env | 0 .../{milkv-duo256m => duo256m}/chip_conf.bin | Bin .../{milkv-duo256m => duo256m}/ddr_param.bin | Bin .../{milkv-duo256m => duo256m}/empty.bin | 0 .../{milkv-duo256m => duo256m}/fip.bin | Bin .../{milkv-duo256m => duo256m}/fiptool.py | 0 .../{milkv-duo256m => duo256m}/u-boot-raw.bin | Bin bsp/cvitek/cv18xx_aarch64/rtconfig.py | 2 +- 15 files changed, 31 insertions(+), 4 deletions(-) mode change 100755 => 100644 bsp/cvitek/README.md rename bsp/cvitek/cv18xx_aarch64/dtb/{milkv-duo256m => duo256m}/multi.its (100%) rename bsp/cvitek/cv18xx_aarch64/dtb/{milkv-duo256m => duo256m}/sg2002_milkv_duo256m_arm_sd.dtb (100%) create mode 100755 bsp/cvitek/cv18xx_aarch64/mksdimg.sh rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/bl2.bin (100%) mode change 100755 => 100644 rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/bl31.bin (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/blmacros.env (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/chip_conf.bin (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/ddr_param.bin (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/empty.bin (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/fip.bin (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/fiptool.py (100%) rename bsp/cvitek/cv18xx_aarch64/prebuild/{milkv-duo256m => duo256m}/u-boot-raw.bin (100%) diff --git a/bsp/cvitek/README.md b/bsp/cvitek/README.md old mode 100755 new mode 100644 index 91b99895de..913c921883 --- a/bsp/cvitek/README.md +++ b/bsp/cvitek/README.md @@ -128,9 +128,11 @@ export RTT_EXEC_PATH=/opt/riscv64-linux-musleabi_for_x86_64-pc-linux-gnu/bin ## 4.2. 依赖安装 ```shell -$ sudo apt install -y scons libncurses5-dev device-tree-compiler u-boot-tools +$ sudo apt install -y scons libncurses5-dev device-tree-compiler u-boot-tools xz-utils ``` +其中 u-boot-tools 包含了打包需要的 mkimage, xz-utils 包含了打包需要的 lzma。 + ## 4.3. 构建 异构芯片需单独编译每个核的 OS,在大/小核对应的目录下,依次执行: diff --git a/bsp/cvitek/cv18xx_aarch64/combine.sh b/bsp/cvitek/cv18xx_aarch64/combine.sh index af53969004..07767e8bba 100755 --- a/bsp/cvitek/cv18xx_aarch64/combine.sh +++ b/bsp/cvitek/cv18xx_aarch64/combine.sh @@ -1,7 +1,7 @@ #!/bin/bash C906_LITTLE_BIN_PATH=../c906_little/rtthread.bin -GEN_FIP_PATH=../output/milkv-duo256m/ -DEPENDS_FILE_PATH=./prebuild/milkv-duo256m +GEN_FIP_PATH=../output/duo256m/ +DEPENDS_FILE_PATH=./prebuild/duo256m BLCP_IMG_RUNADDR=0x05200200 BLCP_PARAM_LOADADDR=0 diff --git a/bsp/cvitek/cv18xx_aarch64/dtb/milkv-duo256m/multi.its b/bsp/cvitek/cv18xx_aarch64/dtb/duo256m/multi.its similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/dtb/milkv-duo256m/multi.its rename to bsp/cvitek/cv18xx_aarch64/dtb/duo256m/multi.its diff --git a/bsp/cvitek/cv18xx_aarch64/dtb/milkv-duo256m/sg2002_milkv_duo256m_arm_sd.dtb b/bsp/cvitek/cv18xx_aarch64/dtb/duo256m/sg2002_milkv_duo256m_arm_sd.dtb similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/dtb/milkv-duo256m/sg2002_milkv_duo256m_arm_sd.dtb rename to bsp/cvitek/cv18xx_aarch64/dtb/duo256m/sg2002_milkv_duo256m_arm_sd.dtb diff --git a/bsp/cvitek/cv18xx_aarch64/mksdimg.sh b/bsp/cvitek/cv18xx_aarch64/mksdimg.sh new file mode 100755 index 0000000000..75c7caf194 --- /dev/null +++ b/bsp/cvitek/cv18xx_aarch64/mksdimg.sh @@ -0,0 +1,25 @@ +#!/bin/bash +set -e + +PROJECT_PATH=$1 +IMAGE_NAME=$2 + +if [ -z "$PROJECT_PATH" ] || [ -z "$IMAGE_NAME" ]; then + echo "Usage: $0 " + exit 1 +fi + +ROOT_PATH=$PROJECT_PATH/.. + +source ${ROOT_PATH}/tools.sh + +BOARD_TYPE=`get_board_type $PROJECT_PATH` + +echo "start compress kernel..." + +lzma -c -9 -f -k ${PROJECT_PATH}/${IMAGE_NAME} > ${PROJECT_PATH}/dtb/${BOARD_TYPE}/Image.lzma + +mkdir -p ${ROOT_PATH}/output/${BOARD_TYPE} +mkimage -f ${PROJECT_PATH}/dtb/${BOARD_TYPE}/multi.its -r ${ROOT_PATH}/output/${BOARD_TYPE}/boot.sd + +rm -rf ${PROJECT_PATH}/dtb/${BOARD_TYPE}/Image.lzma diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/bl2.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/bl2.bin old mode 100755 new mode 100644 similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/bl2.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/bl2.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/bl31.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/bl31.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/bl31.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/bl31.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/blmacros.env b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/blmacros.env similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/blmacros.env rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/blmacros.env diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/chip_conf.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/chip_conf.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/chip_conf.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/chip_conf.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/ddr_param.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/ddr_param.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/ddr_param.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/ddr_param.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/empty.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/empty.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/empty.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/empty.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/fip.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/fip.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/fip.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/fip.bin diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/fiptool.py b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/fiptool.py similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/fiptool.py rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/fiptool.py diff --git a/bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/u-boot-raw.bin b/bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/u-boot-raw.bin similarity index 100% rename from bsp/cvitek/cv18xx_aarch64/prebuild/milkv-duo256m/u-boot-raw.bin rename to bsp/cvitek/cv18xx_aarch64/prebuild/duo256m/u-boot-raw.bin diff --git a/bsp/cvitek/cv18xx_aarch64/rtconfig.py b/bsp/cvitek/cv18xx_aarch64/rtconfig.py index 9ebc3491fa..16f5706bb7 100644 --- a/bsp/cvitek/cv18xx_aarch64/rtconfig.py +++ b/bsp/cvitek/cv18xx_aarch64/rtconfig.py @@ -46,4 +46,4 @@ if PLATFORM == 'gcc': DUMP_ACTION = OBJDUMP + ' -D -S $TARGET > rtt.asm\n' POST_ACTION = OBJCPY + ' -O binary $TARGET rtthread.bin\n' + SIZE + ' $TARGET \n' POST_ACTION += OBJCPY + ' -O binary $TARGET Image \n' + SIZE + ' $TARGET \n' -POST_ACTION += './combine.sh && cd .. && bash mksdimg.sh ' + os.getcwd() + ' Image \n' +POST_ACTION += './combine.sh && ./mksdimg.sh ' + os.getcwd() + ' Image \n'