内核启动参数中的 root、rootwait、console 和 init 分别影响什么?
root 指定根文件系统设备或标识,rootwait 等待异步出现的根设备,console 决定内核控制台,init 指定首个用户态程序。根挂载失败还取决于存储驱动、文件系统驱动和设备枚举是否内建。
Question Bank
按知识、方向与难度筛选;每道题都有分层回答和工程追问。
root 指定根文件系统设备或标识,rootwait 等待异步出现的根设备,console 决定内核控制台,init 指定首个用户态程序。根挂载失败还取决于存储驱动、文件系统驱动和设备枚举是否内建。
主机用目标 IP 与本机掩码判断是否同一 On-link 子网;同网段解析目标 MAC,不同网段查路由并解析下一跳网关 MAC。ARP 只在本地链路解析 IPv4 到链路地址,不会查询远端最终主机。
子节点 reg 的单元数量由父节点的 #address-cells/#size-cells 决定,地址先处于父总线地址空间,再通过 ranges 映射到上一级。空 ranges 表示地址一一对应;缺失与空值语义不同。
流式 Socket API 返回本次接受到内核发送缓冲的字节数,不保证等于请求长度,也不代表对端应用已经处理。信号、超时、非阻塞 EAGAIN 和缓冲压力都要求维护偏移并重试。
用户地址可能无效、跨页、并发改变或触发缺页,内核必须用 uaccess API。copy_from_user/to_user 返回未复制的字节数而不是负 errno,非零通常转换为 -EFAULT;复制后仍要验证长度、枚举和溢出。
消费者设备已被枚举但它依赖的供应者驱动尚未就绪时,可返回 -EPROBE_DEFER,内核稍后在依赖条件变化时重试。驱动必须让每次失败路径可重复、无泄漏,并区分真正配置错误与暂时未就绪。
hrtimer 在原子上下文快速记录时间、更新轻量状态或排队后续工作,不能睡眠;Workqueue 在进程上下文执行可阻塞或耗时处理。周期 hrtimer 应依据原计划到期点 forward,避免处理耗时造成累积漂移。
先用复位原因、Fault 快照、供电和关键 IO 波形区分电源跌落、复位脚耦合、时钟失锁、总线毛刺和软件异常。硬件检查回流、屏蔽、滤波、TVS 与布局,软件增加输入校验、超时恢复和持久化原子性。