Commit Graph

254 Commits

Author SHA1 Message Date
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
Ciro Santilli
13e0ea7801 qemu: exit on panic by default instead of hanging 2018-08-10 08:51:49 +01:00
Ciro Santilli
b675cf35cb zip-image: factor out with common
Notably, only include the strictly necessary files in the archive, otherwise
initrd's from other builds might get in the way.
2018-08-09 22:25:53 +01:00
Ciro Santilli
f5a997b2b6 do-release: sketch + a bunch of fixes from bench-all
qemu: monitor command from guest
2018-08-09 12:56:17 +01:00
Ciro Santilli
b1bd45684f config: replace cli with direct common_ options 2018-08-09 07:12:20 +01:00
Ciro Santilli
1cb056a995 common: simplify set_common_vars, rename to common_setup
Don't pass all arguments explicitly, just use existing vars.

Prefix all common_setup inputs and outputs with common_ to avoid name conflicts.
2018-08-09 06:59:52 +01:00
Ciro Santilli
02e294c62c qemurr: create
qemu: start documenting unmerged replay reverse debugging while testing it
2018-08-08 00:41:13 +01:00
Ciro Santilli
19f4d00f9b qemu: expose rr
run: expose forgotten -Q, document it
2018-08-06 02:48:43 +01:00
Ciro Santilli
d330f8d250 Use absolute paths for . common
Otherwise it can pick up other common in PATH first...
2018-07-22 10:42:46 +01:00
Ciro Santilli
291de25ac7 disable termout logging when debugging vm 2018-07-20 18:29:33 +01:00
Ciro Santilli
e376e25ca2 run: add timestamps before each log message
Also time every run by default.
2018-07-19 08:07:31 +01:00
Ciro Santilli
839271efd6 rand_check: move docs to readme, create norandmaps section 2018-07-09 17:44:34 +01:00
Ciro Santilli
20b9961233 run: fix extra emulator args that were broken by -X 2018-06-27 17:58:54 +01:00
Ciro Santilli
1721f184d6 gem5: track build and run variants separately with -M and -N
Otherwise, checking out branches is too insane, as it does not
update the worktrees, even though the gem5/gem5 module was updated.

gem5: expose build types, document debug builds.

simultaneous runs: store stdout and stderr on a file to allow running
all from a single terminal on the background cleanly.
2018-06-27 16:31:24 +01:00
Ciro Santilli
7bbb2a813e gem5: fix -X-b, fs_bigLITTLE checkpoint restore, checkpoints are just dirs on backend 2018-06-18 16:18:05 +01:00
Ciro Santilli
18c1c823fe gem5: integrate fs_bigLITTLE.py into run 2018-06-17 12:06:29 +01:00
Ciro Santilli
fa7065f0d4 run: save run.sh to the right directory for qemu 2018-06-14 10:44:40 +01:00
Ciro Santilli
e91871611a run: forward -n to -u 2018-06-12 14:50:03 +01:00
Ciro Santilli
28c70a3824 run: support multiple simultaneous runs and run output directories 2018-06-12 12:37:31 +01:00
Ciro Santilli
b562d8dfe7 gem5: support variants 2018-06-10 08:57:39 +01:00