Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[NetBSD] Console im Textmodus

4 views
Skip to first unread message

Volker Englisch

unread,
Apr 2, 2023, 12:17:07 PM4/2/23
to
Hallo!

Während ich FreeBSD mit hw.vga.textmode="1" in /boot/loader.conf
erfolgreich beigebracht habe, reinen Text auf der Console auszugeben:

Wie bekomme ich das unter NetBSD (9.3) hin? Einen Hinweis auf
/boot/loader.conf finde ich dort nicht. Ich möchte die Schrift auf
der Console aber gerne lesbarer haben (klassisches 80x24(25)).

Aber wie?

Michael van Elst

unread,
Apr 2, 2023, 8:44:46 PM4/2/23
to
vn...@vkrz.de (Volker Englisch) writes:

>Während ich FreeBSD mit hw.vga.textmode="1" in /boot/loader.conf
>erfolgreich beigebracht habe, reinen Text auf der Console auszugeben:

>Wie bekomme ich das unter NetBSD (9.3) hin?


Boote mit BIOS auf einer Maschine, die tatsächlich noch eine VGA-Grafik hat.
Bei UEFI gibt es die Grafikkonsole.

Für "nur" 25x80 Zeichen reicht auch ein passender Font. Entweder via /etc/wscons.conf
nachladen (dann ist ein Teil der Ausgabe aber schon erschienen), oder einen Kernel
bauen, der den Font eingebaut hat. Für ein 8k-Display wird man vermutlich auch
den Font zuerst bauen müssen.

Volker Englisch

unread,
Apr 3, 2023, 1:17:07 PM4/3/23
to
Michael van Elst <mle...@serpens.de> schrieb:
> vn...@vkrz.de (Volker Englisch) writes:
>
>>Während ich FreeBSD mit hw.vga.textmode="1" in /boot/loader.conf
>>erfolgreich beigebracht habe, reinen Text auf der Console auszugeben:
>
>>Wie bekomme ich das unter NetBSD (9.3) hin?
>
> Boote mit BIOS auf einer Maschine, die tatsächlich noch eine VGA-Grafik hat.
> Bei UEFI gibt es die Grafikkonsole.

Sorry, hier verstehe ich leider nur Bahnhof.

> Für "nur" 25x80 Zeichen reicht auch ein passender Font. Entweder via
> /etc/wscons.conf nachladen (dann ist ein Teil der Ausgabe aber schon
> erschienen),

Die Frage ist für mich: Was ist ein passender Font? Ich konnte bisher
nicht herausfinden, was die Endungen z.B. .808 und .816 mir sagen
sollen. Pixelbreite und Höhe - aber welches benötige ich für 25x80?

> oder einen Kernel bauen, der den Font eingebaut hat.

Gibts dafür irgendwo ein Manual, wo ich nachlesen kann, was dafür zu
tun ist? Also nicht für's Bauen eines Kernels (das kann ich...), aber
eben wegen der Fonts?

Beim Start von NetBSD erscheinen die (grünen) Kernelmeldungen ja noch
so, wie ich mir das vorstelle. Dann schaltet irgendwas den Monitor in
den Grafikmodus. Dieses Umschalten läßt sich nicht einfach irgendwie
verhindern?

Michael van Elst

unread,
Apr 3, 2023, 8:26:31 PM4/3/23
to
vn...@vkrz.de (Volker Englisch) writes:

>Michael van Elst <mle...@serpens.de> schrieb:
>> vn...@vkrz.de (Volker Englisch) writes:
>>
>>>Während ich FreeBSD mit hw.vga.textmode="1" in /boot/loader.conf
>>>erfolgreich beigebracht habe, reinen Text auf der Console auszugeben:
>>
>>>Wie bekomme ich das unter NetBSD (9.3) hin?
>>
>> Boote mit BIOS auf einer Maschine, die tatsächlich noch eine VGA-Grafik hat.
>> Bei UEFI gibt es die Grafikkonsole.

