Comutador de fluxo aberto em Bricked com U-Boot

0

Eu tenho uma pergunta complicada e me pergunto se alguém tem uma solução para isso.

Eu tenho um switch openflow aqui que usa o u-boot como bootloader. Tem um sistema Linux principal que executa o software do switch. Em seguida, ele também tem outro sistema de backup, que é usado para atualizar o sistema principal, para que você não precise mexer em um sistema em execução.

O procedimento usual de atualização é renomear o / boot / uImage, então o u-boot não pode mais encontrá-lo e não faz autoboot. Agora você usa o u-boot para inicializar manualmente no sistema de backup, que está em / dev / sda2. Agora você monta / dev / sda1, onde o sistema principal reside. Você exclui tudo de / dev / sda1, extrai a nova imagem do sistema e a extrai para / dev / sda1. Isso inclui um novo / boot / uImage, assim que você reiniciar os autobots no novo sistema.

Meu problema é que, durante tudo isso, algo deu errado. Eu acho que houve algum dano no arquivo ao descompactar a nova imagem.

Agora, o u-boot inicializa a nova imagem, mas essa não aparece totalmente. As principais coisas que faltam são o shell ao conectar via serial, ssh e telnet, então não há como emitir comandos para o sistema Linux.

Também o u-boot tem um bootdelay de 0, o que significa que eu não posso abortar o autoboot.

Eu tentei segurar CTRL-C, CTRL-B ou CTRL-U durante a inicialização (como o Google me disse), mas nenhum deles abortou o autoboot.

Você tem alguma idéia do que mais eu posso tentar parar autoboot?

Eu já o tinha aberto, o armazenamento está diretamente a bordo, não há como desconectar o armazenamento.

    
por Dakkaron 16.10.2014 / 15:10

1 resposta

0

A solução foi bastante estúpida e simples, mas o Google não me contou. Tudo que eu precisava fazer era pressionar (não segurar) CTRL-C e rapidamente depois disso CTRL-U durante a inicialização. Pode ser apenas uma placa, mas funcionou aqui.

    
por 24.10.2014 / 17:20

Tags