CONSOLE OPERATION

You can get the OS to do funky things with special control-shift keyboard codes.

Notes:
  1. Control-shift-L is used to get a logon prompt for screen 0. Just pressing Enter is sufficient to get a logon prompt on screens 1-9.
  2. The screen number is indicated by the white digit in the upper right corner
  3. Text output color is determined by which cpu is outputting at the time. Yellow is always used if it is using the uniprocessor driver. Otherwise, magenta for cpu 0, cyan is for cpu 1, and red and green for cpus 2 and 3 (I've never had a quad system to test that on though!)

There are several keyboard control keys that can be used for normal line editing on input.

You can put the console in Diag mode by pressing control-shift-D. It has some little functions like look at a list of active threads, load & start an image, call the debugger. It runs at softint level, which means that hardware interrupts will still happen, but other threads will not be scheduled. It also suspends the other CPU(s) in a loop at softint level so they cannot execute other threads (but they will process interrupts). I used this to run little test programs before I had a full-blown cli.

If you do a control-shift-C, it will put you in the kernel debugger. Here, the cpu is executing with hardware interrupts inhibited, and it also NMI's the other CPU(s) and puts them in a tight loop so they can't do anything, either. Then, when you exit the debugger, things resume where they left off and the other CPU(s) are released.


On the x86 version, you can redirect the system console to one of the COM ports on the computer. The BIOS boot stuff will still go to the VGA screen but just after gunzipping the loader, it will switch to a COM port of your choosing.

To redirect the console to a COM port, boot the system. At the inital loader prompt, press return within 5 seconds. At first, it is best to experiment with it to make sure it works. So just enter this command:

        extra console comport.1
then press control-Z to continue the boot process. Just after the kernel image gets loaded into memory, it will see the console is to be switched to the indicated comport and will divert console output to that line. If it doesn't work, just reboot and everything will be as it was. Note that a message is printed on the VGA screen indicating which COM port it is switching to (if any):
        oz_dev_video_init: console parameter <comport.1 -baud 115200>
        oz_dev_comvideo_init: console diverted to comport.1

The serial line has these characteristics:

If you want any different, you can put the following options on the end of the extra... command: For example:
      extra console comport.1 -baud 115200

If you want to make it permanent, do this:

  1. Boot your system, entering the extra command at the loader prompt as shown above
  2. Let it finish booting
  3. Log in
  4. Do:
          run oz_util_writeboot.elf /ozone/binaries/oz_loader_486.bb
    
    This will write a new bootblock with your current system parameters to the current system disk. Since you entered the extra command in the loader prompt, the console redirection will now be stored as part of the bootblock stuff.
So when you reboot your system next time, the console will be redirected to the serial line right after boot, including most of the loader stuff.

Panicy questions: