搜索
bottom↓
回复: 39

用UBoot加载内核,卡在Linux......... done, booting the kernel怎么办?

[复制链接]

出0入0汤圆

发表于 2012-12-28 16:23:42 | 显示全部楼层 |阅读模式


真郁闷,在网上找了好长时间都没有解决,有人说是CPUID不对,有人说mach-types不匹配,我检查了一下好像没有问题啊,我用的是FL2440的开发板。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-12-28 16:29:46 | 显示全部楼层
有很多原因的,make menuconfig 时CPU类型,source里面的mach-types不对都有可能

出0入0汤圆

 楼主| 发表于 2012-12-28 16:32:06 | 显示全部楼层
xi_liang 发表于 2012-12-28 16:29
有很多原因的,make menuconfig 时CPU类型,source里面的mach-types不对都有可能

首先这个内核和文件系统都可以在飞凌自带的Bootloader下运行。我只不过想测试一下Uboot。

出0入0汤圆

发表于 2012-12-28 16:37:25 | 显示全部楼层
小笨蛋 发表于 2012-12-28 16:32
首先这个内核和文件系统都可以在飞凌自带的Bootloader下运行。我只不过想测试一下Uboot。 ...

那看下mach-types.h里面定义的mach type和源码里用的是不是对应
另外编译uboot和编译内核的交叉编译器搭配都有一定讲究

出0入0汤圆

 楼主| 发表于 2012-12-28 16:56:14 | 显示全部楼层
xi_liang 发表于 2012-12-28 16:37
那看下mach-types.h里面定义的mach type和源码里用的是不是对应
另外编译uboot和编译内核的交叉编译器搭 ...

是对应的,
s3c2440                        ARCH_S3C2440                S3C2440                        362

#define MACH_TYPE_S3C2440              362


MACHINE_START(S3C2440, "SMDK2440")
        /* Maintainer: Ben Dooks <ben@fluff.org> */
        .phys_io        = S3C2410_PA_UART,
        .io_pg_offst        = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
        .boot_params        = S3C2410_SDRAM_PA + 0x100,

        .init_irq        = s3c24xx_init_irq,
        .map_io                = smdk2440_map_io,
        .init_machine        = smdk2440_machine_init,
        .timer                = &s3c24xx_timer,
MACHINE_END

编译器我都是用用一个。

出0入0汤圆

发表于 2012-12-28 18:43:34 | 显示全部楼层
看看编译工具版本是否一致,尤其带软浮点那块就是EABI什么的版本的。

出0入0汤圆

 楼主| 发表于 2012-12-28 21:51:43 | 显示全部楼层
mysky 发表于 2012-12-28 18:43
看看编译工具版本是否一致,尤其带软浮点那块就是EABI什么的版本的。

编译器版本我都是用一个,叫什么,大约是4.3左右。你们用FL2440的板子吗?

出0入0汤圆

发表于 2012-12-28 22:30:40 | 显示全部楼层
那就跟编译器没关系了,再找找其它的问题,网上都有来回就那么几个问题。我的QQ2440

出0入0汤圆

发表于 2012-12-29 08:50:20 来自手机 | 显示全部楼层
打开内核中的早期调试,看内存中的出错信息

出0入0汤圆

 楼主| 发表于 2012-12-30 09:29:44 | 显示全部楼层
mysky 发表于 2012-12-28 22:30
那就跟编译器没关系了,再找找其它的问题,网上都有来回就那么几个问题。我的QQ2440 ...

我都检查了呀,还是找不到。

出0入0汤圆

 楼主| 发表于 2012-12-30 09:42:05 | 显示全部楼层
liangbmw 发表于 2012-12-29 08:50
打开内核中的早期调试,看内存中的出错信息

额。不知打该开启那一项、、好多、我先打开debug boot initials试试看吧

出0入0汤圆

发表于 2012-12-30 09:47:31 | 显示全部楼层
楼主可不可以单步跟踪一下,看看卡在哪了?
或者是启动时间本身就比较慢,你多等会?

出0入0汤圆

 楼主| 发表于 2012-12-30 15:40:10 | 显示全部楼层
winterw 发表于 2012-12-30 09:47
楼主可不可以单步跟踪一下,看看卡在哪了?
或者是启动时间本身就比较慢,你多等会? ...

