web-dev-qa-db-ja.com

ユビキタスでearly_commandを使用する方法

自動インストールを実行しようとしていますが、いくつかのコマンドをできるだけ早く実行する必要があります。そこで、USBインストールメディア(Ubuntu 16.04)を変更して追加しました。

menuentry "Install automatically" {
    set gfxpayload=keep
    linux   /casper/vmlinuz.efi file=/cdrom/auto.seed preseed/early_command=/cdrom/early.sh boot=casper auto=true automatic-ubiquity debug-ubiquity  quiet splash ---
    initrd  /casper/initrd.lz
}

これはここで説明されています: https://wiki.ubuntu.com/UbiquityAutomation そしてここ https://wiki.ubuntu.com/DesktopCDOptions

Early.shファイルは、auto.seedファイルとしてUSBスティックにあります(これは正常にロードされます)。しかし、early.shスクリプトが実行されないようです。

ライブシステムにファイルをコピーしたいだけです。

#!/bin/bash
cp /cdrom/wlan /root/etc/NetworkManager/system-connections/wlan;
chmod 0600 /root/etc/NetworkManager/system-connections/wlan;

上記のリンクで説明したように、/ rootをプレフィックスとして付けました。私も試しました:

#!/bin/bash
touch /root/test

Partmanが実行される前にインストールを停止すると、通常のLive Desktopが表示され、コンソールを開いて/root/test。しかし、私はしません。

/ var/log/syslogを見ていて、ブートパラメータは表示されますが、early_commandに関するログ行は表示されません

私のpreseedファイルには、次のような行が含まれています。

d-i preseed/early_command string in-target touch /root/test

この状況をデバッグするにはどうすればよいですか?何度も何度もやり直すのは面倒です。

2
Janning

ユビキタスでは、early_commandとlate_commandは単に機能していません。だから私は今のようなものを使用しています

ubiquity  ubiquity/success_command string \
  cp /cdrom/script /target/root/; \
  chmod 0700 /target/root/script; \
  in-target /root/script; \

これらのコマンドは正常に機能し、再起動する前にWi-Fiをセットアップし、インストールにその他の修正を行います。

1
Janning