* serial debug: permission denied
[not found] <031a01da98f9$0e5b3cf0$2b11b6d0$@gmail.com>
@ 2024-04-27 23:19 ` carrollbryanm
0 siblings, 0 replies; only message in thread
From: carrollbryanm @ 2024-04-27 23:19 UTC (permalink / raw)
To: kernelnewbies
[-- Attachment #1.1: Type: text/plain, Size: 5170 bytes --]
Hi all,
I'm attempting to use gdb to debug over a serial connection using two VM's.
I'm getting a "Permission denied" when I try to connect over the serial com
port. Gdb has the following output when I try to connect:
Reading symbols from vmlinux...
+target remote /dev/ttyS1
Remote debugging using /dev/ttyS1
[remote] start_remote_1: enter
[remote] Sending packet:
$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-e
vents+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-taggin
g+#ec
[remote] Junk: d
[remote] Junk: i
[remote] Junk: a
[remote] Junk: g
[remote] Junk: :
[remote] Junk:
[remote] Received Nak
[remote] Sending packet:
$qSupported:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-e
vents+;exec-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-taggin
g+#ec
[remote] Junk: 2
[remote] Junk: 2
[remote] Junk: :
[remote] Junk:
[remote] Junk: P
[remote] Junk: e
[remote] Junk: r
[remote] Junk: m
[remote] Junk: i
[remote] Junk: s
[remote] Junk: s
[remote] Junk: i
[remote] Junk: o
[remote] Junk: n
[remote] Junk:
[remote] Junk: d
[remote] Junk: e
[remote] Junk: n
[remote] Junk: i
[remote] Junk: e
[remote] Junk: d
[remote] Junk: ^M
[remote] Junk:
[remote] Junk: [
[remote] Junk: 2
[remote] Junk: ]
[remote] Junk: k
[remote] Junk: d
[remote] Junk: b
[remote] Junk: >
[remote] Junk:
[remote] Junk: :
[remote] Junk: m
[remote] Junk: u
[remote] Junk: l
[remote] Junk: t
[remote] Junk: i
[remote] Junk: p
[remote] Junk: r
[remote] Junk: o
[remote] Junk: c
[remote] Junk: e
[remote] Junk: s
[remote] Junk: s
[remote] Received Ack
[remote] read_frame: Bad checksum, sentsum=0xec, csum=0x8,
buf=qSupporteddiag: -22: Permission denied\r\n[2]kdb>
:multiprocess+;swbreak+;hwbreak+;qRelocInsn+;fork-events+;vfork-events+;exec
-events+;vContSupported+;QThreadEvents+;no-resumed+;memory-tagging+
[remote] getpkt: Timed out.
[remote] getpkt: Timed out.
Ignoring packet error, continuing...
[remote] packet_ok: Packet qSupported (supported-packets) is supported
[remote] Sending packet: $vCont?#49
[remote] Received Nak
[remote] Sending packet: $vCont?#49
[remote] Received Ack
[remote] Packet received: vCont?
[remote] packet_ok: Packet vCont (verbose-resume) is NOT supported
[remote] packet_ok: Packet vCont (verbose-resume) is NOT supported
[remote] Sending packet: $vMustReplyEmpty#3a
[remote] putpkt_binary: Packet instead of Ack, ignoring it
[remote] Received Ack
[remote] Packet received: vMustReplyEmpty
[remote] start_remote_1: exit
Remote replied unexpectedly to 'vMustReplyEmpty': vMustReplyEmpty
+quit
It seems the target is denying permission. I've been searching around but
have not found anything similar. I tried opening the permissions on the
/dev/ttyS1 on both VM's to rwxrwxrwx and that doesn't help. There are no
SELinux warnings on the debugger VM. I don't know if SELinux is causing a
problem on the target VM.
More details about the configuration:
I'm running two Rocky 9.3 VM's on Windows Hyper-V that I have connected over
a named pipe using the Powershell Set-VMComport commands:
Set-VMComport -VMName "Rocky-Debugger" -Number 2 -Path \\.\pipe\rocky-pipe-2
<file://./pipe/rocky-pipe-2>
Set-VMComport -VMName "Rocky " -Number 2 -Path \\.\pipe\rocky-pipe-2
<file://./pipe/rocky-pipe-2>
I downloaded the 6.8.5 kernel from the kernel.org website and compiled it on
the "Rocky" vm using the following configuration:
#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_HONOUR_BLOCKLIST=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
# CONFIG_KGDB_TESTS_ON_BOOT is not set
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_DEFAULT_ENABLE=0x0
CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_ARCH_HAS_EARLY_DEBUG=y
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# CONFIG_KCSAN is not set
# end of Generic Kernel Debugging Instruments
I added the kernel args "console=tty0 console=ttyS0,115200
kgdboc=ttyS1,115200". I start the VM with the new kernel and run the command
"echo g > /proc/sysrq-trigger".
On the "Rocky-debugger" vm, I added my user to "dialout". The permissions on
/dev/ttyS1 is rw for the group.
I set the following in .gdbinit, "set serial baud 115200".
Run "gdb vmlinux", then "target remote /dev/ttyS1". That's when I get the
"Permission denied".
I can connect to the console over serial using "sudo screen ttyS0" and that
works just fine. So I don't believe it's a Windows Hyper-V permissions
issue.
I'm out of ideas. Any help is appreciated!
Thanks,
Bryan Carroll
[-- Attachment #1.2: Type: text/html, Size: 11721 bytes --]
[-- Attachment #2: Type: text/plain, Size: 170 bytes --]
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-27 23:22 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <031a01da98f9$0e5b3cf0$2b11b6d0$@gmail.com>
2024-04-27 23:19 ` serial debug: permission denied carrollbryanm
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.