这里也能单步跟踪啊??

出0入0汤圆

 楼主| 发表于 2012-12-30 15:45:06 | 显示全部楼层
刚刚有了个新进展,终于不是卡在这儿了(是蒙到的)。不过又出了新问题(如图)。现在我想吐血的是,在试图解决这个新的问题的时候,把flash擦掉了,重新写上,又回到楼主位的状态,现在怎么也搞不回来了,真郁闷!!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-12-30 15:47:39 | 显示全部楼层
还没搞定啊?这样吧,你把你的U-BOOT源码和原厂的用比较工具,比较一下,差别在哪,这招我最常用的。

出0入0汤圆

发表于 2012-12-30 15:50:07 | 显示全部楼层
kernel panic一般是文件系统不对

出0入0汤圆

 楼主| 发表于 2012-12-30 15:51:46 | 显示全部楼层
xi_liang 发表于 2012-12-30 15:47
还没搞定啊?这样吧,你把你的U-BOOT源码和原厂的用比较工具,比较一下,差别在哪,这招我最常用的。 ...


这个问题已经困扰我4天了,我天天想,日日思,早上爬起来查资料,问人,就是搞不定。奶奶的!!得得得,哥已经快崩溃了。。明天再搞不定我放弃了。。

出0入0汤圆

 楼主| 发表于 2012-12-30 15:54:54 | 显示全部楼层
xi_liang 发表于 2012-12-30 15:47
还没搞定啊?这样吧,你把你的U-BOOT源码和原厂的用比较工具,比较一下,差别在哪,这招我最常用的。 ...


注意!!原厂的根本就不是用Uboot做的。而是自己开发的bootloader,是在ADS环境下编译的,根Uboot不搭嘎。另外我现在正在调试的Uboot就是在他们网站上下载的、你说晕不晕。

出0入0汤圆

 楼主| 发表于 2012-12-30 15:57:14 | 显示全部楼层
xi_liang 发表于 2012-12-30 15:50
kernel panic一般是文件系统不对

哎。现在这个问题放一放吧,今天好不容易有了改观,又退回去了。

出0入0汤圆

发表于 2012-12-30 15:58:17 | 显示全部楼层
小笨蛋 发表于 2012-12-30 15:45
刚刚有了个新进展,终于不是卡在这儿了(是蒙到的)。不过又出了新问题(如图)。现在我想吐血的是,在试图 ...

从这张图上看是cs8900_probe()出现了错误,估计是指针问题。配置内核时先禁用网卡再试试。

出0入0汤圆

 楼主| 发表于 2012-12-30 15:59:43 | 显示全部楼层
winterw 发表于 2012-12-30 15:58
从这张图上看是cs8900_probe()出现了错误,估计是指针问题。配置内核时先禁用网卡再试试。 ...

木有机会了

出0入0汤圆

发表于 2012-12-30 16:02:17 | 显示全部楼层
小笨蛋 发表于 2012-12-30 15:40
这里也能单步跟踪啊??


用kgdb试试,不行的话用土点的方法,你在内核启动的地方依次加入printk(),凡是怀疑有问题的地方就加一条,无非就是多编译几次内核,看看最后卡在哪里了

出0入0汤圆

发表于 2012-12-30 16:04:11 | 显示全部楼层
liangbmw 发表于 2012-12-29 08:50
打开内核中的早期调试,看内存中的出错信息

楼主,打开这个也看看

出0入0汤圆

 楼主| 发表于 2012-12-30 16:06:10 | 显示全部楼层
winterw 发表于 2012-12-30 16:02
用kgdb试试,不行的话用土点的方法,你在内核启动的地方依次加入printk(),凡是怀疑有问题的地方就加一条 ...

你确定楼主位的问题是中,内核是已经加载了一半停下来还是压根就没有加载?万一是根本就没有加载的话,岂不是跟踪不到错误?

不过也只能这样了。但我暂时还不会怎么加。我从早上就开始搞到现在,早饭没吃,午觉没睡。精力已经耗干了。明天再来查怎么跟踪。

出0入0汤圆

发表于 2012-12-30 16:11:23 | 显示全部楼层
小笨蛋 发表于 2012-12-30 16:06
你确定楼主位的问题是中,内核是已经加载了一半停下来还是压根就没有加载?万一是根本就没有加载的话,岂 ...

