Describe the setup in the README file.
Most of this should probably move to a documentation folder...
This commit is contained in:
parent
6f61f380ee
commit
851f4cb7f3
53
README.md
53
README.md
@ -0,0 +1,53 @@
|
||||
#MITTOS64
|
||||
|
||||
##Building
|
||||
This project is set up to be built inside a Docker container.
|
||||
|
||||
The container can be built by running the `d` script in the projects root directory - provided Docker is installed on your computer.
|
||||
|
||||
When the docker container is built, commands can be run inside it through the `d` script. The script will run any arguments passed to it as commands inside the container.
|
||||
|
||||
E.g:
|
||||
|
||||
d ls
|
||||
|
||||
If a previous command is running, the next command will be run inside the same container. Otherwise a new container will be started.
|
||||
|
||||
|
||||
## Generating and iso file
|
||||
A cdrom ISO file can be built by the command
|
||||
|
||||
d mkiso
|
||||
|
||||
## Running the emulator
|
||||
The project can be run in a qemu virtual machine inside the docker container by the command
|
||||
|
||||
d emul
|
||||
|
||||
## Running the debugger
|
||||
The gdb debugger can be run inside the docker container by the command
|
||||
|
||||
d dbg
|
||||
|
||||
This assumes that a qemu session is already running.
|
||||
|
||||
### Debugger commands
|
||||
Gdb is configured with a few special commands
|
||||
|
||||
(gdb) q
|
||||
|
||||
Stops the qemu emulator and closes the debugger.
|
||||
|
||||
(gdb) reset
|
||||
|
||||
Reboots the qemu virtual machine.
|
||||
|
||||
(gdb) reg
|
||||
|
||||
Displays information about cpu register contents from the emulator. Note that this is slightly different from the built-in gdb command `info registers`.
|
||||
|
||||
|
||||
### Bypassing the docker container
|
||||
Most scripts and makefiles in the project will check for wether they are run inside the container by looking for the environment variable $MITTOS64. If not present, execution will stop.
|
||||
|
||||
If you know what you're doing, this check can be bypassed by defining the environment variable MITTOS64. I really don't recommend it, though.
|
Loading…
x
Reference in New Issue
Block a user