1. 制作ramdisk
dd if=/dev/zero of=initrd.img bs=1k count=10k
mke2fs -F -v -m0 initrd.img
sudo mount -o loop initrd.img rootfs
cp -a xxxx rootfs/
sudo umount
gzip -9 initrd.img
问题:
(1)
ram0: rw=0, want=16406, limit=16384
Device Drivers ---> Block devices ---> <*> RAM disk support
x x (8) Default number of RAM disks
x x (8192) Default RAM disk size (kbytes)
修改number为4,size为16384
mv ramdisk.img ramdisk.img.gz
gunzip ram.img.gz
mkdir ram
cd ram
cpio -i -F ../ramdisk.img
所有内容都在ram文件夹下了.
3. uboot给内核传递参数,启动ramdisk
setenv bootargs mem=256M console=ttyS0 root=/dev/ram rw rdinit=/linuxrc
4. 文件系统自动生成设备节点
rcS里加上
mount -n -t proc none /proc
mount -n -t sysfs none /sys
mdev -s
5. 改变mdev生成节点的目录,如alsa驱动的设备在/dev/snd下,配置如下
vi etc/mdev.conf
- controlC[0-9] 0:0 0660 =snd/
- pcm.* 0:0 0660 =snd/
- seq.* 0:0 0660 =snd/
- mix.* 0:0 0660 =snd/
- timer 0:0 0660 =snd/