您的位置 首页 解答

嵌入式Linux发动过程中的问题堆集

1BadMagicNumberBootingimageat33000000BadMagicNumberOMAP5912OSK(tftp下载好kernel的uImage后就停止在这

1.Bad Magic Number

## Booting image at 33000000 …

Bad Magic Number

OMAP5912 OSK #(tftp下载好kernel的uImage后就中止在这,不能发动kernel)

问题原因:发动参数设置过错,0x30000000处不能够履行。

有的开发板sdram不是在0x33000000,所以不能把kernel uImage下载到0x33000000中运转。如我之前的bootcmd参数为:setenv bootcmd tftpboot 33000000 uImage/; bootm 33000000。但板子Omap5912的sdram地址在0x100000000,将参数改为setenv bootcmd tftpboot 10000000 uImage/; bootm 10000000后便能够发动kernel了。

2.发动中止在”Starting kernel …”

TFTP from server 192.168.167.170; our IP address is 192.168.167.15

Filename uImage

Load address: 0x10000000

Loading: #################################################################

#################################################################

done

Bytes transferred = 2025908 (1ee9b4 hex)

## Booting image at 10000000 …

Image Name:Linux-2.6.18-mh8_pro500-versatil

Image Type:ARM Linux Kernel Image (uncompressed)

Data Size:2025844 Bytes =1.9 MB

Load Address: 30008000

Entry Point:30008000

Verifying Checksum … OK

OK

Starting kernel …(卡在这儿)

问题原因:多半是kernel没编译成功。

承认configure参数是否装备正确,是否挑选了正确的方针编译渠道,如smdk2410等。

3.不能发动kernel

Starting kernel …

Uncompressing Linux…………………………………………………

……………….. done, booting the kernel.

问题原因:或许是Bootargs参数设置过错,承认bootargs设置是否正确。

4.不能挂载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 upportofRPC100003/2 on 192.168.167.170

Root-NFS: Unable to get nfsd port number from server, using default

Looking upportofRPC100005/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和mem两个参数的设置。kernel2.6后console最好设置为ttySAC0,mem也要依据开发板实践状况设置正确。

5.文件体系不能发动问题

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 upportofRPC100003/2 on 192.168.167.170

Looking upportofRPC100005/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为版别号)

6.文件体系不能发动问题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 upportofRPC100003/2 on 192.168.167.170

Looking upportofRPC100005/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的衔接文件,少拷了库文件。

8.不能取得帐户UID信息

Could not get password database information for UID of current process: User “???” unknown or no memory to allocate password entry

Unknown username “root” in message bus configuration file

Could not get password database information for UID of current process: User “???” unknown or no memory to allocate password entry

Failed to start message bus: Could not get UID and GID for username “root”

问题原因:

状况一:体系帐户验证出现问题.怀疑是调用getuid、getguid时并没有回来正确值,或许是短少帐户验证相关库,实践排查后发现,短少libnss_files库。复制穿插编译器的libnss_files库到文件体系后,发动文件体系成功。

状况二:体系没有root帐号。能够由whoami指令看出。

手动创立帐号。

#vi /etc/passwd

root:x:0:0:root:/root:/bin/sh

kyo:x:500:500:kyo:/home/kyo:/bin/bash

添加组

#vi group

root:x:0:root

9.

Freeing init memory: 128K

init started: BusyBox v1.6.1(2007-08-27 14:33:15 CST) multi-call binary

starting pid 834, tty : /etc/init.d/rcS

Cannot run /etc/init.d/rcS: No such file or directory

Please press Enter to activate this console.

发现没有/etc/init.d/rcS文件体系相同能正常发动。看来rcS仅仅用来设置一些随机发动的参数,对文件能否正常运转关系不大。

注:这个不是过错,是偶尔发现! 🙂

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/jieda/259687.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部