在一台非常简单的 PC 上,我想用最简单的 bash 脚本替换 Ubuntu 12.04 /sbin/init 以使运行的进程数量最少。显然,没有 X,没有 USB,没有检测到新硬件,没有升级,没有 apt,“什么都没有”,我只需要一个带有基于 DHCP 的 Wi-Fi IP 地址的工作控制台(ssid、密码短语已经存储在 /etc /网络/接口)。就这样。目前,我已经尝试用这个来代替 /sbin/init:
#!/bin/sh
mount -o rw,remount /
mount -t proc none /proc
udevd --daemon
mkdir /run/network
ifup -a &
while [ 1 ]; do
/sbin/getty -8 115200 tty1 vt100
done
它正在工作,因为我正在获取 IP 地址并且我可以登录但是:
- A)在运行关机时,我得到“关机:无法关闭系统:”
- B) control-c 在控制台中不起作用
- C)登录后,我得到:“bash:无法设置终端进程组(-1):设备的ioctl不合适”
- D) 登录后,我得到:“bash: no job control in this shell”
另外,我注意到所有用户空间进程都有一个“?” 运行 ps avx 时在 tty 列中。我该如何解决这些问题?我不想使用暴发户来真正控制在 PC 上启动的内容并拥有最低限度的最低要求。