>Sorry, hier verstehe ich leider nur Bahnhof.

Wenn du einen Rechner hast, der noch eine VGA-Grafik hat, und der
Rechner mit BIOS bootet, dann wird für die Konsole der Textmodus
der VGA-Grafik-Hardware verwendet.

Wenn du mit UEFI bootest, bist du schon im Grafikmodus, und
NetBSD wird diese als Framebuffer für die Konsole weiter verwenden,
also keinen Textmodus nutzen.


>> Für "nur" 25x80 Zeichen reicht auch ein passender Font. Entweder via
>> /etc/wscons.conf nachladen (dann ist ein Teil der Ausgabe aber schon
>> erschienen),

>Die Frage ist für mich: Was ist ein passender Font? Ich konnte bisher
>nicht herausfinden, was die Endungen z.B. .808 und .816 mir sagen
>sollen. Pixelbreite und Höhe - aber welches benötige ich für 25x80?

Das hängt von deinem Display ab. Die Fonts mit den Endungen 808 und 816
sind 8x8 bzw. 8x16 Pixel, auf heutiger Grafik gibt das viel mehr als
25x80.

Es gibt inzwischen aber auch die Spleen- und Terminus-Fonts (bis 32x64).

Prinzipiell kann man auch andere Bitmap-Fonts konvertieren und laden.


>> oder einen Kernel bauen, der den Font eingebaut hat.

>Gibts dafür irgendwo ein Manual, wo ich nachlesen kann, was dafür zu
>tun ist? Also nicht für's Bauen eines Kernels (das kann ich...), aber
>eben wegen der Fonts?

Die eingebauten Fonts sind als C-Header abgelegt, standardmässig wird
bold16x32 eingebaut.

DejaVu_Sans_Mono_12x22.h
Droid_Sans_Mono_12x22.h
Droid_Sans_Mono_19x36.h
Droid_Sans_Mono_9x18.h
Go_Mono_12x23.h
bold16x32.h
bold8x16.h
gallant12x22.h
glass10x19.h
glass10x25.h
lucida16x29.h
omron12x20.h
qvss8x15.h
sony12x24.h
sony8x16.h
spleen12x24.h
spleen16x32.h
spleen32x64.h
spleen5x8.h
spleen8x16.h
vt220iso8x16.h
vt220iso8x8.h
vt220koi8x10.h
vt220l8x10.h
vt220l8x16.h
vt220l8x8.h

Mit options FONT_GLASS10x25 im Kernel config file bekommt man
den 10x25-Font, man kann auch mehr als eine Option angeben. Es
wird der genommen, der am nächsten an ein 25x80-Display heran kommt.



>Beim Start von NetBSD erscheinen die (grünen) Kernelmeldungen ja noch
>so, wie ich mir das vorstelle. Dann schaltet irgendwas den Monitor in
>den Grafikmodus. Dieses Umschalten läßt sich nicht einfach irgendwie
>verhindern?

Die Intel, Radeon und Nouveau-Treiber sind eingebaut und übernehmen die
Konsole im Grafikmodus.


Volker Englisch

unread,
Apr 4, 2023, 1:37:09 PM4/4/23
to
Michael van Elst <mle...@serpens.de> schrieb:
> vn...@vkrz.de (Volker Englisch) writes:
>>Michael van Elst <mle...@serpens.de> schrieb:
>>> vn...@vkrz.de (Volker Englisch) writes:
>>>
>>>>Während ich FreeBSD mit hw.vga.textmode="1" in /boot/loader.conf
>>>>erfolgreich beigebracht habe, reinen Text auf der Console auszugeben:
>>>
>>>>Wie bekomme ich das unter NetBSD (9.3) hin?
>
>>Beim Start von NetBSD erscheinen die (grünen) Kernelmeldungen ja noch
>>so, wie ich mir das vorstelle. Dann schaltet irgendwas den Monitor in
>>den Grafikmodus. Dieses Umschalten läßt sich nicht einfach irgendwie
>>verhindern?
>
> Die Intel, Radeon und Nouveau-Treiber sind eingebaut und übernehmen die
> Konsole im Grafikmodus.

