netconsoleを使用したnetinstallイメージの開始履歴

netconsoleを使用したnetinstallイメージの開始履歴

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このパラメータで始まります。すぐにsyslogUSBドライブにコピーしました。もう一度読みました。カーネルパラメータが承認されたことをsyslog示します。cat /proc/cmdline

始める前にターゲットFedoraワークステーションからnc -u -l 6666ポートを聞いていましたが、何も表示されませんでした。

vga=788削除して追加してみましたが、ignore_loglevelまだメッセージがありません。

lsofDebian 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

netconsoleDebian Netinstallにはまったく含まれていないようです。カーネルブートメッセージを受信するための他のオプションは何ですか?

ベストアンサー1

ログはDebianインストーラを実行しているコンピュータから入手できますssh。たとえば、これによりsyslogGRUB2画面でのみ機能し、カーネルが起動した後に機能しない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.pubRSAのデフォルト値として保存したと仮定します。最後の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には必要ありません。HelpGRUB2メニューオプションがある場合は、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つのオプションのいずれかを選択するように求められます。この設定では機能しませんscpsftp

$ 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

おすすめ記事