Buildroot에 X(tinyx/kdrive)를 포함시킨 후 Xfbdev를 찾을 수 없습니다.

Buildroot에 X(tinyx/kdrive)를 포함시킨 후 Xfbdev를 찾을 수 없습니다.

작동 중인 Linux 커널이 있는 평가 보드에 Xorg를 추가하려고 합니다. 평가 보드에는 LCD 디스플레이가 있으며 간단한 qt4 데모 애플리케이션을 실행하여 하드웨어와 드라이버가 작동하는지 확인할 수 있었습니다.

이를 위해 "그래픽 응용 프로그램"에서 X11 옵션을 활성화했습니다. 관련 구성 옵션은 다음과 같습니다.

BR2_PACKAGE_XORG7=y

#
# X11R7 Servers
#
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI_24=y
BR2_PACKAGE_XSERVER_XORG_SERVER_VIDEODRV_ABI=24
BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_20=y
# BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_17 is not set
# BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_14 is not set
BR2_PACKAGE_XSERVER_XORG_SERVER_VERSION="1.20.5"
# BR2_PACKAGE_XSERVER_XORG_SERVER_MODULAR is not set
BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE=y
BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_EVDEV=y
BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_KBD=y
BR2_PACKAGE_XSERVER_XORG_SERVER_KDRIVE_MOUSE=y

컴파일이 성공적으로 끝났습니다. 보드에는 이미 uboot, Linux 커널 및 플래시 파일 시스템이 포함되어 있습니다. 수정 사항을 테스트하기 위해 Linux 커널을 업데이트한 다음 nfs를 통해 마운트한 후 buildroot로 생성된 새 파일 시스템으로 루트를 지정했습니다.

xinit xterm거기에서 실행 하여 LCD에 일부 출력이 표시될 것으로 예상합니다 . 안타깝게도 다음 오류로 인해 서버가 실패합니다.

# xinit xterm

xinit: unable to run server "X": No such file or directory
Use the -- option, or make sure that /usr/bin is in your path and
that "X" is a program or a link to the right type of server
for your display.  Possible server names include:

    Xorg        Common X server for most displays
    Xvfb        Virtual frame buffer
    Xfake       kdrive-based virtual frame buffer
    Xnest       X server nested in a window on another X server
    Xephyr      kdrive-based nested X server
    Xvnc        X server accessed over VNC's RFB protocol
    Xdmx        Distributed Multi-head X server

이제 buildroot에 의해 생성된 rootfs에는 가 있지만 /usr/bin/X이는 단지 링크일 뿐입니다 Xfbdev.

$ ls usr/bin/X -l
lrwxrwxrwx 1 root root 6 Oct  1 14:44 usr/bin/X -> Xfbdev

Xfbdev안타깝게도 같은 폴더에는 그런 것이 없습니다. 파일 시스템이 nfs를 통해 마운트되면 X대상을 찾을 수 없기 때문에 링크가 사라집니다.

여기에서 많은 단계를 건너뛰고 있다는 것을 알고 있지만(qt4 독립 실행형 앱을 볼 수 있으므로 프레임 버퍼 드라이버가 작동한다고 가정), 이해할 수 Xfbdev없습니다 rootfs.

내가 올바르게 이해한다면 이것은 Xorg 서버로 TinyX/kdrive가 선택될 때 buildroot에 의해 활성화되는 Xfbdev작은 빌드가 될 것입니다 . 그렇다면 에 실행 파일은 없고 이를 가리키는 심볼릭 링크만 X11있는 이유는 무엇입니까 ?/usr/bin

관련 정보