mirror of
https://github.com/cirosantilli/linux-kernel-module-cheat.git
synced 2026-01-23 02:05:57 +01:00
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.
99 lines
2.4 KiB
Plaintext
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
|