Commit Graph

223 Commits

Author SHA1 Message Date
Ciro Santilli 六四事件 法轮功
e0dbe2416d gdb: create some automated tests with pytest
gem5 baremetal: use m5exit m5op in exit() so as to not force users to
apply a patch for almost all examples
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
b1e16a59a1 baremetal: exit at the end of main instead of infinite loop
run: interpret lkmc_test_fail as the last line of test as an error
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
ba570f57f3 gem5: update to 121160d97f3d41220a26d3371a277434c3defea3 2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
49b2b1b896 baremetal: remove panic_on_panic from gem5
Fixes error:

    tried to set or access non-existentobject parameter: panic_on_panic
2018-11-09 09:33:44 +00:00
Ciro Santilli 六四事件 法轮功
d39d5b8154 run: add --background option 2018-11-07 05:48:13 +00:00
Ciro Santilli 六四事件 法轮功
8fb9db3931 manually encode newlines on all printed commands
This way we group key value arguments: e.g.:

    make \
    -j 8 \
    all

instead of:

    make \
    -j \
    8 \
    all

and reach CLI nirvana, while also subtly breaking several commands due to
lack of testing.
2018-11-04 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
9693c23fe6 gdb userland and gdbserver are perfect 2018-11-03 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
34ee5f2fbf ./run --debug-vm: pass GDB arguments to the option on the CLI.
readme: remote g packet reply is too long

Benchmark gem5 single file rebuild
2018-11-02 00:00:02 +00:00
Ciro Santilli 六四事件 法轮功
9571747859 kgdb is perfect
baremetal works on docker. Missing deps + virtfs now skips missing dirs.
2018-11-02 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
1cd1e58b02 I understand kdb, now missing fix and document arm failures 2018-11-01 23:00:01 +00:00
Ciro Santilli 六四事件 法轮功
8e07146606 kgdb kdb is broken, do I care? 2018-10-31 20:00:04 +00:00
Ciro Santilli 六四事件 法轮功
e042a1b2ad console: make awesome 2018-10-31 21:00:03 +00:00
Ciro Santilli 六四事件 法轮功
911dd8be32 remove some more kernel_module- references
make kgdb x86_64 work once again, now pending a decent serial refactor
2018-10-31 23:00:01 +00:00
Ciro Santilli 六四事件 法轮功
4f47491482 userland: make uber awesome with --baremetal-like executable resolution 2018-10-30 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
b5b646ffd4 qemu: document GDB user mode, fix some stuff 2018-10-29 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
a29b5a41fb gem5: expose syscall emulation with --user
Then also expose QEMU user mode with --user. Docs not perfect yet,
would require a build alternative for userland/ for -static and or
passing options before the QEMU userland executable with a new CLI.
2018-10-29 22:00:02 +00:00
Ciro Santilli 六四事件 法轮功
11fedc6045 gem5: document that arm v4.18 kernel boot was fixed
Fixed by gem5 commit 33b311d8d8b8d527d500d62a35b50be63e41b556

Automatically pass parnic_on_panic for archs that support it.
2018-10-28 00:00:01 +00:00
Ciro Santilli 六四事件 法轮功
ceb64ab8e1 gem5: use --param to automate aarch64 baremetal BS, oh yeah 2018-10-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
0edf7575cd gem5: update to d4b3e064adeeace3c3e7d106801f95c14637c12f
Mostly for --param to control debug properly.

Less README workarounds, more ./run automation, oh yeah.
2018-10-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
a68c97ae42 merge run-gem5-se into run
This way it can re-use run functionality, notably setting gem5.opt
generic args, and putting m5out where it belongs.
2018-10-26 00:00:05 +00:00
Ciro Santilli 六四事件 法轮功
98d2c83317 echo key configs as bash commands 2018-10-25 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
4b99e522dd common.run_cmd: assert result == 0 by default 2018-10-23 09:58:30 +01:00
Ciro Santilli 六四事件 法轮功
98bada1e7c getting started: explain 9p module rebuild
split networking and filesystem toplevel secions

create closest overlayfs attempt so far and document it
2018-10-14 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
ce216152dd kernel cli: rw by default 2018-10-12 09:30:33 +01:00
Ciro Santilli 六四事件 法轮功
bc73cebff1 Build the Linux kernel independently from Buildroot
This will allow for other types of root filesystems that don't rely on Buildroot
to be added and used in the future.

Propagate --verbose on all build scripts to see full GCC commands.

build-all: allow for neat subsets

also 9p share rootfs_overlay. TODO document.
2018-10-12 09:30:33 +01:00
Ciro Santilli 六四事件 法轮功
d024dae98e ctng: use CT_JOBS instead of wrong -j 2018-09-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
c53ccb0278 baremetal: aarch64 semihosting exit 2018-09-23 17:31:57 +01:00
Ciro Santilli 六四事件 法轮功
74b51fc044 gem5: update to 7bfb7f3a43f382eb49853f47b140bfd6caad0fb8
The update is required to include 3c3ca64b5f0dd9eef7b1ce1c65cc6e8e9147dd38
otherwise baremetal does not on VExpress.

baremetal: create a baremetal setup with crosstool-ng

buildroot: improve directory location: move out/dl inside
out/buildroot/download, and add a new out/buildroot/build level

tagline: generalize, deliver more value than howto, since now howtos
are starting to multiply

rename all top scripts to separate words with hyphen more consistently,
e.g. run-gdb instead of rungdb

