小编Car*_*tes的帖子

如何在 ubuntu 启动时启动交互式脚本?

基于 Ubuntu core 12.04,我准备了一张可启动的 DVD。启动后(仅限控制台),我可以以用户身份登录并启动用于安装嵌入式设备的脚本:

sudo install_script
Run Code Online (Sandbox Code Playgroud)

为了在启动时执行这个脚本,我/etc/rc.local在 DVD 上的根文件系统的映像中添加了以下内容:

/bin/bash -ic install_script
Run Code Online (Sandbox Code Playgroud)

由于这个脚本是无条件执行的,我想给用户一些机会绕过安装并进入登录提示。为此,我想read在 install_script 中使用。不幸的是,从/etc/rc.local. (登录后从 shell 启动的相同脚本没有问题)。

如何在启动时获得一些用户输入?

(一些想法:

  • 也许,我可以以某种方式检测并将 tty 连接到read或连接到脚本?我试过/bin/bash -ic install_script </dev/console无济于事。
  • 也许,有更合适的选项 to/bin/bash或 to read
  • 也许,我可以root通过.bashrc调用sudo install_script(避免检查 sudo 的密码?)启动到某个用户的单个 shell(也许,无需登录?)?
  • 也许,存在一个更好的地方来调用脚本?
  • 我不想将交互(更早发生)和 install_script(例如,通过 isolinux 提供不同的引导选项并/proc/cmdline在脚本中检查)分开,原因如下:在询问用户之前,我想检查系统并概述安装过程中究竟会发生什么。在引导过程的早期阶段,可能还不容易获得用于检查系统的必要信息。

)

boot script tty interactive ubuntu

5
推荐指数
1
解决办法
1万
查看次数

如何引导到作为分区映像文件存储在可引导 DVD 上的根文件系统?

我创建了从USB记忆棒可引导CD(根据这个从Ubuntu的核心12.04建成例如)通过

  • 将U盘启动分区(包含vmlinuz和initrd.img)的文件复制到一个文件夹中CD_root/
  • 将 isolinux 添加到该文件夹​​(根据这些说明
  • rootfs.partU 盘根分区的映像复制到文件夹中,然后
  • 使用 mkisofs。

如何从 DVD 引导到根分区的映像?

问题的更多细节和更精确的版本:

我可以开始引导到 init 脚本(在 Ubuntu 12.04 主机上使用 virtualbox):使用内核参数,break=mountroot我可以rootfs.part在安装映像之前放入shell并插入:

mkdir /run/cdrom
mount -t iso9660 /dev/sr0 /run/cdrom
losetup /dev/loop0 /run/cdrom/rootfs.part
mount -o ro /dev/loop0 /root
Run Code Online (Sandbox Code Playgroud)

我怎样才能自动实现这部分(或其挂载 /root 的要点)?我是否必须修补initrd.img(如何)或是否有其他选项,例如内核参数?

此时,里面的文件rootfs.partroot/. (它们包括/root/sbin/init, /root/sbin/modprobe, root/lib/modules/*, ...)我尝试继续并模拟 init 脚本的正常处理(当然有点脱离上下文):

udevadm control --timeout=121 --exit
mount -n -o move /dev /root/dev
mount -n -o …
Run Code Online (Sandbox Code Playgroud)

boot dvd mount initrd ubuntu

2
推荐指数
1
解决办法
6432
查看次数

标签 统计

boot ×2

ubuntu ×2

dvd ×1

initrd ×1

interactive ×1

mount ×1

script ×1

tty ×1