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

これでb​​uildrootによって生成された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スタンドアロンアプリを見ることができるので、フレームバッファドライバが動作していると仮定します)、わかりませXfbdevrootfs

私が正しく理解しているなら、これはXorgサーバーとしてTinyX / kdriveが選択されたときにbuildrootによってアクティブになるXfbdev小さなビルドになります。それでは、実行可能ファイルがなく、それを指すシンボリックリンクのみがX11あるのはなぜですか?/usr/bin

ベストアンサー1

おすすめ記事