Commit Graph

125 Commits

Author SHA1 Message Date
Ciro Santilli
f74e001789 readme: m5 readfile
gitignore: trace-
2018-03-28 22:17:00 +01:00
Ciro Santilli
ac67ce3643 Login without asking for the username
We have wanted to do this since forever, but the last straw was gem5 aarch64,
which runs too fast, and makes it very hard to write "root" withing 60 seconds!

Another possibility to solve that would have been to find an answer for:
https://unix.stackexchange.com/questions/340333/how-can-i-get-bin-login-to-not-timeout
which we didn't, but not typing root at all is even better.

Take this opportunity to document how to login into user0.

sshd: automate and document further

gdbserver: automatically startup internet on /gdbserver.sh
2018-03-26 13:19:54 +01:00
Ciro Santilli
2656202dff init: disable all userland processes started from init
In order to make the system easier to understand.

These include:

* networking
* klogd and syslogd. TODO what are those for? I could not see anything useful that they do.

Also get rid of the useless S20random thing while we are at it.
2018-03-25 19:06:30 +01:00
Ciro Santilli
b13595273e run: make text mode (-n) the default
Rename the opposite graphics mode to -x.
2018-03-24 22:48:41 +00:00
Ciro Santilli
6e9f3dcf23 Document gem5 userland debugging
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.
2018-03-23 20:55:26 +00:00
Ciro Santilli
29908dffb2 Disable networking at runtime with lkmc_nonet cli instead of build
This is necessary because qemu and gem5 now use the same build folder.

Separate ./run -e and -f for kernel options before and after the ' - '.
This was already the better thing to do when -E was introduced,
but lkmc_nonet prompted me to do it nicer now.

Use the common script to find the out_dir on every toplevel script.

Include usage man pages on README.
2018-03-22 02:47:14 +00:00
Ciro Santilli
275426ef44 Use a single build for aarch64 qemu and gem5!
Document the minimal aarch64 boot.

Rename -c to -B for uniformity with -b.

Add help for ./run and ./build options.
2018-03-21 11:35:30 +00:00
Ciro Santilli
a5b35bef11 Enable either ext2, initrd or initramfs for x86, arm and aarch64
Mention that initrd and initramfs must fit into memory.

Fix missing stdout when ./run -d is used.

Ignore ./run -n for non x86.
2018-03-16 16:34:57 +00:00
Ciro Santilli
e8f09a76e6 Add a shortcute for /eval.sh
Create /eval_base64.sh to overcome quoting and newline limitations.

Documente poweroff's failure on readme.
2018-03-14 21:13:45 +00:00
Ciro Santilli
039b8a498c OpenBLAS
Also don't add br2_local by default, default params are insane.
2018-03-14 12:26:49 +00:00
Ciro Santilli
13e840df9e gem5: namespace checkpoints by arch
Also refactor common gem5 x86 and arm command parts
2018-03-13 13:14:32 +00:00
Ciro Santilli
77d2e0a8a5 A bunch of tiny fixes 2018-03-12 04:37:46 +00:00
Ciro Santilli
b8413532a5 Build gem5 through buildroot
Oh, btw, also make it work, since the build was completely broken since
the recent -K refactoring :0)
2018-03-12 03:56:18 +00:00
Ciro Santilli
7b08433840 9p mount the output directory.
This is in preparation for moving parsec to 9p once we get it working on gem5.

We'll document it then when everything is working.
2018-03-11 22:00:55 +00:00
Ciro Santilli
04db718441 qemu: 9p host guest directory sharing 2018-03-09 17:14:10 +00:00
Ciro Santilli
c8003c3389 kvm 2018-03-09 07:31:24 +00:00
Ciro Santilli
8a6dfdca43 Fix gem5 GDB debug 2018-02-28 03:24:28 +00:00
Ciro Santilli
2092180ac8 Update GEM5 to master to fix x86 boot via 3feeb994ae613fd6b3734c1a991285b2ecbd1946
See also: http://gem5-users.gem5.narkive.com/CQh9J6fU/fail-to-run-fs-mode-with-linux-kernel-v4-8-13-and-ubuntu-image-16-04-1

Start sketching how to tweak system parameters, number of CPUs works, caches don't.
2018-02-25 20:27:35 +00:00
Ciro Santilli
2eff007f7c GEM5 checkpoint switch to HPI for benchmarking.
Don't pass -e on checkpoint restore.

Add benchmarks to how much GEM5 is slower than QEMU.

Rename Kernel boot command line arguments to match kernel docs name.

Document how to pass extra options to GEM5.

Start listing interesting benchmarks to run on GEM5.

