pocopico / tinycore-redpill

GNU General Public License v3.0
2.18k stars 645 forks source link

Feature Request: Support Serial Console in GRUB and Kernel #93

Open howdy-world opened 2 years ago

howdy-world commented 2 years ago

Hi, I'm hoping to interact with GRUB console and the linux console over serial, and i wonder if there's a way to achieve that.

Thanks!

aniston commented 2 years ago

@howdy-world there is already a COM port Terminal :) (hopefully I understand your issue well, although not sure of the Kernel part what you mean !)

It depends whether you are in the Installation phase from TCRP (think ./rploader.sh) or in the configuration section (you have and selected a boot option)

Assuming that you are doing a classic Baremetal setup ::

  1. in the initial installation of TCRP you need th IP obtained and then you connect thru SSH , maybe I'm wrong but the COM port is not active at this point ! your only partners are the Monitor, kbd & mouse or via SSH.
  2. once the ./rploader.sh scripts have patched everything up and you reboot into the DSM option in GRUB then after successful IP acquisition you have a ttyd terminal in the browser at port :7681 (note: at this stage there is no password for the root user)
  3. after this phase when the DSM Firmware is correctly loaded via the web browser (countdown to 100% and reboot) then in the COM port Terminal you can login with the new user and relative password.

Please look thru the DSM7 Installation Tutorial if not already done.

PS: I have not a Baremetal setup, but the experience on VirtualBox and Putty with a serial pipe (\.\pipe\COM1) is the equivalent of the above.

howdy-world commented 2 years ago

Hi @aniston , sorry for the languages as it might be confusing previously.

What i meant was, for GRUB, if those setting can be set properly, then one can interact with GRUB menu over serial connection, headlessly. GRUB_TERMINAL and GRUB_SERIAL_COMMAND. (Or maybe there's already a grub config exposed in the EFI or /boot partition that i can manually edit and enable, before booting from the USB drive?)

As for kernel, what i mean is to interact with linux shell over serial. something like giving console=ttyS0,115200n8