Commit Graph

220 Commits

Author SHA1 Message Date
Ciro Santilli
8f64af7303 readme: bibliography link to rwmj 2018-03-27 16:16:49 +01:00
Ciro Santilli
dda6ec956c readme: m5 writefile
Document that we couldn't step debug m5.
2018-03-27 16:06:12 +01:00
Ciro Santilli
1c3f16797a readme: more failed attempts at ttys! 2018-03-27 14:00:32 +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
1a0330c942 readme: text mode reproducibility and interrupts 2018-03-25 22:56:42 +01:00
Ciro Santilli
a1a6a5d6fb readme: more uniform titles to gem5 step debug sections 2018-03-25 19:17:05 +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
2927ed330a readme: document gem5 userland arm unexplicable jump 2018-03-25 12:21:48 +01:00
Ciro Santilli
8184bbd803 readme: gem5 and qemu same config fix header depths 2018-03-24 22:58:23 +00: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
baccf8ff07 build: -l touches config files to overcome https://stackoverflow.com/questions/49260466/why-when-i-change-br2-linux-kernel-custom-config-file-and-run-make-linux-reconfi
Introduce -G option that forces gem5 rebuild in addition to -g.
2018-03-24 22:22:27 +00:00
Ciro Santilli
39ad57a309 gem5: improve userland debug documentaion
Factor out with QEMU since the procedure is exactly the same.
2018-03-24 21:15:16 +00:00
Ciro Santilli
3eac2c53a2 gem5 getting started better run command 2018-03-24 07:42:53 +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
a033e6444c parsec: move test.sh into the parsec repo 2018-03-21 16:44:19 +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
f5e04f6b33 Move modprobe into getting started, re-add myinsmod.out, deambiguate kmod modprobe header 2018-03-18 15:27:55 +00:00
Ciro Santilli
36940cb322 Get rid of Maintainers section for lower level headers
Move benchmark this repo out of conversation, there is plenty of action there!

Move kernel module sections and buildroot sections out of conversation.

Document the instruction count between baseline Buildroot and our monstrosity.

Put ./count-boot-instructions in a separate script.

Link to MIPS graphics QEMU question.

Link to VFIO QEMU question.
2018-03-18 15:14:20 +00:00
Ciro Santilli
9bb011e556 The desire for pivot_root 2018-03-18 12:44:35 +00:00
Ciro Santilli
8233b9249b Use common .gitignore suffix and gitignore* prefix for most ignores 2018-03-18 10:54:38 +00:00
Ciro Santilli
f124af09c4 Don't clean kernel_module by default to save some nanoseconds 2018-03-18 10:31:08 +00:00
Ciro Santilli
62d5f43eb0 Document touch kernel_config_fragment to update kernel config
Add more P51 build performance statistics.

Force br2_cli to be the last config fragment.

Fix build getopts : errors.
2018-03-18 10:24:32 +00:00
Ciro Santilli
98ed442883 overlayfs 2018-03-17 12:08:52 +00:00
Ciro Santilli
52d053623b readme: aarch64 does not use initramfs anymore 2018-03-17 10:25:34 +00:00
Ciro Santilli
0971e32411 link to UML working setup 2018-03-16 16:52:52 +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
981247cb60 readme: awesome lists 2018-03-15 08:53:11 +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
6a90f77dd6 qemu: link to guest to host networking SE thread 2018-03-14 19:29:27 +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
4a62be3eb3 Rename buildroot_config_fragment_* to just br2_*
Add br2_local to persistently store new br2 options.
2018-03-14 09:48:12 +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
29c3362015 readme: link to ssh into guest procedure 2018-03-13 12:37:06 +00:00
Ciro Santilli
900ccd31fb readme: guest to host networking 2018-03-13 12:29:53 +00:00
Ciro Santilli
9e1704657b readme: fix educational hardware model header level 2018-03-13 11:28:26 +00:00
Ciro Santilli
23423b30f4 ccache: global CCACHE_DIR is used 2018-03-13 07:17:38 +00:00
Ciro Santilli
77d2e0a8a5 A bunch of tiny fixes 2018-03-12 04:37:46 +00:00
Ciro Santilli
3d3ef39a24 ccache
I get the feeling that sooner or later, something will bisect down to here.

But let's just do it for now!
2018-03-11 12:27:41 +00:00
Ciro Santilli
82fab09e1e 9p works for arm 2018-03-10 22:45:48 +00:00
Ciro Santilli
efa8d2075c bak 2018-03-10 21:22:16 +00:00
Ciro Santilli
efb9c5458e parsec: more details, fix errors, more tests 2018-03-10 18:22:09 +00:00
Ciro Santilli
2b7d274949 config.sh kernel config helper 2018-03-09 18:06:44 +00:00
Ciro Santilli
04db718441 qemu: 9p host guest directory sharing 2018-03-09 17:14:10 +00:00
Ciro Santilli
595c75d3bf Merge branch 'master' of github.com:cirosantilli/linux-kernel-module-cheat 2018-03-09 14:23:14 +00:00
Ciro Santilli
c8003c3389 kvm 2018-03-09 07:31:24 +00:00
Ciro Santilli
e88dacf7a6 How to get the command that was run 2018-03-09 04:04:05 +00:00
Ciro Santilli
cb08ab2e01 Document kvm 2018-03-09 03:57:42 +00:00
Ciro Santilli
03b1a720c4 parsec: test.sh with many raw run commands 2018-03-08 09:04:17 +00:00
Ciro Santilli
5d5c6b954c configure: make qemu and gem5 steps optional 2018-03-08 08:41:00 +00:00