Hi tech@,

The size of kernel fonts in RAMDISKs has long been a problem on systems
with large screen resolutions booting via EFI, as currently only the 8x16
font is built into RAMDISKs. As those systems are becoming more common, I
would like to revisit the topic.

Currently, we decide which font is built into which kernel in wsfont(9),
which will only add the 8x16 one when SMALL_KERNEL is defined, and larger
fonts for selected architectures for !SMALL_KERNEL. There is no way to
distinguish between RAMDISK and RAMDISK_CD kernels using #ifdef trickery,
so with the current way we cannot add larger fonts only on RAMDISK_CD.
As a reminder, we cannot add them to RAMDISK because there is no space
left on the floppies, and there is no support for EFI systems on the
floppies anyway.

However, unless I overlooked something, this could be solved by adding
option directives directly in the RAMDISK_CD kernel configuration file.

This is how it would look like for amd64:

Index: sys/arch/amd64/conf/RAMDISK_CD
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/RAMDISK_CD,v
retrieving revision 1.190
diff -u -p -r1.190 RAMDISK_CD
--- sys/arch/amd64/conf/RAMDISK_CD      27 Dec 2020 23:05:37 -0000      1.190
+++ sys/arch/amd64/conf/RAMDISK_CD      31 May 2021 09:39:24 -0000
@@ -20,6 +20,11 @@ option               MSDOSFS
 option         INET6
 option         CRYPTO
 
+option         FONT_SPLEEN8x16
+option         FONT_SPLEEN12x24
+option         FONT_SPLEEN16x32
+option         FONT_SPLEEN32x64
+
 option         RAMDISK_HOOKS
 option         MINIROOTSIZE=7360
 
Does this look reasonable?

If it does and if we want to go this way, I can try to build a release
and check if MINIROOTSIZE must be bumped on RAMDISK_CD. Then we could do
the same for i386, armv7 and arm64.

Reply via email to