There are two major types of glass console on Linux: graphical and text modes.
You get graphical consoles if your video subsystem is supported by the Linux kernel directly, and you have enabled this / have not disabled this (depends on the distribution). If there's a driver, your screen will be autodetected and you'll get (by default) 9×16 pixel text at its native resolution. Then you'll have the opposite problem: tiny text. If
CONFIG_FONTS_* is enabled in the kernel, you can change the boot-time font to something larger, or you can just load a larger font after the system boots. There are two ways to change the resolution itself if it fails to autodetect:
- The ‘gods, I feel so old’ way, with the kernel command line argument
vga=, as detailed in this forum post. You'd need to reconfigure your boot loader for this, of course. The
vga= option can get you both text (modes < 256) and VESA-compatible graphics modes (modes ≥ 256). The latter will be graphical but unaccelerated, so scrolling a very large framebuffer may look interesting, for slow values of ‘interesting’.
- The new way, using Kernel Mode Setting. If you learn one of these, learn this one unless you're doing a lot of embedded or retro work. The
vga= method may go away at some point.
If your video card isn't supported, its driver isn't loaded, etc, you'll find yourself with a text mode console. Text mode consoles are limited by the range of text modes of your graphics card. 80×25, 80×43 and 80×50 are the standard VGA ones. The original non-IBM VGA and SVGA cards always had nice additional text modes, but modern cards generally don't (‘who'd ever want text?’). There's a solution here: you can manipulate the VGA registers directly to reprogram the CRTC part of the chip to get higher resolutions. A 90s program called SVGATextMode could do this for you without kernel reconfiguration. It was a tiny bit like
xrandr, but for text consoles, and may still work for you. I loved it: I could get something bizarre like 100×37 on my crappy 14" CRT. It made it decent for development back in 1994. To set a mode at boot time, your only recourse is to use
vga= and use a VESA mode.
stty command: it tells the kernel about your terminal, but can't change the terminal itself.
stty rows 200 will tell the kernel your remotely attached glass terminal has 200 lines per screen. Why this is the case is explained in the answers to this question.