netconsole
次のドキュメントを使用して、ローカルネットワークのイーサネットインターフェイスを介して他のデバイスにカーネルブートメッセージを記録しようとしています。https://www.kernel.org/doc/Documentation/networking/netconsole.txt、私から始めました回答別の問題。
私はネットワークを設定するまでDebian Netinstallを介してip address
インターフェイスがenp2s0
、IPアドレスが192.168.88.17
、MACであることを知りましたd0:50:99:83:4d:25
。 IPがリースのままであることを確認するために、ルータのインターフェイスを開きました。
再起動し、カーネルの起動パラメータを修正しました。
setparams 'Graphical install'
set background_color=black
linux /install.amd/vmlinuz vga=788 --- quiet
initrd /install.amd/gtk/initrd.gz
到着する:
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
F10このパラメータで始まります。すぐにsyslog
USBドライブにコピーしました。もう一度読みました。カーネルパラメータが承認されたことをsyslog
示します。cat /proc/cmdline
始める前にターゲットFedoraワークステーションからnc -u -l 6666
ポートを聞いていましたが、何も表示されませんでした。
vga=788
削除して追加してみましたが、ignore_loglevel
まだメッセージがありません。
lsof
Debian Netinstall では使用できません。
正しくするには何を確認する必要がありますか?問題を引き起こす同様のイメージを使用できるように、まずDebian Netinstallを使用してこれを試しました。
テストするためにネットワークの設定中に実行中のDebian Netinstallを呼び出してみましたが、netconsole
次のメッセージを受け取りました。
~ # 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
netconsole
Debian Netinstallにはまったく含まれていないようです。カーネルブートメッセージを受信するための他のオプションは何ですか?
ベストアンサー1
ログはDebianインストーラを実行しているコンピュータから入手できますssh
。たとえば、これによりsyslog
GRUB2画面でのみ機能し、カーネルが起動した後に機能しないUSBキーボードを搭載したコンピュータから情報を取得できます。これにはnetwork-console
事前シーディングが必要です。 GRUB2は、直接カーネルブートパラメータにURLを追加して、ローカルネットワークを介してプロビジョニングすることにしました。他のプロビジョニング方法は Debian インストーラのドキュメントに記載されています。私に役立つプリセットプロファイルは次のとおりです。
$ cat ~/www/preseed.cfg
# It is necessary to define language settings for ssh to run.
# By example from: https://www.debian.org/releases/bookworm/example-preseed.txt
d-i debian-installer/locale string en_US
d-i keyboard-configuration/xkb-keymap select us
# By example from: https://wiki.debian.org/DebianInstaller/NetworkConsole
d-i anna/choose_modules string network-console
d-i preseed/early_command string anna-install network-console
d-i network-console/password-disabled boolean true
d-i network-console/authorized_keys_url string http://192.168.88.15:8000/id_rsa.pub
ネットワークのマシンで提供されます。
$ hostname --all-ip-addresses
192.168.88.15
$ cp ~/.ssh/id_rsa.pub ~/www/
$ cd ~/www
$ python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
192.168.88.17 - - [24/Jun/2023 01:21:19] "GET /preseed.cfg HTTP/1.1" 200 -
192.168.88.17 - - [24/Jun/2023 01:22:38] "GET /id_rsa.pub HTTP/1.1" 200 -
これは、ssh
公開鍵をid_rsa.pub
RSAのデフォルト値として保存したと仮定します。最後の2行は、提供された構成ファイルと後続の構成へのターゲットコンピューターにアクセスするための公開鍵ですnetwork-console
。セットアッププログラムがDHCPを使用してネットワーク接続を自動的に設定し、プロビジョニングプロファイルをロードするようにするには、プロビジョニングプロファイルのURLをクリックしてeそれをLinuxカーネルパラメータに追加するだけです。auto=true priority=critical url=
Debian Netinstallインストーラの起動オプションは次のとおりです。
setparams '... Automated install '
set background_color=black
linux /install.amd/vmlinuz auto=true priority=critical url=192.1\
68.88.15:8000/preseed.cfg vga=788 --- quiet
initrd /install.amd/initrd.gz
Trisquel Netinstall インストーラの他の内容は次のとおりです。
setparams '... Automated install'
set background_color=black
linux /linux auto=true priority=critical url=192.168.88.15:8000/preseed.cfg vga=7\
88 --- quiet
initrd /initrd.gz
Debian では、firmware=never
ネットワーク構成のために無料でないファームウェアをインストールする必要がある手順をスキップしたいかもしれませんが、これを GRUB メニュー項目にカーネルブートパラメータとして追加しても効果はありませんでした。 Trisquelは無料ではないファームウェアを提供しないため、Trisquelには必要ありません。Help
GRUB2メニューオプションがある場合は、boot
プロンプトでそれを事前設定できます。
boot: /install.amd/vmlinuz vga=788 initrd=/install.amd/gtk/initrd.gz auto=true priority=critical url=192.168.77.15:8000/preseed.cfg ---
この行は次の例に従います。https://www.debian.org/releases/stable/amd64/apbs02.en.html#preseed-bootparms-examples
上記は、コンピュータに選択できるネットワークデバイスがあると想定しています。そうしないと、インストーラがどちらを選択するかを尋ねるメッセージを一時停止できます。
ssh
ユーザーとしてシステムを入力してくださいinstaller
。 HTTPサーバーの出力からIPアドレスを取得できます。
$ ssh [email protected]
network-console
端末はすぐに使用できません。代わりに、通常どおりインストールプロセスを続行するかターミナルに入るかを含め、3つのオプションのいずれかを選択するように求められます。この設定では機能しませんscp
。sftp
$ scp -i ~/.ssh/id_rsa.pub [email protected]:/var/log/syslog ~/
subsystem request failed on channel 0
scp: Connection closed
$ $ sftp -o IdentityFile=~/.ssh/id_rsa.pub [email protected]
subsystem request failed on channel 0
Connection closed
$ ssh [email protected] 'tar -C /var/log -cf - syslog' > ~/syslog.tar
$ cat ~/syslog.tar
Must be connected to a terminal.
$ mkdir ~/net
$ sshfs [email protected]:/ ~/net/ -v
subsystem request failed on channel 0
read: Connection reset by peer
nano /var/log/syslog
ログ画面を画面別にコピーして使用しました。
Ncatにコピーしてくださいsyslog
!これを開き、コンピュータのポートでリッスンし、出力をファイルにリダイレクトします。
$ nc -l 6666 > syslog
開いたままにしてリモートコンピュータに接続します。
$ ssh [email protected]
選択するStart shell
。リモートポートにログを送信します。
~ # cat /var/log/syslog | nc 192.168.88.15 6666