Chinaunix首页 | 论坛 | 博客
  • 博客访问: 626034
  • 博文数量: 121
  • 博客积分: 8469
  • 博客等级: 中将
  • 技术积分: 1065
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 10:32
文章分类

全部博文(121)

文章存档

2013年(1)

2012年(15)

2010年(2)

2009年(8)

2008年(95)

我的朋友

分类: LINUX

2008-07-10 15:23:31

首先在内核配置中选择对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
阅读(1103) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~