免费注册 查看新帖 |

Chinaunix

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

加载ramdisk失败 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-30 21:10 |只看该作者 |倒序浏览
在内核menuconfig里 开了Initial RAM filesystem and RAM disk 选项 ,  Initramfs source file选项为空。

default bootloader kernel arguments 为空


uboot启动脚本为:


proc main
transmit "setenv serverip 192.168.1.102;"
transmit "setenv ipaddr 192.168.1.3;"
transmit "setenv bootargs root=/dev/ram rw console=ttyS0,115200;"
transmit "tftp 800000 mpc8572ds.dtb;"
transmit "tftp 700000 your.ramdisk.u-boot;"
transmit "tftp 500000 uImage;"
transmit "bootm 500000 700000 800000;"
endproc


内核启动至initramfs.c里面的  populate_rootfs 函数,  在该函数的

err = unpack_to_rootfs((char *)initrd_start,
                        initrd_end - initrd_start, 0);

这一个调用出错。

再跟进去,发现出错的地方在unpack_to_rootfs函数的

if (state != Reset)  这一句。



到此,我已经跟踪的精疲力尽,无法再跟踪下去了。  


请问,到底会是哪里出问题,导致rootfs的解压失败?


谢谢!

论坛徽章:
0
2 [报告]
发表于 2009-08-30 21:21 |只看该作者
ramdisk制作过程:

mkdir initrd

dd if=/dev/zero of=initrd.img bs=1k count=40960

mke2fs -F -v -m0 initrd.img

mount -o loop initrd.img initrd

cp -av rootfs/* initrd

sync

umount initrd

sync

gzip -f -9 initrd.img

sync

./mkimage -T ramdisk -C gzip -n 'MPC8572 Ramdisk Image' -d initrd.img.gz your.ramdisk.u-boot

论坛徽章:
0
3 [报告]
发表于 2009-08-31 00:14 |只看该作者
现在initrd的制作方法都是用cpio吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP