From 32943d784e4ef5fe14e48b4ee525e2b5a5687bf0 Mon Sep 17 00:00:00 2001 From: Max Tyson <98maxt98@gmail.com> Date: Thu, 10 Oct 2024 16:27:27 +1300 Subject: [PATCH 1/4] Fix Broken Link | H_Useful_Resources.md --- 99_Appendices/H_Useful_Resources.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/99_Appendices/H_Useful_Resources.md b/99_Appendices/H_Useful_Resources.md index 0559a5f..9ca6d3f 100644 --- a/99_Appendices/H_Useful_Resources.md +++ b/99_Appendices/H_Useful_Resources.md @@ -33,7 +33,7 @@ This appendix is a collection of links we found useful developing our own kernel ## Video Output -- JMNL.xyz blog post about creating a ui: [https://jmnl.xyz/window-manager/](https://jmnl.xyz/window-manager/] +- JMNL.xyz blog post about creating a ui: [https://jmnl.xyz/window-manager/](https://jmnl.xyz/window-manager/) - Osdev wiki page for PSF format: [https://wiki.osdev.org/PC_Screen_Font](https://wiki.osdev.org/PC_Screen_Font) - gbdfed - Tool to inspect PSF files: [https://github.com/andrewshadura/gbdfed](https://github.com/andrewshadura/gbdfed) - PSF Formats: [https://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html](https://www.win.tue.nl/~aeb/linux/kbd/font-formats-1.html) From 3e2fef7577e5d85738438ead75648d18801e4bbc Mon Sep 17 00:00:00 2001 From: Max Tyson <98maxt98@gmail.com> Date: Thu, 10 Oct 2024 16:41:52 +1300 Subject: [PATCH 2/4] Tellnet | F_Debugging.md --- 99_Appendices/F_Debugging.md | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/99_Appendices/F_Debugging.md b/99_Appendices/F_Debugging.md index c179cbc..b7f1a61 100644 --- a/99_Appendices/F_Debugging.md +++ b/99_Appendices/F_Debugging.md @@ -207,21 +207,28 @@ qemu-system-i386 [..other params..] -monitor unix:qemu-monitor-socket,server,now ``` then on another shell, on the same folder where we started the emulator launch the following command: - ```bash socat -,echo=0,icanon=0 unix-connect:qemu-monitor-socket ``` -This will prompt with a shell similar to the following: +Another method is to use telnet to start the monitor. This is best for easier, cross-platform or remote use (albeit less secure). +```bash +qemu-system-i386 [..other params..] -monitor telnet::45454,server,nowait +``` + +This enables the monitor to listen on a specified port (ie, 45454). You can then connect to the QEMU monitor from another terminal or a remote machine (with networking setup) using Telnet: +```bash +telnet localhost 45454 +``` + +Both of these will prompt with a shell similar to the following: ```bash -username@host:~/yourpojectpath/$ socat -,echo=0,icanon=0 unix-connect:qemu-monitor-socket QEMU 6.1.0 monitor - type 'help' for more information (qemu) - ``` -From here is possible to send commands directly to the emulator, below a list of useful commands: +Once the monitor is running is possible to send commands directly to the emulator, below a list of useful commands: * `help` Well this is the first command to get some help on how to use the monitor. * `info xxxx` It will print several information, depending on xxxx for example: `info lapic` will show the current status of the local apic, `info mem` will print current virtual memory mappings, `info registers` will print the registers content. From f4f2532d0844f48618a366a84799a28617099f49 Mon Sep 17 00:00:00 2001 From: Max Tyson <98maxt98@gmail.com> Date: Thu, 10 Oct 2024 19:52:50 +1300 Subject: [PATCH 3/4] Styling Fixes | Update F_Debugging.md --- 99_Appendices/F_Debugging.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/99_Appendices/F_Debugging.md b/99_Appendices/F_Debugging.md index b7f1a61..6d87e2a 100644 --- a/99_Appendices/F_Debugging.md +++ b/99_Appendices/F_Debugging.md @@ -207,31 +207,35 @@ qemu-system-i386 [..other params..] -monitor unix:qemu-monitor-socket,server,now ``` then on another shell, on the same folder where we started the emulator launch the following command: + ```bash socat -,echo=0,icanon=0 unix-connect:qemu-monitor-socket ``` -Another method is to use telnet to start the monitor. This is best for easier, cross-platform or remote use (albeit less secure). +Another method is to use telnet to start the monitor. This is handy for easier, cross-platform or remote use (albeit less secure). + ```bash qemu-system-i386 [..other params..] -monitor telnet::45454,server,nowait ``` This enables the monitor to listen on a specified port (ie, 45454). You can then connect to the QEMU monitor from another terminal or a remote machine (with networking setup) using Telnet: + ```bash telnet localhost 45454 ``` Both of these will prompt with a shell similar to the following: + ```bash QEMU 6.1.0 monitor - type 'help' for more information (qemu) ``` -Once the monitor is running is possible to send commands directly to the emulator, below a list of useful commands: +Once the monitor is running, it is possible to send commands directly to the emulator, below is a list of useful commands: -* `help` Well this is the first command to get some help on how to use the monitor. -* `info xxxx` It will print several information, depending on xxxx for example: `info lapic` will show the current status of the local apic, `info mem` will print current virtual memory mappings, `info registers` will print the registers content. +* `help` This is the first command to get some help using the monitor. +* `info xxxx` It will print information, depending on xxxx for example: `info lapic` will show the current status of the local apic, `info mem` will print current virtual memory mappings, `info registers` will print the content of the registers. * `x /cf address` where c is the number of items we want to display in decimal, f is the format (`x` for hex, `c` for char, etc) display the content of c virtual memory locations starting from address. * `xp /cf address` same as above, but for physical memory. From 93e4a9acd767fbcd9c4456f5b953dad36e30058e Mon Sep 17 00:00:00 2001 From: Max Tyson <98maxt98@gmail.com> Date: Fri, 11 Oct 2024 10:41:50 +1300 Subject: [PATCH 4/4] Consistency | Update F_Debugging.md --- 99_Appendices/F_Debugging.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/99_Appendices/F_Debugging.md b/99_Appendices/F_Debugging.md index 6d87e2a..6f9b070 100644 --- a/99_Appendices/F_Debugging.md +++ b/99_Appendices/F_Debugging.md @@ -198,9 +198,9 @@ While debugging with gdb, we may want to keep qemu hanging after a triple fault ### Qemu Monitor -Qemu monitor is a tool used to send complex commands to the qemu emulator, is useful to for example add/remove media images to the system, freeze/unfreeze the VM, and to inspect the state of the virtual machine without using an external debugger. +Qemu monitor is a tool used to send complex commands to the Qemu emulator, is useful to add/remove media images to the system, freeze/unfreeze the VM, and inspect the virtual machine's state without using an external debugger. -One way to start Qemu monitor on a unix system is using the following parameter when starting qemu: +One way to start Qemu monitor on a unix system is using the following parameter when starting Qemu: ```bash qemu-system-i386 [..other params..] -monitor unix:qemu-monitor-socket,server,nowait @@ -213,7 +213,7 @@ socat -,echo=0,icanon=0 unix-connect:qemu-monitor-socket ``` -Another method is to use telnet to start the monitor. This is handy for easier, cross-platform or remote use (albeit less secure). +Another method is to use Telnet to start the monitor. This is handy for easier, cross-platform or remote use (albeit less secure). ```bash qemu-system-i386 [..other params..] -monitor telnet::45454,server,nowait