首先在内核配置中选择对Ramdisk的支持,一般会在Block devices的选项中。
其次在启动参数中设置root=/dev/ram0。
然后修改arm/arm/arch-pxa/myboard.c(不同的板子不同)
通过函数
setup_ramdisk (1, 0, 0, 8192);
setup_initrd (__phys_to_virt(0xa1000000), 8*1024*1024);
设置Ramdisk大小和起始地址。
制作Ramdisk
1.创建连续大小的空间
dd if=/dev/zero of=ramdisk.img bs=1k count=4096
2.格式化
mkfs.ext2 ramdisk.img
3.创建临时目录
mkdir tmp
4.挂载
mount -o loop ramdisk.img tmp
5.创建目录并复制文件
cd tmp
mkdir bin dev etc lib mnt proc sbin sys user
cp ...
6.卸载
umount tmp
7.压缩
gzip ramdisk.img
tftp下载内核到地址kernel_addr
tftp下载ramdisk.img到setup_initrd函数指定地址(0xa1000000)
go kernel_addr
阅读(1179) | 评论(0) | 转发(0) |