web-dev-qa-db-ja.com

initrdルートにインストールされたpreseed.cfgがUbuntuのインストールで認識されない(17.10 AMD64デスクトップまたはサーバー)

私はしばらくの間、Debian ISOのinitrdをpreseedするプロセスを使用しています。 Ubuntu 17.10 ISOのデスクトップバリアントとサーバーバリアントで同じプロセスを試したところ、起動してすべてのインストーラーが正常に表示され、インストーラーがpreseed.cfgをinitrdに配置したことを示す兆候がまったくありません。たとえば、私のpreseed.cfgに次のようなものがあるとしても、インストーラーは最初にどの言語/ロケールを要求します。

d-i debian-installer/locale string en_US.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us
d-i debian-installer/keymap select us
d-i keymap select us
d-i keyboard-configuration/xkb-keymap select us

すべてのF *キーオプションを調べましたが、Debianインストーラーの「自動インストール」に匹敵するオプションを見つけることができませんでした。initrdを解凍し、ルートでpreseed.cfgを探して使用します。質問。 buntu preseeding docs Ubuntu preseedingが同じように機能することを確認して、次のように述べます:

…事前設定ファイルが読み込まれて処理されるポイント。 initrd preseedの場合、これはインストールの開始時、最初の質問が尋ねられる前でさえあります。

Ubuntu ISOとDebian ISOの違い、およびinitrdを介してそれらをpreseedするプロセスに基づいて何が問題になるのかについて、役立つヒントはありますか?

これらのページ( ここここ 、および ここ )は、新しいデスクトップISOはプレシードできないと報告されており、サーバーISOは「より良い」仕事。そのため、17.04(および17.10)サーバーをダウンロードし、それを使用してテストを繰り返し、同じ動作を得ました。

FTR、私が使用しているinitrdにpreseed.cfgを埋め込むプロセスは Debian Wiki から引用したものです。具体的には、ISOをマウントする「isofiles」アプローチを使用しています(私はudevilを使用しています)、ファイルをローカルストレージにコピーしてから、 preseedファイルをinitrdに追加 します。

私が言ったように、このプロセスはDebian ISOにはうまく機能しますが、私が試したデスクトップまたはサーバーのUbuntu ISOにはまったく機能しないようです。

buntuヘルプ は、私の仮定が有効であることを確認します。

Initrd preseedingを使用している場合は、preseed.cfgという名前のファイルがinitrdのルートディレクトリに含まれていることを確認するだけで済みます。インストーラーは、このファイルが存在するかどうかを自動的にチェックし、ロードします。

次に私が試したのは、preseed.cfg公式のUbuntu Ubuntuシードファイル と比較して、異なるpreseedディレクティブを使用/サポートしているd-iおよびUbuntuインストーラーに問題がないかどうかを確認することです。あまり違いはありませんでした。確かに、17.10サーバーISOのinitrdに 公式の例Ubuntuプレシードファイル を逐語的にインストールしましたが、結果のインストーラでは、プレシードがないかのように質問に答える必要があります。すべて。

1
timblaktu

サーバーで、langの質問に答えるために、ブートメニューのオプションとしてauto=trueを追加します。

auto=trueを使用したpxeメニューの例を次に示します(grubメニューも同様です)。

label install
    menu default
    menu label ^Preseed Install
    kernel ubuntu-installer/AMD64/linux
    append auto=true vga=normal initrd=ubuntu-installer/AMD64/initrd.gz 

https://wiki.debian.org/DebianInstaller/Preseed#Loading_the_preseeding_file_from_a_webserver から取得:

「auto」コマンドは、自動モードでインストールを起動します。ホスト名、ロケール、およびキーマップの構成は、ネットワークからロードされたpreseedファイルから応答できるように延期されます。 "install url = ..."を使用することもできますが、preseed構成の内容に関係なく、これらの質問に手動で回答する必要があります。サーバーパスが指定されていない場合は、パス 'd-i // preseed.cfg'が試行されます(例:d-i/stretch/preseed.cfg)。 preseedファイルをフェッチする前にネットワークを構成する必要があるため、ネットワーク構成オプション(netcfg/*)はネットワークに読み込まれたpreseed.cfgファイルを介して適用できないことに注意してください。ネットワーク構成オプションを宣言する必要がある場合、必要なオプションがカーネルオプションとして渡されています(netcfg/choose_interface = eth0など)。

1
Dennis Hoer