嵌入式Ramdisk 文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008712/133009.html

 首先在内核配置中选择对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

文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/2008712/133009.html

你可能感兴趣的:(嵌入式,Go)