As far as I know there are 6 ways to change resolution:
1. At compile time: change the line
1A. After compilation: use
rdev -v - a terrible hack, but it exists.
2. At boot time: put
vga=ask in the lilo config file, and lilo will ask you what video mode you want. Once you know, put
3. At run time: A. Use the
resizecons command. (This is a very primitive wrapper around the VT_RESIZE ioctl.) B. Use the
SVGATextMode command. (This is a less primitive wrapper around the VT_RESIZE ioctl.)
4. Not "on the console": Under
dosemu, or with svgalib etc. you can change the hardware video mode without the console driver being aware of it. Sometimes this is useful in getting
SVGATextMode set up: use
dosemu and some DOS program to get into the desired videomode, dump (say from another VT) the contents of all video hardware registers, and use that in the initialization that
SVGATextMode require. In some cases where the video mode has gotten into some unusable state, starting
dosemu, relying on the BIOS to set up the video mode, and then killing
kill -9), is the easiest way to get into shape again.
Get svgalib and compile the program
restoretextmode. Boot up your machine in all possible video modes (using
vga=ask in the lilo config file), and write the video hardware register contents to files CxR (C=cols, R=rows), e.g., 80x25, 132x44, etc. Put these files in
resizecons 132x44 will change videomode for you (and send SIGWINCH to all processes that need to know about this, and load another font if necessary).
resizecons only succeeds when there is memory enough for both the old and the new consoles at the same time.