임베디드 소프트웨어 - 사용자 정의 스플래시 화면 Yocto 검은색 텍스트가 있는 흰색 로딩 바

Yocto Raspberry Pi

진행률 표시줄이 있는 사용자 지정 시작 화면

시작 화면 이미지 준비

시작 화면은 소스 트리의 "/workdir/poky-honister/meta-raspberrypi/recipes-core" 디렉터리에 있는 "psplash"라는 레시피에 의해 처리됩니다.

"psplash"는 이미지가 헤더 파일 형식일 것으로 예상하기 때문에 먼저 "make-image-header.sh"라는 스크립트를 사용하여 이미지를 헤더 파일 형식으로 변환해야 합니다.

psplash 리포지토리 복제

스크립트를 가져오려면 yoctoproject psplash 리포지토리(이 경우 /workdir 디렉터리)에 복제하세요

git clone https://git.yoctoproject.org/psplash

psplash 디렉터리에는 "make-image-header.sh" 스크립트가 있습니다.

라이브러리 설치

시스템에 "libgdk-pixbuf2.0-dev" 스크립트를 설치해야 합니다. 두 번째 단말기 창에서 다음 작업을 수행할 수 있습니다:

docker exec -it --user=root crops-poky bash
apt-get install libgdk-pixbuf2.0-dev
exit

이제 스크립트를 사용하여 png 파일을 .h-file로 변환할 수 있습니다

./make-image-header.sh <path-to-png>/psplash-ixlogo.png POKY

이에 따라, "psplash-ixlogo-img.h"라는 파일을 가져와야 합니다. 헤더는 다음과 같습니다:

/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */

#define POKY_IMG_ROWSTRIDE (4080)
#define POKY_IMG_WIDTH (1020)
#define POKY_IMG_HEIGHT (768)
#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
...

시작 화면의 배경색을 변경하려는 경우 다음 줄을 추가할 수 있습니다:

#define PSPLASH_BACKGROUND_COLOR 0x07,0x85,0x00

배경색을 녹색으로 설정하세요.

사용자 지정 메타 레이어 생성

생성된 시작 화면 이미지를 포함하려면 사용자 지정 메타 레이어가 필요합니다.

rpi-build의 첫 번째 소스.

source poky-honister/oe-init-build-env rpi-build

"bitbake-layers"를 사용하여 새 메타 레이어를 생성하고 이 메타 레이어를 현재 프로젝트의 conf/bblayers.conf에 추가합니다.

bitbake-layers create-layer meta-interelectronix-rpi
bitbake-layers add-layer meta-interelectronix-rpi

그 다음, "psplash" 디렉터리를 meta-raspberrypi/recipes-core에서 새 메타 레이어로 복사합니다:

mkdir meta-interelectronix-rpi/recipes-core
cp -r /workdir/poky-honister/meta-raspberrypi/recipes-core/psplash meta-interelectronix-rpi/recipes-core/

psplash-ixlogo-img.h를 meta-interelectronix-rpi/recipes-core/psplash/files/에 복사하세요

cp <path-to-h-file>/psplash-ixlogo-img.h meta-interelectronix-rpi/recipes-core/psplash/files/

마지막으로, "meta-interelectronix-rpi/recipes-core/psplash/psplash_%.bbappend"를 편집하고 "Psplash-raspberrypi-img.h"를 "psplash-ixlogo-img.h"로 변경하세요.

psplash 포함

마지막 단계에서 psplash 패키지를 프로젝트의 local.conf 파일에 추가해야 합니다. 이를 위해, /workdir/rpi-build/conf/local.conf 파일을 편집하세요.

제 local.conf는 다음과 같습니다:

## systemd settings
DISTRO_FEATURES:append = " systemd"
VIRTUAL-RUNTIME:init_manager = "systemd"
VIRTUAL-RUNTIME:initscripts = ""
IMX_DEFAULT_DISTRO_FEATURES:append = " systemd"

## enable some hardware
ENABLE_I2C = "1"
ENABLE_UART = "1"
DISABLE_SPLASH = "1"
DISABLE_RPI_BOOT_LOGO = "1"

IMAGE_INSTALL:append = " psplash"
IMAGE_FEATURES += " splash "

저작권 라이선스

Copyright © 2022 Interelectronix e.K.
이 프로젝트 소스 코드는 GPL-3.0 라이선스에 따라 라이선스가 부여됩니다.