DapperDeer
Contributor
Contributor

PuTTY Blank When Connecting to VM via Serial Port - Kernel Debugging

Hi there,

I'm trying to debug a Linux Kernel and need to get a full kernel panic log to figure out what's wrong with it. I'm trying to do this simply by connecting PuTTY via Serial Port to my Linux VM.

Here are the steps that I've done to connect PuTTY and my VM:

VMWare Workstation Pro:

Virtual Machine Settings -> Add Hardware -> Serial Port -> Named pipe: \\.\pipe\com_1, "This end is the server", and "The other end is an application."

PuTTY -> Session -> Connection Type: Serial -> Serial Line: \\.\pipe\com_1, Speed: 115200

Start the VM. When I get to GRUB, I edit my kernel command line by adding console=ttyS0,115200 at the end of it and hit F10. I then hit "Open" on PuTTY. A blank PuTTY session opens and my VM starts the boot process. On my VM, I get this output:

   

     "Wrong EFI loader signature.

     early console in extract_kernel

     input_data: 0x000000000273a3ac

     input_len: 0x0000000008770cf

     output: 0x0000000001000000

     output_len: 0x0000000001f813c4

     kernel_total_size: 0x0000000001c2c000

     needed_size: 0x0000000002000000

     trampoline_32bit: 0x0000000009d000

     booted via startup_32()

     Physical KASLR using RDRAND RDTSC...

     Virtual KASLR using RDRAND RDTSC...

     Decrompessing Linux... Parsing ELF... Performing relocations... done.

     Booting the kernel."

While in PuTTY, it's just a blank console.

Am I doing something wrong? Am I missing something?

If there's any other info I can give, please let me know.

Thanks

0 Kudos
2 Replies
intraxi
Contributor
Contributor

Here it's the same thing. I guess a bug in vmware ws ! Did you find a solution ?

0 Kudos
wila
Leadership
Leadership

Hi,

For kernel debugging I tend to change the .vmx by hand.

eg.

serial0.present = "TRUE"
serial0.fileType = "pipe"
serial0.fileName = "\\.\pipe\com_1"
serial0.tryNoRxLoss = "FALSE"
serial0.pipe.endPoint = "server"

But so far I only used that with Windows guests on macOS (aka, VMware Fusion) 😉

Seems to me that you need to do a bit more in the linux guest.

https://www.cyberciti.biz/faq/linux-serial-console-howto/

https://tldp.org/HOWTO/Remote-Serial-Console-HOWTO/configure-kernel-grub.html

Don't forget to turn off graphical splash screens if there are any.

--
Wil

| Author of Vimalin. The virtual machine Backup app for VMware Fusion, VMware Workstation and Player |
| More info at vimalin.com | Twitter @wilva
0 Kudos