From: Richard T. <rj...@th...> - 2004-04-30 11:40:50
|
Hi I am trying to script a communication with a UML. The UML has a console on a pty using 'con1=tty:/dev/ptyz0' on the command line. The problem I am having is that my script works once and only once. I open the pty, read and write to it and then close it fine. But if I reopen the pty there is no getty running on the other end, so no login prompt. Is there something that I need to do to 'reset' the console/pty so that a new getty is spawned? The script is really simple, so here it is: import os import pexpect fd = os.open("/dev/ttyz0", os.O_RDWR|os.O_NONBLOCK|os.O_NOCTTY) m = pexpect.spawn(fd) m.send('\r\n') m.expect('login:') m.send('root\n') m.expect('Password:') m.send('mypasswd\n') m.expect('root #') m.send('ls /\n') m.expect('root #') m.send('exit\n') os.close(fd) Any pointers would be much appreciated. Richard -- You can normally find me on Jabber as Ric...@ja... |
From: Paul W. <pd...@ex...> - 2004-04-30 14:12:34
|
On Fri, Apr 30, 2004 at 12:40:37PM +0100, Richard Taylor wrote: > I am trying to script a communication with a UML. The UML has a console on a > pty using 'con1=tty:/dev/ptyz0' on the command line. > > The problem I am having is that my script works once and only once. I > open the pty, read and write to it and then close it fine. But if I > reopen the pty there is no getty running on the other end, so no login > prompt. Is there something that I need to do to 'reset' the > console/pty so that a new getty is spawned? Is this the console where the system console appears at boot time? There is a known issue with UML whereby a console set up to display the output of init will not respawn after the pty is closed. Try setting up a second pty on con2 and running a getty on that. Paul |
From: Richard T. <rj...@th...> - 2004-04-30 16:23:08
|
Paul On Friday 30 April 2004 15:12, Paul Warren wrote: > <snip> > > Is this the console where the system console appears at boot time? No I am mapping con0=fd:0,fd:1 so the boot console is on the current terminal. I have tried mapping con1=tty:/dev/ptyz0 and con2=tty:/dev/ptyz1. If I try my script I get the same effect on both ptys, it runs once fine but if I try to run it again there is no login prompt on the pty. > There is a known issue with UML whereby a console set up to display the > output of init will not respawn after the pty is closed. > Hmm, maybe the problem extense to other pty's as well. Is there any way I can check if this is the same problem? Thanks for the help. Richard -- You can normally find me on Jabber as Ric...@ja... |
From: Paul W. <pd...@ex...> - 2004-05-01 09:04:31
|
> > Is this the console where the system console appears at boot time? > > No I am mapping con0=fd:0,fd:1 so the boot console is on the current terminal. > I have tried mapping con1=tty:/dev/ptyz0 and con2=tty:/dev/ptyz1. If I try my > script I get the same effect on both ptys, it runs once fine but if I try to > run it again there is no login prompt on the pty. > > > There is a known issue with UML whereby a console set up to display the > > output of init will not respawn after the pty is closed. > > Hmm, maybe the problem extense to other pty's as well. Is there any way I can > check if this is the same problem? As I understood it, this only applies to the boot console. Have a look at: http://marc.theaimsgroup.com/?l=user-mode-linux-user&m=106834287519030&w=2 Paul |