Replacing Android bootup.bmp for Android 12 Edge2

Which system do you use? Android, Ubuntu, OOWOW or others?

*Android 12 64 bit

Which version of system do you use? Khadas official images, self built images, or others?

Khadas official image from June 2023

Please describe your issue below:

I am trying to replace the Android bootup.bmp for Android 12 on the Khadas Edge 2 PC.

Android - Where is original logo file?

Logo file is stored in the device/khadas/TARGET/logo_img_files/bootup.bmp directory in android code
Replace the bootup.bmp,then rebuild the logo.

I have downloaded the latest Android 12 source code. You will notice that there is no folder named, “logo_img_files” in the working directory. It does not exist.

I created a folder called “logo_img_files” in the “rk3588” folder and paste my image with the “bootup.bmp” file into it.

I ran the following:
$ cd PATH_YOUR_PROJECT
$ source build/envsetup.sh
$ lunch kedge2-userdebug
$ make logoimg

Post a console log of your issue below:

asus@asus-N501JW:~/WORKING_DIRECTORY$ make logoimg
19:02:56 ************************************************************
19:02:56 You are building on a machine with 15.5GB of RAM
19:02:56 
19:02:56 The minimum required amount of free memory is around 16GB,
19:02:56 and even with that, some configurations may not work.
19:02:56 
19:02:56 If you run into segfaults or other errors, try reducing your
19:02:56 -j value.
19:02:56 ************************************************************
build/make/core/soong_config.mk:195: warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
build/make/core/soong_config.mk:196: warning: BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=12
TARGET_PRODUCT=kedge2
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.19.0-32-generic-x86_64-Ubuntu-22.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SQ3A.220705.003.A1
OUT_DIR=out
============================================
[100% 268/268] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja
cd "$(dirname "out/soong/.bootstrap/bin/soong_build")" && BUILDER="$PWD/$(basename "out/soong/.bootstrap/bin/soong_build")" && cd / && env -i "$BUILDER"     -
-top "$TOP"     --out "out/soong"     -n "out"     -d "out/soong/build.ninja.d"     -t -l out/.module_paths/Android.bp.list -globFile out/soong/.bootstrap/bui
ld-globs.ninja -o out/soong/build.ninja --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used Android.bp
audioflinger want to conditional Compile
devicefactory want to conditional Compile
libRkTeeWeaver want to conditional Compile
libaudioclient want to conditional Compile
libaudiohal want to conditional Compile
libeptz want to conditional Compile
libgralloc_priv want to conditional Compile
libmpimmz conditional Compile
librga want to conditional Compile
librknnrt want to conditional Compile
librockx want to conditional Compile
managerdefault want to conditional Compile
Rockchip conditional compile
libeptz enabled on RK3588
libeptz enabled on RK3588
libeptz enabled on RK3588
librknnrt enabled on RK3588
librknnrt enabled on RK3588
librknnrt enabled on RK3588
[hardware/rockchip/libgralloc frameworks/native/include system/core/libsync system/core/libsync/include external/libdrm/include/drm] 32
Optee Version: v2
>>>>>>>>>>>>>>>>>>>>> rk3588
librockx enabled on RK3588
librockx enabled on RK3588
librockx enabled on RK3588
Killed
19:05:11 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.

#### failed to build some targets (02:16 (mm:ss)) ####



@byob11 We have created a feature that selects logo.bmp files when the screen is in landscape orientation. When the screen is in vertical orientation, the logo_kernel.bmp file will be selected.

kernel-5.10$ kernel-5.10$ ls *.bmp   
logo.bmp  logo_kernel.bmp

Thank you @goenjoy

I ran the following:
$ cd PATH_YOUR_PROJECT
$ cp MYLandscapeLOGO.BMP ./kernel-5.10/logo.bmp
$ cp MYPortraitLOGO.BMP ./kernel-5.10/logo_kernel.bmp
$ source build/envsetup.sh
$ lunch kedge2-userdebug
$ ./build.sh -CKu

...
  LD [M]  drivers/net/ethernet/realtek/r8168/r8168.ko
  LD [M]  drivers/net/phy/realtek.ko
  LD [M]  drivers/media/usb/gspca/gspca_main.ko
  LD [M]  drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/bcmdhd.ko
  Image:  resource.img (with rk3588s-khadas-edge2.dtb logo.bmp logo_kernel.bmp) is ready
  Image:  boot.img (with Image  resource.img) is ready
  Image:  zboot.img (with Image.lz4  resource.img) is ready

#### build completed successfully (15:30 (mm:ss)) ####

/home/asus/WORKING_DIRECTORY
Build kernel ok!
cp: cannot create regular file '/home/asus/WORKING_DIRECTORY/out/target/product/kedge2/kernel': No such file or directory
package resoure.img with charger images

Pack ./tools/images/ & ../kernel-5.10/resource.img to resource.img ...
Unpacking old image(../kernel-5.10/resource.img):
rk-kernel.dtb logo.bmp logo_kernel.bmp 3
Pack to resource.img successed!

