Pergunta

Qual é a melhor maneira de configurar uma caixa Linux para escutar em sua porta serial conexões de entrada?Pesquisei bastante no Google, mas não consigo encontrar a combinação certa de comandos para realmente fazê-los falar!

Meu principal objetivo é fornecer uma interface serial para executar instâncias de VMs kvm/qemu.Atualmente, eles possuem apenas uma interface VNC (estão em servidores headless, sem X).Posso fazer com que a VM crie um dispositivo serial iniciando-o com o arquivo -serial:bandeira, mas como falar com ela é um problema totalmente diferente.Ambas as caixas estão executando o Ubuntu 8.04.

Foi útil?

Solução

O Linux Serial COMO FAZER contém muitas informações detalhadas sobre comunicação serial em geral.O mais específico COMO FAZER Console Serial Remoto Linux é o que você realmente procura se quiser fazer login em seus sistemas virtualizados usando a porta serial como se estivesse no console.Como Hein indicou, você precisará de um cabo de modem nulo e de executar o minicom no terminal remoto.

O console Linux é usado de duas maneiras, cada uma das quais deve ser configurada separadamente para uso serial.Você pode configurar o kernel para copiar suas mensagens pela porta serial, o que ocasionalmente é interessante para observar a inicialização do sistema e quase indispensável se você estiver depurando o kernel.(Isso requer suporte do kernel e atualização dos parâmetros de inicialização para que o kernel saiba que você deseja saída serial;ver capítulo 5 do segundo tutorial.) Você provavelmente está mais interessado em efetuar login através da porta serial, o que requer a execução do getty na porta serial após a inicialização (assim como seu sistema já executa o getty nos terminais virtuais após a inicialização), que é descrito em detalhe em Capítulo 6 do como fazer.

Outras dicas

Presumo que você conecte as duas portas seriais usando um cabo "modem nulo".

Use um programa como o minicom para conversar com o sistema remoto - você provavelmente precisará configurar os parâmetros de comunicação e possivelmente desligar o controle de fluxo de hardware (se o seu cabo não tiver as linhas de controle de fluxo conectadas).

Digamos que você esteja fazendo isso em /dev/tty1.

na casca

chown *youruser* /dev/tty1

então em um script Perl chamado example.pl

open PORT, "</dev/tty1" || die "Can't open port: $!";
while (defined ($_ = <PORT>))
{
 do_something($_);
}
close PORT;

Obviamente, há mais a fazer se você quiser que isso seja iniciado automaticamente e reapareça em caso de erro e assim por diante.Mas a idéia básica é ler a porta serial como um arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top