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

Bug#977466: rootskel: bterm cannot start when requesting graphical console and serial console at the same time



Package: rootskel
Severity: important
Tags: patch d-i

Dear Maintainer,

When installing debian and requesting more than one console, bterm
cannot be correctedly started on the graphical console. This can be
reproduced using the image files provided at
https://deb.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64/
. The qemu commandline used is:

qemu-system-x86_64 \
 -cpu kvm64 -machine pc,accel=kvm -smp cpus=2,cores=2,sockets=1 -m 1G \
 -chardev stdio,mux=on,id=char0 -monitor chardev:char0 -serial chardev:char0 \
 -vnc [address]:[port],reverse \
 -kernel linux -initrd initrd.gz \
 -append "console=ttyS0 console=tty0"

As can be seen on the monitor, there are ``black boxes" in the place of
non-ASCII characters.

The cause of the probem is in the `S70menu` script, where the font file
get deleted when bterm is not used. In `reopen-console-linux`, we
request to start one instance of debian-installer for each console in
the inittab. It is likely that the font file get deleted when the
instance for the serial console starts and thus the instance for the
graphical console meets the problem when it needs the font file.

The attached patch fixes this issue by removing the `rm` command in that
script.

Cheers,

Miao Wamg

*** rootskel/0001-Do-not-remove-the-font-when-btrem-is-not-started.patch
From d5fd0aaf0111ce3273558e54d7625c1ae590cec4 Mon Sep 17 00:00:00 2001
From: Miao Wang <shankerwangmiao@gmail.com>
Date: Tue, 15 Dec 2020 19:42:07 +0800
Subject: [PATCH] Do not remove the font when btrem is not started

---
src/lib/debian-installer.d/S70menu | 1 -
1 file changed, 1 deletion(-)

diff --git a/src/lib/debian-installer.d/S70menu b/src/lib/debian-installer.d/S70menu
index 4f277fc..7e16733 100644
--- a/src/lib/debian-installer.d/S70menu
+++ b/src/lib/debian-installer.d/S70menu
@@ -10,7 +10,6 @@ if [ -x "$bterm" ] && [ -e "$font" ] && [ -n "$TERM_UTF8" ] && [ -n "$TERM_FRAME
EXIT=$?
set -e
else
- rm -f $font
if [ -x "$screen_bin" -a \( "$TERM_TYPE" = network -o "$TERM_TYPE" = serial \) -a "$TERM" != dumb ]; then
# there's GNU/screen binary, run menu in it.
# call this script again with in GNU/screen, possibly in UTF-8 mode
--
2.20.1

Reply to: