Files
linux-kernel-module-cheat/br2
Ciro Santilli 6e9f3dcf23 Document gem5 userland debugging
This lead to an infinite chaing of refactorings:

Fix arm and aarch64 lx-symbols

This was just by chance, a continue GDB command was needed before running it.

I noticed that there is no more need for the x86 GDB --ex 'set arch i386:x86-64:intel'
thing and unified all archs. TODO bisect where that was fixed and understand why.

Add debug kernel configs for gem5 kernel.

Document gem5 aarch64 gdb debug doesn't work.

Document tmux split pane action.
2018-03-23 20:55:26 +00:00

99 lines
2.4 KiB
Plaintext

# Custom packages
BR2_PACKAGE_KERNEL_MODULE=y
# Rootfs
BR2_TARGET_ROOTFS_CPIO=n
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_INITRAMFS=n
BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
BR2_CCACHE=y
# Otherwise our precious debug would break!
BR2_CCACHE_USE_BASEDIR=n
BR2_GCC_ENABLE_GRAPHITE=y
BR2_GCC_ENABLE_LTO=y
BR2_GCC_ENABLE_OPENMP=y
BR2_GLOBAL_PATCH_DIR="../global_patch_dir"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES="../busybox_config_fragment"
BR2_PACKAGE_DHRYSTONE=y
BR2_PACKAGE_FILE=y
BR2_PACKAGE_OVERRIDE_FILE="../buildroot_override"
# For qemu-ga on guest. TODO: do something with it, and document it.
BR2_PACKAGE_QEMU=y
BR2_PACKAGE_STRACE=y
BR2_ROOTFS_OVERLAY="../rootfs_overlay"
BR2_ROOTFS_POST_BUILD_SCRIPT="../rootfs_post_build_script"
BR2_ROOTFS_POST_IMAGE_SCRIPT="../rootfs_post_image_script"
BR2_ROOTFS_USERS_TABLES="../user_table"
BR2_TOOLCHAIN_BUILDROOT_CXX=y
BR2_TOOLCHAIN_BUILDROOT_FORTRAN=y
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
# We use our own to turn it on and off at runtime.
BR2_PACKAGE_IFUPDOWN_SCRIPTS=n
# lscpu: TODO not installing?
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
# Host GDB
BR2_GDB_VERSION="7.11.1"
BR2_GDB_VERSION_7_10=n
BR2_GDB_VERSION_7_11=y
BR2_GDB_VERSION_7_12=n
BR2_PACKAGE_HOST_GDB=y
BR2_PACKAGE_HOST_GDB_PYTHON=y
BR2_PACKAGE_HOST_GDB_SIM=y
BR2_PACKAGE_HOST_GDB_TUI=y
# gdbserver
BR2_DEBUG_3=y
BR2_ENABLE_DEBUG=y
BR2_OPTIMIZE_0=y
BR2_PACKAGE_GDB=y
BR2_PTHREAD_DEBUG=y
# ftrace
BR2_PACKAGE_TRACE_CMD=y
# GPIO: lsgpio, gpio-event-mon, gpio-hammer
# Breask MIPS build in 2017-02:
# https://bugs.busybox.net/show_bug.cgi?id=10276
BR2_PACKAGE_LINUX_TOOLS=y
BR2_PACKAGE_LINUX_TOOLS_GPIO=y
# DTC
BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_HOST_DTC=y
# Provides setpci and a lspci more advanced than Busybox's
#
# setpci can read and write to PCI configuration registers.
#
# Read is possible from Linux with:
#
# hexdump /sys/bus/pci/devices/0000:00:05.0/config
#
# and /dev/mem can of course do both reads and writes,
# but setpci provies nice human readable register names, e.g.:
#
# setpci --dumpregs
#
# then and then get the values with either bus or device id:
#
# setpci -s 0000:00:05.0 BASE_ADDRESS_0
# setpci -d 1234:11e9 BASE_ADDRESS_0
#
# Note however that BASE_ADDRESS_0 also appears when you do:
#
# lspci -v
#
# Then you can try messing with that address with:
#
# devmem2 0xfeb52000 w 0x12345678
#
# which for our pci_min device fires interrupts.
#
BR2_PACKAGE_PCIUTILS=y