那就再往上跟踪,在uboot中加。
你在内核加载完之后那个地方加条语句看有没有打印出来,一点点验证

出0入0汤圆

 楼主| 发表于 2012-12-30 16:12:46 | 显示全部楼层
winterw 发表于 2012-12-30 16:11
那就再往上跟踪,在uboot中加。
你在内核加载完之后那个地方加条语句看有没有打印出来,一点点验证 ...

那好吧。。。那会不会是由于NandFlash的坏块导致的呢?

出0入0汤圆

发表于 2012-12-30 16:18:10 | 显示全部楼层
有可能。
你对比楼主位的图看是否进入到了kernel源码中的init/main.c文件中的start_kenel()函数,那里是初始化的,进入的话看看是在哪里卡住的

出0入0汤圆

发表于 2012-12-30 16:19:16 | 显示全部楼层
如果你怀疑nandflash有坏块,用测试工具检查一下

出0入0汤圆

发表于 2012-12-30 16:42:40 | 显示全部楼层
对了,看下你的串口配置是否正确,不会输出到其他串口了吧

出0入0汤圆

 楼主| 发表于 2012-12-30 21:25:16 | 显示全部楼层
winterw 发表于 2012-12-30 16:42
对了,看下你的串口配置是否正确,不会输出到其他串口了吧

恩,好的,我明天试试。谢谢你。我电脑没有并口,也能检测坏快吗?

出0入0汤圆

发表于 2012-12-30 21:34:00 | 显示全部楼层
uboot下应该有测试工具吧

出0入0汤圆

 楼主| 发表于 2012-12-31 17:20:01 | 显示全部楼层
还是没有找到原因,再补充一个细节。

卡掉后,开发板屏幕显示这个,那一个白杠不闪烁

飞凌自带的Bootloader传递参数是这样的
root=/dev/mtdblock3 init=/linuxrc load_ramdisk=0 console=ttySAC0,115200 mem=65536K devfs=mount display=sam320
我也改成和他一样。没反应

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-12-31 17:41:02 | 显示全部楼层
本帖最后由 小笨蛋 于 2012-12-31 17:45 编辑
winterw 发表于 2012-12-30 16:02
用kgdb试试,不行的话用土点的方法,你在内核启动的地方依次加入printk(),凡是怀疑有问题的地方就加一条 ...


我按照这个教程http://hi.baidu.com/deep_pro/item/983110902b91eebe83d29542在你说的start_kernel()下加上printk,启动还是到此停止。没有输出信息

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2013-1-1 16:19:37 | 显示全部楼层
楼主解决了吗?

出0入0汤圆

 楼主| 发表于 2013-1-1 16:22:59 | 显示全部楼层
winterw 发表于 2013-1-1 16:19
楼主解决了吗?

明显没有啊……为了这个我还买了台带并口的老爷机……

出0入0汤圆

发表于 2013-1-1 18:33:43 | 显示全部楼层
我去,真下本,买并口的老爷机干嘛用?

出0入0汤圆

 楼主| 发表于 2013-1-1 19:10:35 | 显示全部楼层
本帖最后由 小笨蛋 于 2013-1-1 19:15 编辑
winterw 发表于 2013-1-1 18:33
我去,真下本,买并口的老爷机干嘛用?


便于烧写FLASH呀。当初买这个板子就是考虑这个板子可以用JJINK更新FLASH,我感觉被这种想法误导了。这个板子真心难用。再解决不了我就重新买板子了……

出0入0汤圆

 楼主| 发表于 2013-1-1 21:39:17 | 显示全部楼层
winterw 发表于 2013-1-1 18:33
我去,真下本,买并口的老爷机干嘛用?

电脑到手了,发现我犯了个错误。。其实并口就相当于JLINK,没什么特别之处。明天我还人家吧。毕竟还要200块大洋、

出0入0汤圆

发表于 2013-10-11 09:47:25 | 显示全部楼层
问题解决了么,我也遇到同样的问题了。。。

出0入10汤圆

发表于 2014-3-27 08:05:24 | 显示全部楼层
问题解决了吗?我的也是这样。搞不定啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-9 19:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表