直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
甚至可以做成PXE启动
【 在 cppbuilder 的大作中提到: 】
: 标 题: 写了段脚本,在init之前把整个系统放在内存启动
: 发信站: 水木社区 (Wed Mar 6 14:26:55 2024), 站内
:
: ramroot for gentoo via initramfs
:
: 现在网上流行的ramroot脚本是一套archlinux下基于zram的,他在initramfs中生成一个zram的虚拟磁盘,分区格式化成ext4,之后mount了真的根目录同步过去。不过这么做会因为内存分区是块设备,被重复缓存。
:
: 我写的这段很简单,在initramfs中做了一个tmpfs,把根目录同步过去再启动就可以了。
:
: mkdir /ram_chroot
: mount -t tmpfs -o rw,noatime none /ram_chroot
: cp -a "${CHROOT}"/mnt/.ramdisk/* /ram_chroot/
:
: mount --move /proc /ram_chroot/proc
: mount --move /sys /ram_chroot/sys
: mount --move /dev /ram_chroot/dev
:
: umount ${CHROOT}
:
: good_msg "Switching to real root: switch_root /ram_chroot ${init} ${init_opts}"
: exec switch_root /ram_chroot "${init}"
:
: 要最终跑起来还需要一些其他脚本,感兴趣的可参考github zhjie ramroot
:
:
: --
:
: ※ 修改:·cppbuilder 于 Mar 6 14:28:12 2024 修改本文·[FROM: 1.202.9.*]
: ※ 来源:·水木社区 mysmth.net·[FROM: 1.202.9.*]
--
修改:cppbuilder FROM 1.202.9.*
FROM 124.207.188.194