I have a laptop with a broken screen and I am using it as a home server. So I would like to install Devuan GNU/Linux on it by using a serial console.
I have a null-modem serial cable and I have successfully used it to connect to the serial console of a raspberry-pi (running FreeBSD) from another Linux laptop by using the screen command.
So, now I was hoping that the Devuan installation DVD would automatically set up a serial console and that I could access it from the other laptop as I did with the rpi. Unfortunately this is not the case: on the other laptop I have a black screen.
On the rpi I have a serial adapter card. On the screenless laptop I have a USB/serial adapter.
So: is it possible to run a Devuan installation over a serial console? Do I need to modify the installation image or pass it any special parameters to tell it that it should use the serial console?
EDIT
I have made some progress but have not solved the problem yet. I have been testing on a desktop that has a serial port, so I can use it without USB adapter. My plan is to get the console working on a running system and then try and apply the needed changes to the installation image.
I got the kernel logging on the serial console by using the kernel parameter console=ttyS0,115200. I have managed to have the grub menu on the serial console by adding
serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
terminal_input --append serial
terminal_output --append serial
at the end of /etc/grub.d/40_custom
I also got a login console by editing /etc/inittab and adding an entry for ttyS0.
Now I am stuck at the next step. The computer I want to use as a server does not have a serial port so I have to use a USB serial adapter. The USB adapter shows up as /dev/ttyUSB0 on a running system.
If I define a console in /etc/inittab for ttyUSB0 I get a serial console.
If I change the kernel parameter to console=ttyUSB0,115200 I get no kernel logging on the serial console. I suppose this is because the kernel does not have the module usbserial which is needed by the USB/serial adapter. My next attempt will be to compile a kernel with the module built-in.
Regarding the GRUB2 menu, I still have open issues:
- What value should I specify for the
--unit=parameter:ttyS0gets mapped to--unit=0, what aboutttyUSB0? - Does grub need to load some kind of module in order to use the USB adapter properly?
EDIT 2
I found some interesting help here. In particular, I did the following:
when you get the initial boot menu, just press "TAB" to edit the boot command and simply add "console=ttyS0,115200u8" to the end of the default boot command.
This brought me to an installer running on the serial console on a PC that has a serial port. So it seems I am almost there.
I then tried using the serial adapter on USB on the same PC and the option
console=ttyUSB0,115200u8 on the kernel line. This leads to a black screen and no serial console.