gpt4 book ai didi

linux - 如何检查/init是否启动/etc/inittab

转载 作者:太空宇宙 更新时间:2023-11-04 11:55:56 25 4
gpt4 key购买 nike

我有一个带有处理器 AT91SAM9G45 的嵌入式 ARM 系统。

系统由两部分组成:

  1. Linux 内核 (4.14.79)
  2. Busybox 1.29.3 作为 initramfs 镜像。

我使用腻子连接到设备并连接到串行端口。

当内核启动时,一切正常。内核解压 initramfs 镜像,找到并列出所有文件(我通过调试消息看到它)。但是当它启动/init 时,日志消息是:

Freeing unused kernel memory: 384K
This architecture does not have kernel memory protection.
run_init_process BEFORE /init
run_init_process AFTER /init, result = 0
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

/init 是/bin/busybox 的符号链接(symbolic link)。我尝试将/init 替换为/sbin/init、/bin/busybox、/linuxrc,但结果是一样的。

/etc/inittab 文件:

# Begin /etc/inittab

id::initdefault:

si::sysinit:/etc/init.d/rc S

#l0::wait:/etc/rc.d/init.d/rc 0
#l1::wait:/etc/rc.d/init.d/rc 1
#l2::wait:/etc/rc.d/init.d/rc 2
#l3::wait:/etc/rc.d/init.d/rc 3
#l4::wait:/etc/rc.d/init.d/rc 4
#l5::wait:/etc/rc.d/init.d/rc 5
#l6::wait:/etc/rc.d/init.d/rc 6

ca::ctrlaltdel:/sbin/shutdown -t1 -a -r now

su::once:/sbin/sulogin

1::respawn:/sbin/getty ttyS1 115200
2::respawn:/sbin/getty ttyS2 115200
3::respawn:/sbin/getty ttyS3 115200
4::respawn:/sbin/getty ttyS4 115200
5::respawn:/sbin/getty ttyS5 115200
6::respawn:/sbin/getty ttyS6 115200

# End /etc/inittab

/etc/init.d/rcS文件(允许执行此文件):

#!/bin/busybox sh
echo "Hello world!"

我不知道即使/init 进程开始解析/etc/inittab 还是由于某些我无法找出的原因它在获取/etc/inittab 之前就失败了。也许有我的/etc/inittab 和/etc/init.d/rcS 文件中有一些错误。也许终端有一些错误(/etc/init.d/rcS 无法写入标准输出,因为它被阻塞、暂停、被另一个进程使用等等)。

如何确定/etc/inittab 已经启动?

最佳答案

欢迎来到 StackOverflow。我看到 rc 和 S 之间有空格si::sysinit:/etc/init.d/rc S

改成

si::sysinit:/etc/init.d/rcS

让我知道它是否有效。

关于linux - 如何检查/init是否启动/etc/inittab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54320960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com