X11 패키지 모음 사이트
https://github.com/buildroot/buildroot/tree/2016.05/package/x11r7
https://github.com/buildroot/buildroot/tree/2018.02.x/package/x11r7
https://github.com/buildroot/buildroot/tree/2018.11.x/package/x11r7
시작 명령어.
startx
qemu_x86_64_x11_defconfig
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 추가 방법.
cat configs/qemu_x86_64_defconfig br_config_frag > .config
make olddefconfig
선택 옵션 발견:
make menuconfig
커널 체크 박스 에서 검색 /
xeyes에 대한 dependes 확인.
두개의 서로 다른 인터페이스 패키지가 구현되는 상황. (X.Org 모듈과 KDrive 둘 다 X11 서버 구현하는 경우) 기본적으로 선택되지 않는 상황 때문에 어떻한 작업을 할 것인지에 대해 알고 있어야 한다.
윈도우메니지먼트 참고: https://nautiluslee.blogspot.com/2019/01/x11-blackbox-qemu.html
동작 구현
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
startx 명령어 실행 후 /etc/X11/xinit/xinitrc 파일를 참고해 GUI 호출
vi 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
윈도우 메니지먼트 시작됨.
QEMU SSH 사용해 게스트 접근 방법.
-net nic,model=virtio \
-net user,hostfwd=tcp::5901-:5900
추가 후 게스트에서 startx 실행
x11vnc
호스트 환경으로 넘어와:
sudo apt-get install vinagre
vinagre localhost::5901
x로만 로그인 할 경우
대상 패키지 -> 그래픽 라이브러리 및 응용프로그램 ->
X.Org X Window System : y 클릭
X11R7 Application -> xconsole(xdm 기본 설정)
xdm
루트 로그인 할 수 없음.
xdm 로그: /var/log/sdm.log
x 메니지먼트 호출 체인 방식
/init (BysyBox 사용)
/etc/inittab 내용 :: sysinit:/etc/init.d/rcS
/etc/init.d/rcS
/etc/init.d/S99xdm
/usr/bin/xdm
댓글 없음:
댓글 쓰기