【linux】linux /dev/ram0 的作用
1. /dev/ram0 是什么
Linux 里有一种 ramdisk (RAM block device),对应设备节点是 /dev/ram0, /dev/ram1 …
它们本质上是把一段内存当成一个“虚拟磁盘”。
大小由内核参数控制,比如:
modprobe brd rd_nr=1 rd_size=1048576
rd_nr=1 → 创建 1 个 ramdisk(/dev/ram0)
rd_size=1048576 → 大小 = 1048576 KB = 1 GB
在你截图的 Makefile 里就有这一句:
echo ${ROOT_PWD} | sudo -S modprobe brd rd_nr=1 rd_size=1048576
👉 这行命令就是在加载 brd (block ramdisk) 模块,并生成 /dev/ram0,大小 1GB。
2. 本机默认有没有 /dev/ram0
有些 Linux 发行版启动时就会创建 /dev/ram0,但大小可能很小(几 MB)。
如果你用的发行版没启用 ramdisk 模块,那默认可能没有 /dev/ram0。
但你可以通过 modprobe brd 命令自己加载内核模块,马上就能看到。
测试一下:
ls -lh /dev/ram*
如果你能看到 /dev/ram0,说明有。
3. 为什么这里用 ram0
在 build-rootfs.mk 里:
它想做一个“虚拟磁盘”,在 RAM 里先分区、写 u-boot、写 rootfs。
全部完成后,再 dd 这个 RAM 磁盘内容到一个镜像文件,或者再写到真实 SD/eMMC。
好处是:
不会破坏你主机的真磁盘。
编译环境和打包更安全。
操作速度快(直接在内存里)。
✅ 总结
ram0 是内存模拟的磁盘设备,由 brd 模块创建。
本机不一定默认有,需要 modprobe brd rd_nr=1 rd_size=xxxx 才生成。
脚本里就是为了在内存里虚拟一个盘,做分区、写 uboot、打包 rootfs。
更多推荐



所有评论(0)