在安装Debian之前运行脚本使用preseed完成

时间:2015-03-01 20:00:54

标签: linux debian initrd

我正在尝试在Debian Wheezy安装完成之前运行一个脚本。我知道" d-i preseed / late-command",即。在安装完成之前使用run命令。但我遇到了一个问题。我无法弄清楚在iso文件中复制脚本的位置。我尝试了两种方法:

  1. 我尝试将我的脚本复制到initrd.gz的根目录中 (/install.386/initrd.gz)文件并进行了以下更改 preseed.cfg:d-i preseed/late-command in-target sh /my_script.sh
  2. 我还尝试将我的脚本复制到iso的根目录中 文件并在preseed.cfg中执行了以下更改:d-i preseed/late-command in-target sh /media/cdrom/my_script.sh
  3. 那么,在哪里复制文件(在我的脚本中这里),以便我可以在后期命令中使用它?

1 个答案:

答案 0 :(得分:0)

此解决方案基于以下事实:您使用 USB 安装操作系统,并且您将在 USB 的根目录中有一个名为 files 的文件夹,您将在其中拥有文件 preseed.cfg和一个名为 run.sh 的可执行文件。

此命令会将文件 run.sh 复制到用户 root 的根目录下,然后在那里执行脚本。

d-i preseed/late_command string cp /cdrom/files/run.sh /target/root/; chmod +x /target/root/run.sh; in-target /bin/bash /root/run.sh

此后您可以使用 rm 删除文件。您也可以直接从 USB 运行脚本(无需复制),但经过一些测试,我证实它会导致人为错误