-
-
Notifications
You must be signed in to change notification settings - Fork 617
TODO
use relative paths as much as possible, especially to produce nicer commands when reporting upstream bugs. consts['root_dir'] = '.'
worked for run, but other scripts have some crappy things like ./run-gdb
that require changing directory, currently encapsulated by sh.run(cwd=
, so each command can have a different relative path requried. One solution would be to create a CliPath abstraction that resolves the absolute directory to relative...
break up --prebuilt into --qemu-source (host|lkmc) and --toolchain-source (host|bruildroot|crosstool-ng). make it possible to select which toolchain to use or which qemu to use (host vs our own), don't fall back under users back
destroy ./build, properly track and resolve dependencies, use ./lkmc run emulator=qemu dependencies=1
as interface.
kvm on raspberry pi
global option to force rebuild, especially for kernel modules that rely on linux kernel? currently --clean + build
fix initramfs after moving out of buildroot for kernel build...
fix bisect-linux-boot-gem5
kernel module build variants to match multiple linux kernel builds, and for host
review buildroot section, it's crap
test in docker and prebuilt getting started. Add a tested on marker on the Docker.
finer script argument factoring, e.g. no --run-id
on ./build-
. Hard.
Do a Linux kernel config bisection detailed example with ktest
, possibly Tests for --paramcopy setup from: https://github.com/satoru-takeuchi/elkdat
Decouple port selection from directory selection when using -n, use two separate flags. Otherwise, if you run, checkpoint, start another, then you can't restore gem5 (needs new port but old checkpoint dir).
debug build for QEMU, gem5 already exists with -t debug
python: trace-boot, allow taking ALL run options, just set some defaults differently
get rid of trace2line.sh.
prebuilt gem5: reverse qemu-img on the distributed qcow2 :-)
Ctrl + C not killing bootstrap in ./build-crosstool-ng
, why?
./run -aa -gu --gem5-worktree master does not pass worktree to ./gem5-shell
kernel cli treat as array, allow add and remove default options
Imagemagick dependency for test-gem5-graphics.
Add --terminal
to ./build-buildroot --terminal -- menuconfig and linux. Explain how to do: Find Buildroot options with make menuconfig: make awesome with savedefconfig. Maybe explain that on the Linux kernel itself when that is split out of Buildroot.
network test: automate by downloading a known github raw page that we create. #test-the-internet
automate gdb linux kernel boot testing: #test-gdb-linux-kernel
expose running the tests: scons build/ARM/tests/opt/quick/se
, etc.
cannot build while another one is running, because m5term is being executed and we try to overwrite
Linux __builtin_expect
make test with gem5 https://stackoverflow.com/questions/7346929/why-do-we-use-builtin-expect-when-a-straightforward-way-is-to-use-if-else/31540623#31540623
make libs examples work natively, fix -I flags
run and gdb: make work for x86-64 userland native
bench-boot: run in parallel... likely convert to python first.
Docker or some other setup for the Ubuntu image https://github.com/cirosantilli/linux-kernel-module-cheat/issues/35
go nuts and get xen running on QEMU with buildroot guests, failed attempt: http://mgalgs.github.io/2012/03/12/running-xen-under-qemu.html
android. yes, my desire to suffer is that great
Integrate UML properly in the scripts: https://github.com/cirosantilli/linux-kernel-module-cheat#user-mode-linux
build-modules: install to make available to modprobe
benchmark gem5 single file rebuild (link time)
add dhrystone on full system and userland
baremetal c++
aarch64 newlib _exit semihost connect status from C
no_bootloader: don't link to lib C files to make it more minimal, in particular starts at exact address, and disassembly is cleaner
build only given targets
https://github.com/Kobzol/hardware-effects observe all on gem5 bare metal