免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8803 | 回复: 2
打印 上一主题 下一主题

[开发环境] RAMDISK: Couldn't find valid RAM disk image starting at 0. [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-31 15:16 |只看该作者 |倒序浏览
大虾好,本人菜鸟,采用vivi + s3c2410制作ramdisk
  
   内核配置中完全按照要求
   General setup==>Initial RAM filesystm and RAM disk support选中
   Device Drivers==>Block devices==>Default RAM disk size(kbytes)改为8192
   File system==>Second extend fs support 选中
    此项下面还有两个子选项,我按照全选与全不选编译了两个内核,这两个内核的出错情况也是一样的
  
    制作ramdisk镜像也是按照标准要求所做:./genext2fs -b 8192 -d  rootfs/ ramdisk
    其中的rootfs在NFS和yaffs和initramfs下都是成功的(里面既有init也有linuxrc)
    然后下载
  
    vivi>net tftp 192.168.0.108 0x30080000 zImage  //其中0x30080000是下载到ram中的地址
                                                  //也可以下到nandflash中,vivi运行时也要把内核拷贝到这个地址
    vivi>net tftp 192.168.0.108 0x30800000 ramdisk.gz //下载ramdisk.gz的映像到0x30800000地址

    vivi>param set linux_cmd_line  "console=ttySAC0 initrd=0x30800000,0x440000
      root=/dev/ram0 init=/linuxrc"

    vivi>boot ram //开始执行0x30008000处的内核

   出错信息如下(最后部分):
   #0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
SCTP: Hash tables configured (established 2048 bind 4096)
RAMDISK: Couldn't find valid RAM disk image starting at 0.
yaffs: dev is 1048576 name is "ram0"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 1.0, "ram0"
yaffs: dev is 1048576 name is "ram0"
yaffs: passed flags ""
yaffs: Attempting MTD mount on 1.0, "ram0"
List of all partitions:
1f00             256 mtdblock0 (driver?)
1f01              64 mtdblock1 (driver?)
1f02             256 mtdblock2 (driver?)
1f03             768 mtdblock3 (driver?)
1f04            6144 mtdblock4 (driver?)
1f05           31424 mtdblock5 (driver?)
1f06           26624 mtdblock6 (driver?)
No filesystem could mount root, tried:  ext2 cramfs vfat msdos ntfs fuseblk yaffs yaffs2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)


  我对传入的命令行参数进行了许多测试更改,比如ram=/dev/ram0,去掉init=/linuxrc,更改RAMDISk的地址等,尤其要提出的是传入linux_cmd_line参数后,即使不下载 ramdisk.gz而直接boot ram,提示出错信息也是一样的

  查了网上许多问题,无法得出结论,另,网上有人说若指定了initrd后,内部系统自动指定挂载ram,此时参数root=/dev/ram可以省略,实测结果还是不行,此时出错信息有不同:
   #0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
SCTP: Hash tables configured (established 2048 bind 4096)
RAMDISK: Couldn't find valid RAM disk image starting at 0.
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "<NULL>" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
1f00             256 mtdblock0 (driver?)
1f01              64 mtdblock1 (driver?)
1f02             256 mtdblock2 (driver?)
1f03             768 mtdblock3 (driver?)
1f04            6144 mtdblock4 (driver?)
1f05           31424 mtdblock5 (driver?)
1f06           26624 mtdblock6 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
   


新手入门,搞了好久,难道要去分析内核源代码???

希望高手可以帮助解答,谢谢!

论坛徽章:
0
2 [报告]
发表于 2012-02-02 11:39 |只看该作者
RAMDISK: Couldn't find valid RAM disk image starting at 0.
initrd=0x30800000,0x440000

0x440000 是什么地址?

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
3 [报告]
发表于 2012-02-02 13:25 |只看该作者
本帖最后由 linuxfellow 于 2012-02-02 13:38 编辑

你的zImage, ramdisk.gz 都传到同一地址:0x30800000。kernel被ramdisk.gz 覆盖。运行的命令也不对。网上同样配置板子的成功例子多得是,找一个来照猫画虎就行了。

试试下面命令:
vivi>net tftp 192.168.0.108 0x440000 ramdisk.gz //下载ramdisk.gz的映像到0x440000地址
vivi>bootm 0x30800000 0x440000    //开始执行0x30008000处的内核,同时也要指定rootfs地址
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP