Estou tentando registrar mensagens de inicialização do kernel por meio da interface ethernet pela rede local para outro dispositivo usando netconsole
o seguinte documento: https://www.kernel.org/doc/Documentation/networking/netconsole.txt , que recebi de uma resposta para outra pergunta.
Passei pelo Debian Netinstall até a rede ser configurada, depois aprendi com ip address
que a interface é enp2s0
, o endereço IP é 192.168.88.17
, e o MAC é d0:50:99:83:4d:25
. Abri a interface do roteador para verificar se o IP está mantido alugado.
Reiniciei e modifiquei os parâmetros de inicialização do kernel de:
setparams 'Graphical install'
set background_color=black
linux /install.amd/vmlinuz vga=788 --- quiet
initrd /install.amd/gtk/initrd.gz
para:
setparams 'Graphical install'
set background_color=black
linux /install.amd/vmlinuz vga=788 [email protected]/enp\
2s0,[email protected]/14:f6:d8:b3:99:5d
initrd /install.amd/gtk/initrd.gz
e pressione F10para inicializar com esses parâmetros. Eu imediatamente copiei syslog
para uma unidade USB. Eu olhei através dele. O syslog
e cat /proc/cmdline
mostram que os parâmetros do kernel são aceitos.
Antes de inicializar, na estação de trabalho do Fedora de destino, eu nc -u -l 6666
ouço na porta, mas nada aparece.
Tentei remover vga=788
e adicionar ignore_loglevel
, mas ainda não há mensagem.
Não há lsof
no Debian Netinstall.
O que devo verificar para corrigir? Estou tentando fazer isso com o Debian Netinstall primeiro para poder fazer com uma imagem semelhante que causa problemas.
Para testar, tentei invocar netconsole
em um Debian Netinstall em execução quando a rede está configurada, mas recebo o seguinte.
~ # insmod netconsole neconsole=@/,@192.168.88.21/
insmod: ERROR: could not load module netconsole: No such file or directory
~ # modeprobe netconsole
modprobe: FATAL: Module netconsole not found in directory /lib/modules/5.10.0-22-amd64
~ # lsmod | grep console
Parece que netconsole
não está incluído no Debian Netinstall. Quais são minhas outras opções para obter as mensagens de inicialização do kernel?
É possível obter os logs de um computador executando o instalador Debian em
ssh
. Por exemplo, isso me permitiu obtersyslog
de um computador com um teclado USB funcionando apenas na tela do GRUB2, mas não funcionando após a inicialização do kernel. Para isso, onetwork-console
precisa ser pré-configurado. Optei por pré-configuração na rede local adicionando um URL aos parâmetros de inicialização do kernel diretamente no GRUB2. Outras formas de pré-configuração estão disponíveis na documentação do instalador Debian. Aqui está o arquivo de configuração de preseeding que funcionou para mim:É servido a partir de uma máquina na rede:
Isso pressupõe que você tenha sua
ssh
chave pública salva comoid_rsa.pub
, que é o padrão para RSA. As duas últimas linhas são a máquina de destino acessando o arquivo de pré-configuração servido e a chave pública ao configurarnetwork-console
posteriormente. Para fazer com que o instalador configure automaticamente a conexão de rede com DHCP e carregue o arquivo de pré-configuração, deve ser suficiente clicar ee adicionar os parâmetros do kernel do Linuxauto=true priority=critical url=
com uma URL para o arquivo de configuração de pré-configuração. Aqui está como minha opção de inicialização parecia com isso no instalador do Debian Netinstall:Aqui está outro no instalador do Trisquel Netinstall:
No Debian,
firmware=never
também pode ser necessário ignorar a solicitação de instalação de firmware não livre para configuração de rede, mas adicioná-lo como um parâmetro de inicialização do kernel em um item de menu do GRUB não teve nenhum efeito para mim. Não é necessário no Trisquel porque o Trisquel nunca oferece firmware não-livre. Se você tiver aHelp
opção de menu GRUB2, é possível pré-configurar noboot
prompt:Esta linha segue exemplos de: https://www.debian.org/releases/stable/amd64/apbs02.en.html#preseed-bootparms-examples
O acima assume que você tem um dispositivo de rede na máquina para escolher. Caso contrário, o instalador pode fazer uma pausa para perguntar qual escolher.
ssh
na máquina como usuárioinstaller
. Você pode aprender o endereço IP apenas da saída do servidor HTTP.O
network-console
não fornece um terminal imediatamente. Em vez disso, ele pede que você escolha uma das três opções, incluindo se deseja continuar o processo de instalação normalmente ou entrar no terminal.scp
esftp
não funcionam nesta configuração.Useinano /var/log/syslog
e copiei o log tela por tela.Você pode copiar o
syslog
com Ncat! Abra-o para ouvir em uma porta do seu computador e redirecione sua saída para um arquivo.Mantenha-o aberto e conecte-se à máquina remota.
Escolha
Start shell
. Envie o log para a porta remota.