実行しているコンピュータからシリアル番号を抽出できることはわかっていますが
dmidecode -t system
、Debian の事前シードインストールを実行する際にはどうすればよいですか?dmidecode
このコマンドはまだ使用できません。ディストリビューションのインストール時にインストール/実行は可能ですか?
答え1
たとえば、ホスト名に製品のシリアル番号を割り当てる方法は次のとおりです。
# preseed.cfg
d-i preseed/early_command string \
debconf-set netcfg/get_hostname "$(cat /sys/class/dmi/id/product_serial)"
d-i netcfg/get_hostname seen true
preseed.cfg
これは、関連するDMIエントリを取得するためにUbuntuインストーラで使用する関連部分です。
使ってみましたがdmidecode
…
anna/choose_modules string dmidecode-udeb
(明らかに)「microdeb」を十分に早くインストールできませんでした。preseed/early_command string anna-install dmidecode-udeb
返品インストール失敗
pkgsel/include string dmidecode
したターゲットにパッケージをインストールしますが、後ろにネットワーク構成preseed/late_command string in-target
以下のsed -i "s/dummyhostname/$(dmidecode -s system-serial-number)/g"
ファイルを試してみましたが、/etc/
今後はもっと多くの場所でホスト名を探しています。
答え2
環境と特定の要件に応じて:
- Syslinuxを介してインストーラを起動した場合は、
SYSAPPEND 0x80
それをカーネルコマンドラインに配置できます。 - または、インストーラ環境で使用できるように
anna/choose_modules
プロビジョニングすることもできます。dmidecode-udeb
- あるいは、シリアル番号を解析することもできます
/sys/firmware/dmi/entries/1-0/raw
(ただしこれはバイナリです)。 - あるいは、
pkgsel/include
ターゲットシステムにプレインストールして使用することもできます。