Add an openmp hello world.
2018-02-25 10:59:28 +00:00
Ciro Santilli
baca62a883 Allow passing options to gem5 itself instead of fs.py 2018-02-23 04:55:17 +00:00
Ciro Santilli
4a9469d83c GEM5 aarch64 2018-02-22 18:50:27 +00:00
Ciro Santilli
ff71f19fa6 GEM5 don't pass norandmaps twice 2018-02-22 08:39:03 +00:00
Ciro Santilli
80e299850d GEM5 vm GDB debug 2018-02-22 08:35:11 +00:00
Ciro Santilli
2c4a9476be Fix x86 build with GEM5. Boot still fails as before.
Use ./run -g instead of ./rungem5.

More convenient GEM5 kernel command line options with -e differentially.
2018-02-22 00:23:57 +00:00
Ciro Santilli
33ca2b29e2 Fix MIPS BR2_PACKAGE_LINUX_TOOLS_GPIO build
Update mips for snapshot and initrd features.

Document MIPS limitations.

Improve description of test procedure
2018-02-17 10:06:00 +00:00
Ciro Santilli
ee622c2be5 Fix "./run -a arm -i" initrd 2018-02-17 08:47:03 +00:00
Ciro Santilli
b3868a3b00 initrd 2018-02-15 23:26:47 +00:00
Ciro Santilli
66e7208364 Make aarch64 boot again and explain its limitations better.
Restore lkmc_min that was accidentaly removed.

Explain how to remove modules that fail to build.
2018-02-14 07:56:35 +00:00
Ciro Santilli
5ae702c71c Use qcow2 by default for savevm, loadvm.
Create shortcuts for -t linux-reconfigure and -t host-qemu-reconfigure.
2018-02-14 06:16:52 +00:00
Ciro Santilli
254c8bf42e adoc
Semi automated conversion, in part because Pandoc is kind of buggy for adoc:

Some of the commands were along the lines:

    for f in *.md; do pandoc --atx-headers --base-header-level=3 -o ${f%.md}.adoc --wrap=none $f; done
    sed -Ei '/\[\[.*\]\]/d' *.adoc
    while read -r f; do cat $f; echo; done <f >g
2018-02-14 04:26:07 +00:00
Ciro Santilli
c771b40913 rand_check_poweroff.sh + random stuff 2018-02-08 06:36:13 +00:00
Ciro Santilli
c052a83205 nokaslr, thanks to @dakami at close #12 2018-02-01 20:27:43 +00:00
Ciro Santilli
6c51ecaf7b split build and run scripts due to option conflicts
Remove -v from travis as it blew log length
2017-11-02 17:51:38 +00:00
Ciro Santilli
d7569bec0c travis 12: &>/dev/null on getopts was a bad, bad idea 2017-11-02 17:13:37 +00:00
Ciro Santilli
5a2680c985 travis 10: forward j o make-host.sh 2017-11-02 16:54:25 +00:00
Ciro Santilli
afb2d27da6 travis 8: ok that didnt help, now V=1 2017-11-02 15:57:28 +00:00
Ciro Santilli
0f52efe935 travis 7: nproc appears not present? 2017-11-02 15:47:34 +00:00
Ciro Santilli
004d7a80c2 add .travis.yml 2017-11-02 14:25:31 +00:00
Ciro Santilli
fa5c64a0b0 Make X11 optional 2017-11-01 14:18:31 +00:00
Ciro Santilli
456bcce73f Add libsdl2-dev dependency, spotted by @alokprasad at #5 2017-11-01 10:37:39 +00:00
Ciro Santilli
d67626255e run: time before env to use bash builtin and get decent format, runqemu: remove spaces from cmd to make copy and paste on SO easier 2017-10-18 14:45:51 +01:00
Ciro Santilli
467923860b Backend simple 2017-09-29 23:37:01 +01:00
Ciro Santilli
b134f39588 x11, gdbserver 2017-08-29 07:38:44 +01:00
Ciro Santilli
b2459d07f5 Add a non-root user user0 password "a" 2017-08-06 10:19:37 +01:00
Ciro Santilli
c730f9df20 clean user before guest build 2017-08-04 07:27:17 +01:00
Ciro Santilli
80889c0376 aarch64, fix gdb with linux-custom 2017-07-12 11:49:58 +01:00
Ciro Santilli
a6b487c22c Don't rebuild Linux and QEMU by default, add -t flag for that, split README intro 2017-07-09 12:10:49 +01:00
Ciro Santilli
1cd55ebf53 pci_min driver 2017-07-09 08:44:01 +01:00
Ciro Santilli
05fa0105ea platform_device.c improve docs 2017-07-08 09:55:31 +01:00
Ciro Santilli
9133fe023c qemu and linux as submodlues, S98 vs S99, readme benefits of Ctrl + C 2017-07-08 09:17:36 +01:00