Features/3270: Difference between revisions
(Created page with "The 3270 is the classic 'green-screen' console (see [https://en.wikipedia.org/wiki/IBM_3270 the wikipedia article]). == Code == * Initial posting: [https://lists.gnu.org/arch...") |
No edit summary |
||
Line 28: | Line 28: | ||
=== Starting QEMU === | === Starting QEMU === | ||
* Add a tn3270 chardev to your QEMU command line (machine needs to be s390x-ccw-virtio). Example: <code>-chardev socket,id=char_0,host=0.0.0.0,port=23,nowait,server,tn3270 -device x-terminal3270,chardev=char_0,devno=fe.0.000a,id=terminal_0</code> | |||
* Start QEMU. Your guest will be presented with a 3270 channel-attached device. | |||
=== Guest Configuration === | === Guest Configuration === | ||
The guest will see the 3270 as a channel-attached device. With the example above, the device will show up as 0.0.000a. | |||
==== Using 3270 as an additional tty ==== | ==== Using 3270 as an additional tty ==== | ||
You can use the defined 3270 as an additional tty. | |||
* Start the guest and log in via an alternative method (for example, via the sclp console). | |||
* Enable the device. For the example above, use <code>chccwdev -e 0.0.000a</code> | |||
* Find the respective device node, usually under /dev/3270/. | |||
* Start a getty on that device node, for example via <code>systemctl start serial-getty@3270-tty1.service</code> | |||
** You may want to defer this step until after you connected via x3270, or you won't see the banner. | |||
==== Using 3270 as the console ==== | ==== Using 3270 as the console ==== |
Revision as of 16:50, 22 February 2017
The 3270 is the classic 'green-screen' console (see the wikipedia article).
Code
Implementation
The 3270 data stream is not implemented within QEMU; the code only implements tn3270 (a telnet extension; see RFCs 854 and 1576) and leaves the heavy lifting to an emulator (currently only tested with x3270).
Setup
This example setup is done with a Linux guest running in an s390x-ccw-virtio machine and the x3270 emulator running on a local Linux machine.
Prereqs
Guest
- Make sure that 3270 support is enabled in the kernel. You'll need CONFIG_TN3270 and at least one of CONFIG_TN3270_TTY (for additional ttys) or CONFIG_TN3270_CONSOLE (for a 3270 console).
Host
- You need to apply the patches or use the github branch (until the code has been integrated).
Other
- You need to have a copy of the x3270 emulator (should be packaged for most Linux distributions). Other 3270 emulators have not been tested.
Starting QEMU
- Add a tn3270 chardev to your QEMU command line (machine needs to be s390x-ccw-virtio). Example:
-chardev socket,id=char_0,host=0.0.0.0,port=23,nowait,server,tn3270 -device x-terminal3270,chardev=char_0,devno=fe.0.000a,id=terminal_0
- Start QEMU. Your guest will be presented with a 3270 channel-attached device.
Guest Configuration
The guest will see the 3270 as a channel-attached device. With the example above, the device will show up as 0.0.000a.
Using 3270 as an additional tty
You can use the defined 3270 as an additional tty.
- Start the guest and log in via an alternative method (for example, via the sclp console).
- Enable the device. For the example above, use
chccwdev -e 0.0.000a
- Find the respective device node, usually under /dev/3270/.
- Start a getty on that device node, for example via
systemctl start serial-getty@3270-tty1.service
- You may want to defer this step until after you connected via x3270, or you won't see the banner.