天嵌 ARM开发社区

 找回密码
 注册
查看: 10526|回复: 15

问题解决办法总结_Failed_to_execute_/linuxrc

[复制链接]
天嵌_support1 发表于 2010-8-30 12:15:03 | 显示全部楼层 |阅读模式
根据网友们遇到的这个共同问题,总结一下各种解决的办法。

遇到这样问题的网友可以根据下面的建议逐个检查。
1. bin/busybox文件是可以执行的。
2. 在配置busybox的时候要选中shell选项中的一个选项
3. linuxrc 是可执行的。
4. 制作文件系统的时候利用的工具也要留意区分:
    mkcramfs                制作cramfs镜像的工具
    mkimage                        制作jffs2镜像的工具
    mkyaffs2image                制作2.6的yaffs2的镜像工具(针对Nand Flash是128MB到1GB的)
    mkyaffsimage                制作2.6.13的yaffs2的镜像工具
    mkyaffsimage_2                制作2.6.25.8或2.6.30.4或更高版本内核的yaffs2的镜像工具(针对Nand Flash是  64MB的)
4. 你使用的是256MB的Nand Flash,而在配置内核的nand时选择ecc校验
iLibra 发表于 2010-8-30 14:20:42 | 显示全部楼层
谢谢版主的回复,不过还有几点疑问:
1. 确认可执行是指:a。确认权限可执行?
                   b.确认文件本身可执行? 可是busybox只能在arm上执行,没法确认啊。
2. 这个选项是哪一个啊?移植手册上写的我都选了,但是你说的这个我不知道是哪一个啊。

谢谢啊。
 楼主| 天嵌_support1 发表于 2010-8-30 14:40:56 | 显示全部楼层
2# iLibra


在文件系统目录中输入命令:  ls -la  bin/busybox
你会看到  -rwxr-xr-x 这样的字样,其中每个组中要带有  -x ,那就是表示可以执行。
它们在Shells选项中
iLibra 发表于 2010-8-30 14:48:57 | 显示全部楼层
恩明白了。非常感谢。
待我回去试试
iLibra 发表于 2010-8-31 23:36:53 | 显示全部楼层
版主你好,我试过了,
所有你说的项我都检查了,依然不行。
我实在没办法,用cramfs打包后,生成bin,就可以启动了。
我确认用yaffs时已经mount成功了。所以linux kernel的driver应该是对的。
我用的64M flash,和2.6.30.4的内核用  mkyaffsimage_2     生成的bin.
所以我怀疑是  mkyaffsimage_2     这个工具的问题。
不知道  mkyaffsimage_2     这个工具是否需要自己重新编译一个。
或者  mkyaffsimage_2     是否有版本的差别?
 楼主| 天嵌_support1 发表于 2010-9-4 15:18:08 | 显示全部楼层
5# iLibra


制作工具用什么编译器生成,busybox 最好用什么版本的编译器。
liueg 发表于 2010-9-10 21:01:21 | 显示全部楼层
我的都已经按照超级版主的检查了,可是还是不行,也不知道是什么问题,我的是按照4.3.3编译器来做的,然后mkyaff2image(256m的nand)。
chqsy 发表于 2010-10-26 13:48:44 | 显示全部楼层
同意楼上的,我和你遇到的困难一样
 楼主| 天嵌_support1 发表于 2010-10-26 14:32:15 | 显示全部楼层
8# chqsy


抛出的具体信息呢?
machoe 发表于 2010-10-26 19:41:41 | 显示全部楼层
有的时候完全格式化重新烧写也会解决问题。
vip2009 发表于 2011-2-16 21:46:42 | 显示全部楼层
参照提示,对比我的设置,但还是不行。。。。

