GNU/Linux >> Linux の 問題 >  >> Linux

Linux –独自のLinux BuildrootシステムにX11をインストールする方法は?

buildrootを使用して独自の小さなLinuxファイルシステムを開発しました およびbusybox 。必要に応じてターゲットシステム(X86)用に構成およびクロスコンパイルされたlinux-2.6.38.8カーネルを使用しました。これでファイルシステムは構築されましたが、busyboxシェルのみであり、GUIをサポートしていません。パッケージマネージャーはありません。ここで、GUIを有効にします。 / etcをチェックしました しかし、 x11はありませんでした ディレクトリまたはx11.conf file.Itはstartxをサポートしていません

How can I install x11(XFree86 or Xorg) on my system Explicitly.

I also want to install a package-manager for my system.

これはどのように達成できますか?

承認された回答:

Ubuntu 16.04ホスト、Buildroot 2017.02

現在のBuildrootにはX11パッケージがあり、これにより「簡単」になります:https://github.com/buildroot/buildroot/tree/2016.05/package/x11r7

このリポジトリは、単一のコマンドでシステム全体を構築します:https://github.com/cirosantilli/linux-kernel-module-cheat/tree/b134f3958884ce1fce2dd9d31d19ab0c0fbe9089#x11

または、事前に準備された.configを次に示します。 ファイル:https://github.com/cirosantilli/buildroot-configs/blob/44b45b5c7f68e44abcda360a2b980f8301901a9a/qemu_x86_64_x11_defconfig

これは、私が管理した最小限のX11固有の構成です。

BR2_PACKAGE_XAPP_TWM=y
BR2_PACKAGE_XAPP_XCALC=y
BR2_PACKAGE_XAPP_XCLOCK=y
BR2_PACKAGE_XAPP_XEYES=y
BR2_PACKAGE_XAPP_XINIT=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_KEYBOARD=y
BR2_PACKAGE_XDRIVER_XF86_INPUT_MOUSE=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_CIRRUS=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_FBDEV=y
BR2_PACKAGE_XDRIVER_XF86_VIDEO_VESA=y
BR2_PACKAGE_XORG7=y
BR2_PACKAGE_XSERVER_XORG_SERVER=y
BR2_PACKAGE_XTERM=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
BR2_USE_WCHAR=y

これらのオプションを既存の.configに追加する方法は次のとおりです。 :Buildrootの.configで構成フラグメントを使用することは可能ですか? |スタックオーバーフロー

オプションを見つけた方法:make menuconfig/でオプション名を検索 、次に逆方向に作業しますdependes xeyesから 。

残念ながら、主に2つの異なるパッケージがインターフェイスを実装し(たとえば、どちらもX11サーバーを実装するX.Org ModularとKDrive)、デフォルトでは何も選択されていないため、何をしているのかを知る必要があります。

>

この記事は大いに役立ちました:Buildrootを使用した小さなX.OrgLinuxシステムの構築| agentoss.wordpress.com

その後、いつものように:

make BR2_JLEVEL=$(nproc)
qemu-system-x86_64 
    -enable-kvm 
    -M pc 
    -m 512 
    -kernel output/images/bzImage 
    -drive file=output/images/rootfs.ext2,if=virtio,format=raw 
    -append root=/dev/vda 
    -net nic,model=virtio 
    -net user

そしてQEMUの内部から:

root
startx

画像サイズ:28M。

結果

古風なX11システム!

そして、それはこのビデオのように動作します:https://upload.wikimedia.org/wikipedia/commons/transcoded/5/52/TWM_without_configuration.ogv/TWM_without_configuration.ogv.480p.webm

特に、この古風なウィンドウマネージャーには、メニューバーにX閉じるボタンがありません。次のことを行う必要があります。

  • デスクトップをクリック
  • メニューから「キル」を選択
  • 強制終了するウィンドウを選択します

startx 次に、/etc/X11/xinit/xinitrcを渡します xinitへ 、GUIの起動後に呼び出します。デフォルトのxinitrc 含まれるもの:

twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

これでウィンドウマネージャーが起動しますtwm (Buildrootにパッケージがある他のマネージャーの1つに変更してみてください)、および画面に表示されるプログラム。そのexec xtermとは 部?なぜexec

x11vnc

エミュレータから実際のデバイスに移動するときは、x11vnc ディスプレイを購入する必要がなくなります。画面がホストのウィンドウとして開き、マウスクリックをデバイスに送信することもできます。

x11vncを有効にします Buildrootのパッケージと再構築。

最初にQEMUでテストするには、オプションを使用します(QEMUを使用してホストからゲストにSSHで接続する方法も参照してください。|UnixおよびLinuxStackExchange):

-net nic,model=virtio 
-net user,hostfwd=tcp::5901-:5900

次にゲストのstartx 、実行:

x11vnc

そしてホストに戻る:

sudo apt-get install vinagre
vinagre localhost::5901

結果:

  • 左側、X11、x11vnc、glmark2を実行しているQEMU
  • 右側、ホストの酢、まったく同じものを示しています
  • どちらかをクリックして操作でき、他の更新もすぐに実行できます
関連:シェルスクリプトからXMLを解析しますか?

ディスプレイマネージャー(試行の失敗)

ターミナルを完全に忘れたい場合は、以下も有効にしてください:

  • ターゲットパッケージ
    • グラフィックライブラリとアプリケーション
      • X.Org X Window System :両方ともyをクリックします 次に、enter 入る
        • X11R7 Applications
          • xconsolexdmによって実行されます デフォルト)
          • xdm

QEMUを起動すると、「最新の」ディストリビューションのようなグラフィカルなログイン画面が表示されます。

TODO:ログインできません。ユーザー名root /空のパスワードは、すべてのX11パッケージがインストールされている別のテストで機能していました。 xdm ログを/var/log/xdm.logの下に置きます 、およびTTYシェルを取得して検査できます。ctrl-alt-f#を使用してQEMUセッションでTTYにアクセスするにはどうすればよいですか? | Ubuntuに聞く

ディスプレイマネージャを起動するコールチェーンは次のとおりです。

  • /init (BusyBoxが提供)
  • /etc/inittab::sysinit:/etc/init.d/rcS
  • /etc/init.d/rcS
  • /etc/init.d/S99xdm
  • /usr/bin/xdm

Linux
  1. OSとLinuxのバージョンを確認する方法

  2. LinuxシステムのIDを変更する方法

  3. 自分のディレクトリにR3.3.1をインストールする方法は?

  1. LinuxにManageEngineOpManagerをインストールする方法

  2. LinuxシステムにGitをインストールして使用する方法

  3. Linux システムに「convert」をインストールするにはどうすればよいですか?

  1. LinuxにGtopシステム監視ツールをインストールする方法

  2. Linuxシステムでデフォルトシェルを変更する方法

  3. Linuxに最新のEclipseIDEをインストールする方法