- 论坛徽章:
- 0
|
大虾好,本人菜鸟,采用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)
新手入门,搞了好久,难道要去分析内核源代码???
希望高手可以帮助解答,谢谢! |
|