x11, gdbserver

This commit is contained in:
Ciro Santilli
2017-08-29 07:38:44 +01:00
parent 8d668d6ed3
commit b134f39588
3 changed files with 39 additions and 13 deletions

View File

@@ -501,6 +501,16 @@ Just make sure that you never click inside the QEMU window when doing that, othe
You can still send key presses to QEMU however even without the mouse capture, just either click on the title bar, or alt tab to give it focus.
## X11
x86 has X11 support, simply run:
startx
More details: <https://unix.stackexchange.com/questions/70931/how-to-install-x11-on-my-own-linux-buildroot-system/306116#306116>
Not sure how well the graphics stack represents real systems, but if it does it would be a good way to understand how it works.
## Table of contents
1. [Introduction](introduction.md)

View File

@@ -7,7 +7,7 @@ BR2_PACKAGE_STRACE=y
BR2_ROOTFS_OVERLAY="../rootfs_overlay"
BR2_ROOTFS_USERS_TABLES="../user_table"
## Host GDB
# Host GDB
BR2_GDB_VERSION="7.11.1"
BR2_GDB_VERSION_7_10=n
BR2_GDB_VERSION_7_11=y
@@ -17,24 +17,20 @@ BR2_PACKAGE_HOST_GDB_PYTHON=y
BR2_PACKAGE_HOST_GDB_SIM=y
BR2_PACKAGE_HOST_GDB_TUI=y
## QEMU.
# gdbserver
BR2_DEBUG_3=y
BR2_ENABLE_DEBUG=y
BR2_OPTIMIZE_0=y
BR2_PACKAGE_GDB=y
BR2_PTHREAD_DEBUG=y
# QEMU
BR2_PACKAGE_HOST_QEMU=y
# False because otherwise we need the host to be as recent as guest.
BR2_PACKAGE_HOST_QEMU_LINUX_USER_MODE=n
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
BR2_PACKAGE_HOST_QEMU_VDE2=y
## Target GDB
# This is preparation for target GDB / gdbserver.
# But those options require a toolchain with threads like glibc,
# which I'm afraid will make compilation slower, so let's leave it
# at that for now since our focus is kernel debug.
#BR2_DEBUG_1=n
#BR2_DEBUG_2=n
#BR2_DEBUG_3=y
#BR2_ENABLE_DEBUG=y
#BR2_OPTIMIZE_0=y
# ftrace
BR2_PACKAGE_TRACE_CMD=y
@@ -76,3 +72,22 @@ BR2_PACKAGE_HOST_DTC=y
# which for our pci_min device fires interrupts.
#
BR2_PACKAGE_PCIUTILS=y
# X11
# https://unix.stackexchange.com/questions/70931/how-to-install-x11-on-my-own-linux-buildroot-system/306116#306116
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

1
run
View File

@@ -40,6 +40,7 @@ make O="$outdir" BR2_EXTERNAL="$(pwd)/../kernel_module" "$defconfig"
# TODO Can't get rid of this for now.
# http://stackoverflow.com/questions/44078245/is-it-possible-to-use-config-fragments-with-buildroots-config
cat ../buildroot_config_fragment >> "${outdir}/.config"
make O="$outdir" olddefconfig
# HOST_QEMU_OPTS is a hack that happens to work because the QEMU package luckly uses += at all times.
# It shouldn't be necessary in the first place: https://bugs.busybox.net/show_bug.cgi?id=9936
# Even if were an autotools package, there is no general way currently to pass extra configs to it: