/dev/fb0 노드를 생성하는 서비스는 무엇입니까?

/dev/fb0 노드를 생성하는 서비스는 무엇입니까?

console-setup.service화면 해상도 감지를 사용 fbset -s하고 이에 따라 콘솔 글꼴 크기를 조정하도록 업데이트하고 싶습니다 . 의 경우 fbset내가 있어야 하는데 /dev/fb0어떤 서비스에 종속성을 만들어야 할지 모르겠습니다. /dev/fb0시작 시 어떻게 생성하나요?

답변1

/dev/fb0커널은 해당 디스플레이 컨트롤러 하드웨어를 감지하고 초기화하면 첫 번째 프레임 버퍼 디스플레이 드라이버를 생성합니다.

드라이버가 커널에 내장된 경우 사용자 공간 프로세스가 실행되기 시작할 때 실제로 드라이버가 있을 수 있습니다.

다음과 같은 udev 규칙을 추가하면:

SUBSYSTEM=="graphics", KERNEL=="fb0", TAG+="systemd"

*.device이에 대한 단위를 얻은 다음 종속성에 사용할 수 있습니다 .

udev 규칙에 추가하면 ENV{SYSTEMD_WANTS}+="your.service"udev는 장치가 시작되는 즉시 서비스를 시작하도록 systemd에 지시하므로 fbset계획에 맞는 경우 별도의 서비스로 실행할 수 있습니다.

최소한 Debian 12에서는 console-setup.service실행 중이지만 After=console-screen.service kbd.service local-fs.target정의 console-screen.service되지 않은 것 같습니다. 따라서 자신만의 console-screen.service실행 글꼴 작업 fbset과 콘솔 글꼴 작업을 정의하고 udev가 이를 트리거하도록 할 수 있습니다.

SUBSYSTEM=="graphics", KERNEL=="fb0", ENV{SYSTEMD_WANTS}+="console-screen.service"

일단 장치를 사용할 수 있습니다.

그런 다음 작업 순서는 /dev/fb0표시 -> 사용자 정의 console-screen.service실행 -> console-setup.service실행입니다.

그런 다음 콘솔 글꼴을 유지하도록 표준을 구성 console-setup.service하고 사용자 정의 console-screen.service.

관련 정보