Das war das Stichwort :-) Im Handbuch zu meinem Mainboard nachgesehen,
was dort verbaut ist (Radeon).

In der Kernel-Config

radeon* at pci? dev ? function ?
radeondrmkmsfb* at radeonfbbus

auskommentiert und den Kernel neu gebaut. È voila - jetzt habe ich
genau das, was ich wollte.

Herzlichen Dank für Deine vielen Hinweise!

Volker

Martin Neitzel

unread,
Apr 6, 2023, 7:09:03 PM4/6/23
to
Hallo Volker,

> In der Kernel-Config
>
> radeon* at pci? dev ? function ?
> radeondrmkmsfb* at radeonfbbus
>
> auskommentiert und den Kernel neu gebaut. voila - jetzt habe ich
> genau das, was ich wollte.

"drm disabeln" wollte ich auch schon empfehlen.

Dazu brauchst Du uebrigens keinen eigenen kernel zu bauen.
Du kannst Treiber im GENERIC kernel auch wie folgt auf Eis
legen.

Du kannst auch erst mal zum Testen in der fruehen Boot-Phase dafuer
sorgen, dass Du in in den "interactive mode" kommst. Aktuelle
Bootloader (ab NetBSD-5) praesentieren Dir per default ein Menue

1. Boot normally
2. Boot single user
3. Disable ACPI
4. Disable ACPI and SMP
5. Drop to boot prompt

Da nimmst Du "5".

Aeltere Versionen (vor NetBSD 5) haben dies Menue noch nicht. Da
musst Du nach den Zeilen

>> NetBSD BIOS Boot, revision 3.0
>> (user@buildhost, builddate)
>> Memory: 637/15360 k
Press return to boot now, any other key for boot menu
booting hd0a:netbsd - starting in 5

schnell genug "any other key" druecken. Aus dem "Interactive mode"
(siehe boot(8)) heraus bootest Du dann via "boot -c".

Wenn so gebootet wird, laedt der kernel und wird sofort mit einem

uc>

Prompt schon wieder interaktiv, noch *bevor* das ganze
device-probing/autoconfig losgeht. Das schimpft sich "userconf" und
ist in userconf(4) kurz beschrieben. Du kannst bei diesem "uc>" prompt
folgende Kommandos eingeben:

uc> disable radeondrmkmsfb*
uc> exit

und dann rattert der ganze weitere boot-Vorgang los, ohne dass
dieser Treiber mitspielt.

Wenn dieser Test erfolgreich war, kannst Du die Zeile

userconf=disable radeondrmkmsfb*

in die Datei /boot.cfg einbauen. Dann wird das kuenftig auch bei
normalen boots nicht mehr verwendet. (Das geht ab NetBSD-6 oder 7.)

Martin Neitzel

Volker Englisch

unread,
Apr 9, 2023, 12:17:07 PM4/9/23
to
Martin Neitzel <nei...@gaertner.de> schrieb:
>> In der Kernel-Config
>>
>> radeon* at pci? dev ? function ?
>> radeondrmkmsfb* at radeonfbbus
>>
>> auskommentiert und den Kernel neu gebaut. voila - jetzt habe ich
>> genau das, was ich wollte.
>
> "drm disabeln" wollte ich auch schon empfehlen.
> uc> disable radeondrmkmsfb*
> uc> exit
>
> userconf=disable radeondrmkmsfb*
>
> in die Datei /boot.cfg einbauen. Dann wird das kuenftig auch bei
> normalen boots nicht mehr verwendet. (Das geht ab NetBSD-6 oder 7.)

Gut zu wissen. Dieses Mal hatte ich den Kernel schon neu gebaut, aber
für's nächste Mal hänge ich mir Deine Anleitung deutlich sichtbar neben
die Console.

Danke!
0 new messages