Console setting on Minix 3.2.1

284 views
Skip to first unread message

rjko...@gmail.com

unread,
Jun 24, 2013, 9:40:25 PM6/24/13
to min...@googlegroups.com
I am running Minix under VMWare on Windows. I would like to increase the number of lines provided by the default text console (currently 25x80).

I believe the old "console" boot option is no longer available because Minix now uses the NetBSD boot loader( which apparently provides a "vesa" option to do this). If I go into the Boot Prompt when Minix starts, I can enter "vesa list" which shows me many resolution options which should be available. However editing boot.cfg and adding, for example,  "vesa 1024x768x32" to the end of a "menu=....." line has no effect.

Could someone provide me with an example of the correct syntax to add this option to the boot.cfg please.

Alternatively, if this is not functioning in Minix 3.2.1, any pointers or suggestions regarding the viability of modifying source code would be appreciated.

Antoine LECA

unread,
Jun 25, 2013, 3:49:05 AM6/25/13
to min...@googlegroups.com
rjko...@gmail.com wrote:
> I am running Minix under VMWare on Windows. I would like to increase the
> number of lines provided by the default text console (currently 25x80).

Hmmm... there is a small handicap down the road you should know about.

MINIX's console is using the video adapter in its original _text_mode_,
which is quite different from about all the other operating systems of
the day, which are using text mode emulation in graphics mode. As a
(unfortunate) consequence, VMware's emulated video adapter is pretty
basic on this respect, and it only emulates a limited set of text-mode
resolutions, including of course 80�25, and also 80�50, through the
well-known 8�8 (ugly) font trick, but nothing more; said another way, it
is not VESA-1.x compliant on this respect (this requirement about
"enhanced" text modes was later dropped from the VESA standards.)

So unless the video interface is modified to use graphics mode, assuming
you fix the problem below, under VMware you won't get more than 50 text
rows. :-(
Of course, implementing graphics mode (and frame buffers etc.) is
something we need to do at some point, but it is quite more complex...


> I believe the old "console" boot option is no longer available because
> Minix now uses the NetBSD boot loader( which apparently provides a "vesa"
> option to do this).

Yes. What happened before is that the boot monitor performed the (text)
mode change to whatever resolution you wanted, as instructed by the
console= setting, just before launching MINIX; as a result there is no
code in MINIX itself which deals with reprogramming the video adapter.
Reasons for that is to be as independent from the video hardware as
possible, and also that the widest-available industry standard to
reprogram the video adapter is to use the BIOS, which interface requires
to be in i86 16-bit mode (either real mode or V8086, but not the
protected mode as used by MINIX since v.1.5.)

On the other hand, in NetBSD this "switch" function is done by the
kernel initialization code, inside the "video driver", which driver
quite simply does NOT exist in MINIX.


> If I go into the Boot Prompt when Minix starts, I can
> enter "vesa list" which shows me many resolution options which should be
> available.

Yes; this is done because it is far easier (and much more trouble free)
to enumerate the VESA interface using the BIOS, which is still usable
under the boot monitor, but disappears later.

> However editing boot.cfg and adding, for example, "vesa
> 1024x768x32" to the end of a "menu=....." line has no effect.

I guess you understand now from the above why it cannot work.


> Alternatively, if this is not functioning in Minix 3.2.1, any pointers or
> suggestions regarding the viability of modifying source code would be
> appreciated.

Good question, I do not know which are the plans in this area.
Since AFAIK ARM devices are only providing some kinds of graphic modes,
I do not believe the way to go is to "enhance" the PC console (which is
already a fairly complex piece of code) adding code; rather, I think
some kind of independent "video driver" has to be added, at least to
allow some independence of TTY with respect to the video hardware.

But this quite a bit more complex that just changing boot.cfg.


Antoine

rjko...@gmail.com

unread,
Jun 25, 2013, 5:18:54 AM6/25/13
to min...@googlegroups.com
Thank you for the detailed explanation. How would I enable the 80x50 "ugly font trick" that you refer to?


On Tuesday, June 25, 2013 5:49:05 PM UTC+10, AntoineLeca wrote:
rjko...@gmail.com wrote:
> I am running Minix under VMWare on Windows. I would like to increase the
> number of lines provided by the default text console (currently 25x80).

Hmmm... there is a small handicap down the road you should know about.

MINIX's console is using the video adapter in its original _text_mode_,
which is quite different from about all the other operating systems of
the day, which are using text mode emulation in graphics mode. As a
(unfortunate) consequence, VMware's emulated video adapter is pretty
basic on this respect, and it only emulates a limited set of text-mode
resolutions, including of course 80�25, and also 80�50, through the
well-known 8�8 (ugly) font trick, but nothing more; said another way, it

Antoine LECA

unread,
Jun 25, 2013, 10:51:48 AM6/25/13
to min...@googlegroups.com
rjko...@gmail.com wrote:
> Thank you for the detailed explanation. How would I enable the 80x50 "ugly
> font trick" that you refer to?

I never succeeded at it :-( However it is because of lack of free time

The basic idea is to modify the boot monitor to switch (using VGA BIOS
service, interrupt 0x10 AH=0x12) the font to use a 8�8 font.

Then, MINIX should eat that at first try since AFAIK (reading
tty/console.c, scr_init() function) it learns the number of rows and
other parameters from the BIOS area settings; however you should check
with Shift+F3, software scrolling, both on and off, that everything
works OK.


Antoine

rjko...@gmail.com

unread,
Jun 26, 2013, 4:35:21 AM6/26/13
to min...@googlegroups.com
Having looked at some of the source code, I will take your previous advice (about not enhancing the PC Console code and instead wait for a more substantial driver change, perhaps from NetBSD).


On Wednesday, June 26, 2013 12:51:48 AM UTC+10, AntoineLeca wrote:
rjko...@gmail.com wrote:
> Thank you for the detailed explanation. How would I enable the 80x50 "ugly
> font trick" that you refer to?

I never succeeded at it :-( However it is because of lack of free time

The basic idea is to modify the boot monitor to switch (using VGA BIOS
service, interrupt 0x10 AH=0x12) the font to use a 8�8 font.
Reply all
Reply to author
Forward
0 new messages