首页 > 代码库 > inittab没有被执行的原因
inittab没有被执行的原因
移植文件系统,发现/etc/init.d/rcS没有被执行
而rcS应该被inittab调用
查了一下inittab也是好的,所以很纳闷,不理解是哪里的问题
后来跟踪内核发现:
init/main.c中的init_setup没有被执行
322 static int __init init_setup(char *str) 323 { 324 unsigned int i; 325 326 printk("##########[%s][%d][str:%s]\n", __FUNCTION__,__LINE__,str); 327 328 329 execute_command = str; 330 /* 331 * In case LILO is going to boot us with default command line, 332 * it prepends "auto" before the whole cmdline which makes 333 * the shell think it should execute a script with such name. 334 * So we ignore all arguments entered _before_ init=... [MJ] 335 */ 336 for (i = 1; i < MAX_INIT_ARGS; i++) 337 argv_init[i] = NULL; 338 return 1; 339 } 340 __setup("init=", init_setup);
然后查看内核打印的信息,发下有如下一行:
Kernel command line: root=/dev/mtdblock3 init=/bin/sh rootfstype=cramfs rw console=ttySAC0,115200n8
很明显,这里被逗比的改成了init=/bin/sh,实际上没有执行linuxrc,也就没有调用inittab,所以rcS也没有被执行
将bootargs修改为:
[u-boot@MINI2440]# setenv bootargs "root=/dev/mtdblock3 init=/linuxrc rootfstype=cramfs rw console=ttySAC0,115200n8"
起来后执行正常
inittab没有被执行的原因
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。