getvar: list all variables

gem5: make m5out section to focus all releated information at

Prevent m5term Text file busy when rebuilding gem5 while it is running.
2018-09-23 13:56:20 +01:00
Ciro Santilli 六四事件 法轮功
b2238daee3 Split test kernel modules to a separate script.
Notice that Python sucks and does SIGPIPE annoyances, for now work around
by grepping the output file...

Fix the exit status read check with 'b', it broke down occasionally with:

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 1832: invalid start byte
2018-09-16 09:16:18 +01:00
Ciro Santilli 六四事件 法轮功
0bf7c7cb81 prebuilt: failed extract-vmlinux attempt 2018-09-16 06:43:18 +01:00
Ciro Santilli 六四事件 法轮功
e2f36b5bc1 prebuilt: attempt gem5 a bit further, but stop at the vmlinux step 2018-09-15 23:01:49 +01:00
Ciro Santilli 六四事件 法轮功
762bb78d89 investigate squashfs to overcome BR2_TARGET_ROOTFS_EXT2_SIZE but fail
Generate qcow2 when running QEMU if it is not present.
2018-09-15 20:29:09 +01:00
Ciro Santilli 六四事件 法轮功
14a544a13b run: fix --kvm 2018-09-15 15:42:20 +01:00
Ciro Santilli 六四事件 法轮功
a1a929ecaf run: create missing readfile dir if not present 2018-09-15 00:09:03 +01:00
Ciro Santilli
40b5c5a023 time all builds and run 2018-09-14 15:53:08 +01:00
Ciro Santilli
56738a1c70 lkmc v2-rc
Unsquashed version at v2-rc-unsquashed, but that cannot be merged as it
breaks bisects at several points. All bugs will not bisect to this
humongous change.

It all started with a conversion of the Bash scripts to Python, mainly
because I couldn't stand not being able to properly use --options for
run which has a million options.

Then since that required a full testing, I decided to do all the
refactorings that I had in mind at once, and so I did and it became
v2-rc.

This is the largest patch I have ever done! OMG a few weeks of extra time.
I'm never writing a Bash script for anything that starts getting big again.

Some of the features are:

* separate build-qemu and build-gem5 commands
* common: convert scripts to python. Add --option for everything
* rename build to build-buildroot now that we are splitting all the build
  commands, Linux kernel to follow
* move all git submodules to submodules/ and all buildroot packages to
  packages/
* refactor the out/ structure. Keep projects on toplevel, because guest
  projects separate archs and host ones don't, making a toplevel arch wrong
* do-release: rename to just release
  https://stackoverflow.com/questions/16174992/cant-get-argparse-to-read-quoted-string-with-dashes-in-it
* run: add --terminal and explain gem5 pdb
* just track the lvimrc
* store CLI kernel config fragment inside buildlroot to avoid conflicts
* gem5: document m5 initparam
* readme: make a bunch of things awesomer
* readme: fix broken refs
* parsec-benchmark: update to 75d55ac446a43c47efb1044844a108c6c330184c
  Could not fetch otherwise.
* gem5: M5_OVERRIDE_PY_SOURCE
2018-09-14 07:42:31 +01:00
Ciro Santilli
085253a457 run: fix broken -h 2018-08-16 12:00:50 +01:00
Ciro Santilli
59b6062b29 run: dont check for panic if executable failed 2018-08-14 13:40:53 +01:00
Ciro Santilli
63ec42f72f common: factor out common opts to all scripts 2018-08-14 00:27:55 +01:00
Ciro Santilli
0f5c5a9912 readme: move build and run docs in 2018-08-13 23:14:39 +01:00
Ciro Santilli
626f5f9e22 bench-boot: add -f option to only run fast boots
Comment out all tests that are known to be failing.

run: exit 1 on failure, was broken dude to termout pipe
2018-08-13 22:56:20 +01:00
Ciro Santilli
a8bc1f4cce readme: factor out hardcoded paths on code snippets with getvar 2018-08-13 21:09:27 +01:00
Ciro Santilli
185c2730cc gem5: ./run -l works for fs_bigLITTLE.py
When you remove something from the README because it became obvious
through automation, that is a good thing.
2018-08-12 21:52:54 +01:00
Ciro Santilli
4e648479f2 gem5: add run -l option to restore latest checkpoint with directory timestamps 2018-08-12 21:06:30 +01:00
Ciro Santilli
8cd6ffda2a run: fix extra flags after -- 2018-08-12 19:31:28 +01:00
Ciro Santilli
688d26ecd6 qemu arm: fix boot with -M virt,highmem=off 2018-08-11 20:52:41 +01:00
Ciro Santilli
88cd4d6d0b gem5: parse logs and exit with status 1 in case of errors 2018-08-11 20:52:41 +01:00
Ciro Santilli
539b176e1d gem5: test out panic_on_panic
patches: create patche/manual patch dir, put all patch directories under
patches/ subdir
2018-08-11 20:52:41 +01:00
Ciro Santilli
5cdce7be46 run: factor out arm and aarch64
Make the generated command beautiful and perfect without any trailing whitespace.
I have to review my life choices
2018-08-11 12:36:38 +01:00
Ciro Santilli
6ea0b16cd7 run: detect QEMU panics by log parsing
Add correct error messages to kernel v4.17 gem5 boot failures
2018-08-10 15:03:40 +01:00