Linux内核启动常见错误

转载 2015年07月07日 10:40:50

1.不能启动kernel
Starting kernel ...
Uncompressing Linux.........................................................
.................... done, booting the kernel.
 
问题原因:可能是Bootargs参数设置错误,确认bootargs设置是否正确。


2.不能挂载nfs
eth0: link up
IP-Config: Complete:
      device=eth0, addr=192.168.167.15, mask=255.255.255.0, gw=192.168.167.254,
     host=192.168.167.15, domain=, nis-domain=(none),
     bootserver=192.168.167.170, rootserver=192.168.167.170, rootpath=
Looking up port of RPC 100003/2 on 192.168.167.170
Root-NFS: Unable to get nfsd port number from server, using default
Looking up port of RPC 100005/1 on 192.168.167.170
Root-NFS: Unable to get mountd port number from server, using default
mount: server 192.168.167.170 not responding, timed out
Root-NFS: Server returned error -5 while mounting /work/nfs/rootfs_bluetooth_omap
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
 
问题原因:这种情况通常是nfs配置问题。
确认uboot的bootargs参数里和nfs相关的ip地址信息设置是否正确,以及Host机/etc/exports配置无误,重起nfs服务,重新尝试连接。另外还需要注意bootargs内console参数的设置。kernel2.6后console最好设置为ttySAC0。 
 


       
3. 挂载根文件系统
错误现象: 
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "mtdblock0" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
错误原因: (1) root=参数指定的存放文件系统的设备不存在
          (2) 设备上没有存储文件系统(或文件系统类型操作系统不支持 或文件系统错误)
解决办法: (1) 检查root=参数设置的设备是否正确
          (2) 设备上存储的文件系统是否正确 
 
 
4.文件系统不能启动问题1
eth0: link up
IP-Config: Complete:
device=eth0, addr=192.168.167.15, mask=255.255.255.0, gw=192.168.167.254,
host=192.168.167.15, domain=, nis-domain=(none),
bootserver=192.168.167.170, rootserver=192.168.167.170, rootpath=
Looking up port of RPC 100003/2 on 192.168.167.170
Looking up port of RPC 100005/1 on 192.168.167.170
VFS: Mounted root (nfs filesystem).
Freeing init memory: 128K
/sbin/initKernel panic - not syncing: Attempted to kill init!
 
问题原因:制作的文件系统缺少运行busybox所需的libcrypt.so库,新版本会有缺库提示,老版本(1.60)没有。
注:运行一个busybox文件系统至少需要如下几个库:
ld-linux.so.x
libc.so.6
libcrypt.so.x
较新版本的busybox可能还需要
libm.so.6
libgcc_s.so.x
(x为版本号) 


5.文件系统不能启动问题2
eth0: link up
IP-Config: Complete:
device=eth0, addr=192.168.167.15, mask=255.255.255.0, gw=192.168.167.254,
host=192.168.167.15, domain=, nis-domain=(none),
bootserver=192.168.167.170, rootserver=192.168.167.170, rootpath=
Looking up port of RPC 100003/2 on 192.168.167.170
Looking up port of RPC 100005/1 on 192.168.167.170
VFS: Mounted root (nfs filesystem).
Freeing init memory: 128K
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
 
问题原因:对比一个可用的文件系统后发现,缺少了ld-linux.so.x库,文件系统里只有ld-linux.so.x的连接文件,少拷了库文件。
  
6. 启动init进程
错误现象: 
(1) Failed to execute /xxxy.  Attempting defaults...
(2) NO init found. .......
错误原因: (1) init=参数指定的程序无法启动
          (2) init=参数指定的程序有问题
              && /sbin/init不存在
              && /etc/init不存在
              && /bin/init不存在
              && /bin/sh不存在
        
解决办法: (1) 检查init=参数指定的程序是正确
           (2) 检查init=参数指定的程序是正确

linux 内核启动调试

使用printascii() 函数 调试启动信息printascii输出 1.配置内核调试 DEBUG_LL 2在需要的地方增加函数外部声明及引用 /*********************...
  • zhangxizhicn
  • zhangxizhicn
  • 2012年06月20日 18:02
  • 846

Linux 内核启动流程

转载自 http://wenku.baidu.com/link?url=KpOdULJu1CxP1swqRs_Szoyg5r_8rje4N08o4QtB5L9QlPjWesTYlrTPgkxPOriF...
  • zhqh100
  • zhqh100
  • 2015年06月18日 09:54
  • 1449

Linux内核启动地址

内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,但是该文件是由vmlinux-armv.lds.in...
  • bekars
  • bekars
  • 2006年12月18日 21:18
  • 2398

Linux内核启动参数的设置

在Linux中,给kernel传递参数以控制其行为总共有三种方法: 1.build kernel之时的各个configuration选项。 2.当kernel启动之时,可以参数在kerne...
  • g_grp
  • g_grp
  • 2016年09月12日 11:19
  • 2434

修改Linux内核启动参数

内核启动参数一般保存在   /boot/grub/menu.lst  (对应"kernel"开头的行) 或者  /boot/grub/grub.cfg (对应linux开头的行)文件中, 系统启动时由...
  • kevin1078
  • kevin1078
  • 2012年03月27日 22:22
  • 14164

嵌入式Linux内核启动参数介绍与设置

软件子系统各组成部分之间的层次与关联,怎样相互识别、配置与加载? 一、系统启动流程bootloader(uboot) ————> Linux Kernel(uImage) ————> Rootfs(...
  • head555
  • head555
  • 2017年06月14日 21:16
  • 522

《Linux内核分析》(三)——跟踪分析Linux内核的启动过程

作者:徐恒 原创作品转载请注明出处 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ” 实验环境:c+Lin...
  • FIELDOFFIER
  • FIELDOFFIER
  • 2015年08月16日 21:29
  • 1970

Linux内核启动流程笔记

一、总体流程图 根据《嵌入式Linux开发完全手册》: 二、移植一个新内核大致步骤 1.  官网下载源码,解压缩 2.  打补丁(怎么打,可以查看内核文档) 3  .配置 (1) Makeme...
  • fengel_cs
  • fengel_cs
  • 2016年01月11日 10:12
  • 1031

linux内核启动流程及busybox分析

内核版本:linux-3.4启动流程: 1、比较机器ID 2、解析u-boot传入的启动参数 3、挂接根文件系统、执行第一个应用程序1、比较机器ID 打开 vmlinux.lds.S 里面可以...
  • itdo_just
  • itdo_just
  • 2017年12月18日 15:33
  • 48

Linux内核分析(三)内核启动过程分析——构造一个简单的Linux系统

本文介绍了Linux内核的启动过程,分析了系统的关键部分代码从而可以让大家从一个大体上谅解Linux的启动过程,本人也是Linux的菜鸟级别。网络上很多的分析不太好动希望同属于初学者,这篇文章对大家有...
  • finzale
  • finzale
  • 2015年03月20日 22:33
  • 1943
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux内核启动常见错误
举报原因:
原因补充:

(最多只允许输入30个字)