Hello, Peter,

thanks for the reply.  The photo was extremely helpful!

On Sat, Dec 31, 2022 at 09:42:54 +0000, Peter Humphrey wrote:
> Morning Alan,

> On Thursday, 29 December 2022 19:50:18 GMT Alan Mackenzie wrote:

> > I've got a first version of a patch which attempts to handle GPM in
> > conjunction with scrolling.  It's imperfect - for example, I can't get it
> > to select anything the first 66 lines of the console's displayed boot-up
> > messages.  Nevertheless it may be useful.

[ .... ]

> > Please let me know of any problems you encounter with this new facility,
> > so that I can try to fix them.  Thanks!

> Bad news, I'm afraid. After following your instructions carefully, the
> new kernel hangs early in the boot process. The first time I tried it
> it seemed to be just as the first HID message had been displayed; the
> second time I didn't see that (could be my eyes).

> I've attached a photo of the console.

The interesting bit of the photo is right at the end, where the INIT:
version 3.05 booting appears.  The corresponding section from my
(successful) boot is:

[    4.007014] Write protecting the kernel read-only data: 24576k
[    4.008379] Freeing unused kernel image (text/rodata gap) memory: 2036K
[    4.009611] Freeing unused kernel image (rodata/data gap) memory: 1364K
[    4.010670] Run /sbin/init as init process
INIT: version 3.05 booting
[    4.041455] setfont (884) used greatest stack depth: 13584 bytes left
[    4.048471] init-early.sh (882) used greatest stack depth: 12888 bytes left

   OpenRC 0.42.1 is starting up Gentoo Linux (x86_64)

 * Mounting /proc ...
 * Mounting /run ...
 * /run/openrc: creating directory
 * /run/lock: creating directory
 * /run/lock: correcting owner

What I see is a message saying something about init-early.sh being
called.  I don't know what, exactly, is calling it, but I tracked the
file down to /lib/rc/sh/init-early.sh.  It is a part of rc-init, despite
the message being printed with a kernel style time stamp.  This message
doesn't appear in your photo.  I'm guessing init-early.sh was called,
but never returned.

init-early.sh does two things: it sets a console font (see the message
about setfont) and sets a key mapping.  It does that via symbolic links
to /etc/init.d.  The console font is more interesting, here.  It
installs the font which is in /lib/rc/console/font.

What I'm thinking here is that you might be installing a font which is
bigger than the 8x16 standard that you appear to be booting with.  To
check this, would you please do:

    # file /lib/rc/console/font

, which should return a message like:

    /lib/rc/console/font: Linux/i386 PC Screen Font v1 data, 256 characters, 
Unicode directory, 8x16

What is the size of this font, here (where it says 8x16 for my font)?
The reason I ask is, I've got a horrible suspicion that one of the C
functions which copies screen data when the screen size is changed can
only copy to a same sized or (possibly) _bigger_ screen (i.e. with a
smaller font).  If this is indeed the case, it might explain why you're
seeing a hang, here.

> -- 
> Regards,
> Peter.

-- 
Alan Mackenzie (Nuremberg, Germany).

Reply via email to