相关疑难解决方法(0)

init 究竟做了什么?

我正在创建一个 linux 发行版,现在我需要一个 init 程序。我可以很好地用 c 编写代码,而且我对 linux 了解很多(虽然不多,但我已经使用 arch linux 进行了 4 年的开发),所以我想我应该尝试用 C 编写我自己的基本初始化脚本。我是只是想知道,init 做了什么任务来为一个简单的 shell 设置系统?(当我问“init 有什么作用?”时,我确实知道 init 是什么以及它的用途。我只是不知道它做了什么任务。)

我不需要代码,我什至可能不需要基本命令,但我确实需要它们运行的​​顺序。

linux startup init

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

bash:此 shell 中没有作业控制

我有一个最小的 Linux 系统。

INIT是/bin/bash,只有最低限度以库/lib//dev/静态填充,没有运行的守护进程(无udev的,..)

当 bash 启动时,我收到以下错误:

bash: cannot set terminal process group (-1) inappropriate ioctl for device
bash: no job control in this shell
Run Code Online (Sandbox Code Playgroud)

当我用 strace 启动 bash 时,我得到以下输出:

rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/dev/tty", O_RDWR|O_NONBLOCK)     = -1 ENXIO (No such device or address)
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0

....

readlink("/proc/self/fd/0", "/dev/console"..., 4095) = 12
stat("/dev/console", {st_mode=S_IFCHR|0600, st_rdev=makedev(5, 1), ...}) = 0
open("/dev/console", O_RDWR|O_NONBLOCK) = …
Run Code Online (Sandbox Code Playgroud)

bash terminal tty ioctl

8
推荐指数
1
解决办法
9198
查看次数

尝试在基于 runit 的 linux 安装中运行 agetty 时出错

我试图在基于 runit 的 linux 系统中运行 agetty,但我有以下问题

sh: cannot set terminal process group (136) Inappropriate ioctl for device
sh: no job control in this shell
Run Code Online (Sandbox Code Playgroud)

我对这个错误一无所知,你有什么想法吗

运行 agetty 的脚本是

#!/bin/sh
exec /sbin/agetty 38400 tty1 linux --noclear
Run Code Online (Sandbox Code Playgroud)

任何帮助都会很好。

linux init-script tty runit

4
推荐指数
1
解决办法
1218
查看次数

标签 统计

linux ×2

tty ×2

bash ×1

init ×1

init-script ×1

ioctl ×1

runit ×1

startup ×1

terminal ×1