Packed resources:
rk-kernel.dtb battery_1.bmp battery_2.bmp battery_3.bmp battery_4.bmp battery_5.bmp battery_fail.bmp logo.bmp logo_kernel.bmp battery_0.bmp 10

./resource.img with battery images is ready
/home/asus/WORKING_DIRECTORY
./build.sh: line 173: [: =: unary operator expected
Repacking header 2 boot...
./build.sh: line 257: mkbootfs: command not found
./build.sh: line 257: /home/asus/WORKING_DIRECTORY/out/target/product/kedge2/ramdisk.img: No such file or directory
./build.sh: line 258: mkbootimg: command not found
make and copy android images
TARGET_PRODUCT=kedge2
TARGET_BASE_PARAMETER_IMAGE==device/khadas/common/baseparameter/v2.0/baseparameter.img
HIGH_RELIABLE_RECOVERY_OTA=
BOARD_AVB_ENABLE=false
system filesysystem is ext4
kernel image not fount![/home/asus/WORKING_DIRECTORY/out/target/product/kedge2/kernel] 
copy kernel from TARGET_PREBUILT_KERNEL[kernel-5.10/arch/arm64/boot/Image] (y/n) n to exit?n
Make image ok!
cp: cannot stat 'rockdev/Image-kedge2/*': No such file or directory
Make update.img
packing update.img with Image -RK3588
Error:No found parameter!
regenernate package-file-tmp...
cat: Image/parameter.txt: No such file or directory
start to make update.img...
Android Firmware Package Tool v2.1
------ PACKAGE ------
Error:<ParseParamFile> open file failed,err=2,file=./Image/parameter.txt!
------ FAILED ------
Press any key to quit:

@goenjoy

I also attempted:
$ cd PATH_YOUR_PROJECT
$ cp MYLandscapeLOGO.BMP ./kernel-5.10/logo.bmp
$ cp MYPortraitLOGO.BMP ./kernel-5.10/logo_kernel.bmp
$ source build/envsetup.sh
$ lunch kedge2-userdebug
$ make logoimg

Nothing compiles correctly. Please see failure below. Thank you.

asus@asus-N501JW:~/WORKING_DIRECTORY$ make logoimg
23:52:54 ************************************************************
23:52:54 You are building on a machine with 15.5GB of RAM
23:52:54 
23:52:54 The minimum required amount of free memory is around 16GB,
23:52:54 and even with that, some configurations may not work.
23:52:54 
23:52:54 If you run into segfaults or other errors, try reducing your
23:52:54 -j value.
23:52:54 ************************************************************
build/make/core/soong_config.mk:195: warning: BOARD_PLAT_PUBLIC_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PUBLIC_SEPOLICY_DIRS instead.
build/make/core/soong_config.mk:196: warning: BOARD_PLAT_PRIVATE_SEPOLICY_DIR has been deprecated. Use SYSTEM_EXT_PRIVATE_SEPOLICY_DIRS instead.
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=12
TARGET_PRODUCT=kedge2
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm64
TARGET_ARCH_VARIANT=armv8-a
TARGET_CPU_VARIANT=generic
TARGET_2ND_ARCH=arm
TARGET_2ND_ARCH_VARIANT=armv8-a
TARGET_2ND_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.19.0-32-generic-x86_64-Ubuntu-22.04.2-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=SQ3A.220705.003.A1
OUT_DIR=out
============================================
[100% 1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja
cd "$(dirname "out/soong/.bootstrap/bin/soong_build")" && BUILDER="$PWD/$(basename "out/soong/.bootstrap/bin/soong_build")" && cd / && env -i "$BUILDER"     --top "$TOP"     --out "out/soong"     -n "out
"     -d "out/soong/build.ninja.d"     -t -l out/.module_paths/Android.bp.list -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja --available_env out/soong/soong.environment.availa
ble --used_env out/soong/soong.environment.used Android.bp
audioflinger want to conditional Compile
devicefactory want to conditional Compile
libRkTeeWeaver want to conditional Compile
libaudioclient want to conditional Compile
libaudiohal want to conditional Compile
libeptz want to conditional Compile
libgralloc_priv want to conditional Compile
libmpimmz conditional Compile
librga want to conditional Compile
librknnrt want to conditional Compile
librockx want to conditional Compile
managerdefault want to conditional Compile
Rockchip conditional compile
>>>>>>>>>>>>>>>>>>>>> rk3588
Optee Version: v2
librknnrt enabled on RK3588
librknnrt enabled on RK3588
librknnrt enabled on RK3588
[hardware/rockchip/libgralloc frameworks/native/include system/core/libsync system/core/libsync/include external/libdrm/include/drm] 32
libeptz enabled on RK3588
libeptz enabled on RK3588
libeptz enabled on RK3588
librockx enabled on RK3588
librockx enabled on RK3588
librockx enabled on RK3588
Killed
23:54:08 soong bootstrap failed with: exit status 1
ninja: build stopped: subcommand failed.

#### failed to build some targets (01:15 (mm:ss)) ####

@byob11

$ source build/envsetup.sh
$ lunch kedge2-userdebug
$ ./build.sh -CKAUu