Commit Graph

38 Commits

Author SHA1 Message Date
Ciro Santilli 六四事件 法轮功
e56901c040 configure: docbook2x for future ctng 2018-09-28 00:00:00 +00:00
Ciro Santilli 六四事件 法轮功
c0b60d6b4c configure: make it work from clean repo 2018-09-23 14:31:30 +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 六四事件 法轮功
8372b1653c configure: use long option names 2018-09-15 16:13:42 +01:00
Ciro Santilli 六四事件 法轮功
02f7d2946b build-buildroot: fix is LD_LIBRARY_PATH is not defined
confiure: install rsync for docker
2018-09-15 00:52:15 +01:00
Ciro Santilli 六四事件 法轮功
e79dd2c786 docker: fix configure tzdata interaction 2018-09-15 00:33:29 +01:00
Ciro Santilli
435436f714 configure: work around ImportError: cannot import name 'main' 2018-09-14 15:30:14 +01:00
Ciro Santilli
2f413958b0 gem5: fix submodule fetch
Only shallow clone the Linux kernel for now

Saner defaults for ./configure:

* ./configure only gets gem5
* ./configure -g only gets gem5
* ./configure -qg both
2018-09-14 09:45:39 +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
071106d6e3 configure: install python pip 2018-07-31 15:37:50 +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
0cd1a2b602 kernel module: fix fops... and move its documentation into README
Sometimes I wonder if anyone has ever run this tutorial, otherwise how
can such basic bugs persist for so long?

test_all.sh: crete
2018-06-29 08:47:32 +01:00
Ciro Santilli
0a30aa70dd tmux: more gentle introduction 2018-06-18 10:20:33 +01:00
Ciro Santilli
8b5c211c22 gem5: build with ccache
CXX='ccache c++' does not work, CXX=/my/path/to/ccache/wrapper/c++
does not work, the only thing that works it to put it in your PATH.

I would rather put a wrapper that forwards to ccache in this repo to
avoid the external host dependency:

    #!/usr/bin/env bash
    ccache c++ "$@"

but then that script has to remove its directory from PATH or else
infinite recursion, and I have no patience to code that.

I considered using the ccache from Buildroot, but it does not setup the
nice /usr/lib PATH, so I gave up on that as well.
2018-06-11 18:21:11 +01:00
Ciro Santilli
bad30f513c qemumonitor: fix for qemu v2.12
Must use expect now for some reason, and I only know how to make it work
nicely if the arguments come from CLI arguments instead of stdin.

Document it on a dedicated section.

Fix #29
2018-05-26 22:19:19 +01:00
Ciro Santilli
3cebbb9591 graphics: arm -M virt does have graphics actually 2018-05-24 15:43:04 +01:00
Ciro Santilli
fe8844b3cd gem5: pydot to generate config.ini graphs 2018-05-02 16:29:39 +01:00
Ciro Santilli
3fdabbda61 configure: updated submodules recursively
Otherwise, on the git module update fallback, QEMU's submodules don't get updated.

Also add a --recursive to the main qemu clone, just in case they add
submodules to the submodules in the future.
2018-04-19 07:34:57 +01:00
Ciro Santilli
294a8c2424 docker: crate docker host setup
readme: standardize keyboard input notation to the format: Ctrl-C
2018-04-08 10:27:26 +01:00
Ciro Santilli
af476687e1 gem5: x86_64 gcc 7 compilation was fixed after latest pull
So get rid of the specific gcc-6 and gcc-6 install.
2018-03-31 07:38:37 +01:00
Ciro Santilli
5235854384 Create the cli.gitignore mechanism to pass extra default cli options
Document that X11 mouse is not moving.

Convert x='' to x= on all scripts, and also fix case ;; indentations.

Add dummy value to QEMU's -trace enable= to prevent warning.

Expand built-in package choice rationale.
2018-03-30 17:03:17 +01:00
Ciro Santilli
9076c1d9bc parsec: general cleanup, retest everything
Get rid of br2_parsec, since there are just too many possible variations on that file.

Blow up the gem5 vs qemu table to make it saner, add missing aarch64 entries.

Make sections titles describing number of cores and memory size emulator agnostic.
2018-03-29 21:16:50 +01:00
Ciro Santilli
77d2e0a8a5 A bunch of tiny fixes 2018-03-12 04:37:46 +00:00
Ciro Santilli
5d5c6b954c configure: make qemu and gem5 steps optional 2018-03-08 08:41:00 +00:00
Ciro Santilli
16560c8963 configure add optional parsec install 2018-03-08 07:56:57 +00:00
Ciro Santilli
6e15dcb60e Start sketching parsec buildroot package 2018-03-03 13:45:58 +00:00
Ciro Santilli
cf063ad8d2 Bail out of shallow cloning if it fails, and do full clone instead 2018-01-31 23:41:41 +00:00
Ciro Santilli
dc495f9334 Linux v4.15 2018-01-31 23:21:11 +00:00
Ciro Santilli
1be85b6dc2 configure: install automake 2018-01-20 09:58:21 +00:00
Mitchel Humpherys
b77bebd7f3 configure: Handle non-apt systems
If apt-get is not found on the host just exit with a message about
installing dependencies.
2018-01-02 11:22:07 -08:00
Ciro Santilli
8ddefa940e gem5 2017-12-28 12:54:24 +00:00
Ciro Santilli
39338a0d58 Explain shallow clonning rationale 2017-11-19 08:39:34 +00:00
Ciro Santilli
2f82f78589 build without sdl for travis 2017-11-18 19:05:40 +00:00
Ciro Santilli
23eddfb2a2 Shallow clone to save clone time and disk space 2017-11-16 23:03:59 +00:00
Ciro Santilli
a9bf4c19dd travis 6 2017-11-02 15:36:23 +00:00
Ciro Santilli
a95e11401a travis 5 2017-11-02 15:14:37 +00:00
Ciro Santilli
e896223756 travis attempt 2 2017-11-02 14:36:43 +00:00
Ciro Santilli
004d7a80c2 add .travis.yml 2017-11-02 14:25:31 +00:00