bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] example of 64-bit debug


From: pasha (biblio)
Subject: Re: [PATCH] example of 64-bit debug
Date: Fri, 12 May 2023 00:51:21 +0200

>On Thu, 2023-05-11 at 02:06 +0200, Samuel Thibault wrote:

>pasha (biblio), le mar. 09 mai 2023 17:01:08 +0200, a ecrit:
>Add example of 64-bit debugging.

>Mmm, rather extend the QEMU section of
>https://darnassus.sceen.net/~hurd-web/microkernel/mach/gnumach/debugging/

---
 microkernel/mach/gnumach/debugging.mdwn | 35 +++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/microkernel/mach/gnumach/debugging.mdwn 
b/microkernel/mach/gnumach/debugging.mdwn
index a134b618..0e4898be 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnumach/debugging.mdwn
@@ -128,6 +128,41 @@ working directory. For example:
 
 ## [[open_issues/debugging_gnumach_startup_qemu_gdb]]
 
+## Debug 64-bit gnumach
+
+[[build|microkernel/mach/gnumach/building/]] 64-bit gnumach
+
+run a spare Hurd vm (prepare for data loss in vm):
+
+* `kvm -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net nic,model=e1000 -drive 
file=$(echo debian-hurd*.img),cache=writeback -m 1G`
+* `cd gnumach/build`
+* `scp -P 2222 gnumach.gz user@127.0.0.1:/home/user/`
+* You may copy `gnumach.gz` (also create new grub entry) or replace using `mv 
/home/user/gnumach.gz /boot/gnumach-xxx.gz`
+* Shutdown vm.
+* Append `console=com0` in boot menu and switch to console mode in qemu. (We 
have known issues with vga output for 64-bit.)
+* You may load only required modules for debugging.
+* `kvm -s -S -net user,hostfwd=tcp:127.0.0.1:2222-:22 -net nic,model=e1000 
-drive file=$(echo debian-hurd*.img),cache=writeback -m 1G` (note: `-s -S` 
added.)
+* `gdb ./gnumach`
+* `(gdb) target remote :1234`
+* Press `c` to continue booting.
+
+
+example `/boot/grub/grub.cfg`:
+
+    multiboot       /boot/gnumach-1.8-486.gz root=part:2:device:hd0 
console=com0
+    ...
+    module          /hurd/acpi.static acpi \
+                    --host-priv-port='${host-port}' 
--device-master-port='${device-port}' \
+                    --next-task='${fs-task}' \
+                    '$(acpi-task=task-create)' '$(task-resume)'
+    module          /hurd/ext2fs.static ext2fs --readonly \
+                    --multiboot-command-line='${kernel-command-line}' \
+                    --exec-server-task='${exec-task}' -T typed '${root}' \
+                    '$(fs-task=task-create)'
+    module          /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'
+
+
+
 
 # Code Inside the Kernel
 
-- 
2.30.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]