s3c24xx_serial_probe: initialising port c02364c4...                                                                           
s3c24xx_serial_init_port: port=c02364e8, platdev=c0223008                                                                     
s3c24xx_serial_probe: adding port                                                                                             
s3c2440-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440                                                     
s3c2440_serial_probe: dev=c02230c8                                                                                             
s3c24xx_serial_probe(c02230c8, c023679c) 2                                                                                    
s3c24xx_serial_probe: initialising port c0236574...                                                                           
s3c24xx_serial_init_port: port=c0236598, platdev=c02230c8                                                                     
s3c24xx_serial_probe: adding port                                                                                             
s3c2440-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440                                                     
brd: module loaded                                                                                                            
loop: module loaded                                                                                                            
S3C24XX NAND Driver, (c) 2004 Simtec Electronics                                                                              
s3c2440-nand s3c2440-nand: Tacls=2, 20ns Twrph0=3 30ns, Twrph1=2 20ns                                                         
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)                                             
Scanning device for bad blocks                                                                                                
Bad eraseblock 704 at 0x000005800000                                                                                          
Bad eraseblock 705 at 0x000005820000                                                                                          
Bad eraseblock 1200 at 0x000009600000                                                                                          
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":                                                                        
0x000000000000-0x000000040000 : "uboot"                                                                                       
0x000000200000-0x000000400000 : "kernel"                                                                                       
0x000000400000-0x000010000000 : "yaffs2"                                                                                       
mice: PS/2 mouse device common for all mice                                                                                    
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics                                                                           
s3c2410-wdt s3c2410-wdt: watchdog inactive, reset disabled, irq enabled                                                        
yaffs: dev is 32505858 name is "mtdblock2"                                                                                    
yaffs: passed flags ""                                                                                                         
yaffs: Attempting MTD mount on 31.2, "mtdblock2"                                                                              
block 673 is bad                                                                                                               
block 674 is bad                                                                                                               
block 1169 is bad                                                                                                              
yaffs_read_super: isCheckpointed 0                                                                                             
VFS: Mounted root (yaffs2 filesystem) on device 31:2.                                                                          
Freeing init memory: 88K                                                                                                      
Warning: unable to open an initial console.                                                                                    
Failed to execute /linuxrc.  Attempting defaults...                                                                           
Kernel panic - not syncing: No init found.  Try passing init= option to kernel.                                                
[<c0024700>] (unwind_backtrace+0x0/0xdc) from [<c01787f0>] (panic+0x40/0x110)                                                  
[<c01787f0>] (panic+0x40/0x110) from [<c001e4c0>] (init_post+0xcc/0xf4)                                                        
[<c001e4c0>] (init_post+0xcc/0xf4) from [<c000859c>] (kernel_init+0xb8/0xe0)                                                   
[<c000859c>] (kernel_init+0xb8/0xe0) from [<c0040118>] (do_exit+0x0/0x578)                                                     
[<c0040118>] (do_exit+0x0/0x578) from [<00000001>] (0x1)
 楼主| 天嵌_support1 发表于 2011-2-17 10:55:27 | 显示全部楼层
你是自己制作文件系统而已还是 内核也自己移植。
如果是请注意一下
General setup--->
Choose SLAB allocator (SLUB (Unqueued Allocator))
uboard 发表于 2011-2-18 13:52:45 | 显示全部楼层
顶起来,支持林工版主
yanxiaoyun 发表于 2011-4-18 09:45:13 | 显示全部楼层
11# vip2009
小弟遇到了同样的问题,请问你是怎么解决的呢
david826 发表于 2011-4-18 10:50:10 | 显示全部楼层
关于这个问题  我在网上找了一个方法解决:
(1)文件系统中没有包含linuxrc的可执行文件。在文件系统中添加linuxrc就可完成linux的启动。
(2)在/driver/mtd/nand/s3c2410.c中将chip->ecc.mode = NAND_ECC_SOFT;改为chip->ecc.mode = NAND_ECC_NONE;并在配置内核中将Samsung S3C NAND Hardware ECC选项删掉。
可以解决! 这是 http://blog.sina.com.cn/s/blog_77aea4c60100qsa1.html 这位老兄的总结!  还有就是 在建立文件系统的时候  我在windows下进行的 发现到 linux下 每个文件里面的内容的每行后面都会跟一个^M  一定要在linux下把这个删除掉
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 12:41 , Processed in 1.031250 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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