- 主题:写了段脚本,在init之前把整个系统放在内存启动
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 FROM 1.202.9.*
FROM 1.202.9.*
在x86和树莓派上都测试通过,现在也有一些网友在用都很正常
【 在 cppbuilder 的大作中提到: 】
: ramroot for gentoo via initramfs
: 现在网上流行的ramroot脚本是一套archlinux下基于zram的,他在initramfs中生成一个zram的虚拟磁盘,分区格式化成ext4,之后mount了真的根目录同步过去。不过这么做会因为内存分区是块设备,被重复缓存。
: 我写的这段很简单,在initramfs中做了一个tmpfs,把根目录同步过去再启动就可以了。
: ...................
--
FROM 1.202.9.*
直接把整个系统镜像做成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
做过 pxe + squashfs in ram
用的应该是Debian Live的脚本
【 在 DreamDreams 的大作中提到: 】
: 直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
: 一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
: 甚至可以做成PXE启动
: ...................
--
FROM 116.230.28.*
这个主要问题是不容易修改squashfs里的内容,升级啊改配置什么的麻烦。另外我内核里也没编译squashfs
【 在 DreamDreams 的大作中提到: 】
: 直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
: 一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
: 甚至可以做成PXE启动
--
FROM 1.202.9.*
pxe是Gentoo内置功能了
【 在 hiei 的大作中提到: 】
: 做过 pxe + squashfs in ram
: 用的应该是Debian Live的脚本
--
FROM 1.202.9.*
debian live挺好用,我用的就是他
【 在 hiei 的大作中提到: 】
: 标 题: Re: 写了段脚本,在init之前把整个系统放在内存启动
: 发信站: 水木社区 (Wed Mar 6 15:41:13 2024), 站内
:
: 做过 pxe + squashfs in ram
: 用的应该是Debian Live的脚本
:
: 【 在 DreamDreams 的大作中提到: 】
: : 直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
: : 一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
: : 甚至可以做成PXE启动
: : ...................
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 116.230.28.*]
--
FROM 124.207.188.194
debian内置
自己编的话就是打个勾的事,改配置麻烦同时改配置也不怕,重启全恢复。
对于管理员分发系统还是很不错的。
【 在 cppbuilder 的大作中提到: 】
: 标 题: Re: 写了段脚本,在init之前把整个系统放在内存启动
: 发信站: 水木社区 (Wed Mar 6 16:06:02 2024), 站内
:
: 这个主要问题是不容易修改squashfs里的内容,升级啊改配置什么的麻烦。另外我内核里也没编译squashfs
:
: 【 在 DreamDreams 的大作中提到: 】
: : 直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
: : 一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
: : 甚至可以做成PXE启动
:
: --
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 1.202.9.*]
--
FROM 124.207.188.194
另外,其实想保持配置也容易
一般live cd就两层,只读的squashfs和rw的tmpfs用overlayfs叠加
想保存改变,把这个读写层放磁盘里就行了
不过你既然系统都放内存里了,还在线升级配置么?升级配置不就是
整个镜像重做一样么?
【 在 DreamDreams 的大作中提到: 】
: 标 题: Re: 写了段脚本,在init之前把整个系统放在内存启动
: 发信站: 水木社区 (Wed Mar 6 17:09:28 2024), 站内
:
: debian内置
:
: 自己编的话就是打个勾的事,改配置麻烦同时改配置也不怕,重启全恢复。
: 对于管理员分发系统还是很不错的。
:
: 【 在 cppbuilder 的大作中提到: 】
: : 标 题: Re: 写了段脚本,在init之前把整个系统放在内存启动
: : 发信站: 水木社区 (Wed Mar 6 16:06:02 2024), 站内
: :
: : 这个主要问题是不容易修改squashfs里的内容,升级啊改配置什么的麻烦。另外我内核里也没编译squashfs
: :
: : 【 在 DreamDreams 的大作中提到: 】
: : : 直接把整个系统镜像做成squashfs,拷到内存里再mount,跟live cd
: : : 一样运作,唯一区别是squashfs在内存里,不在光盘/U 盘/硬盘上
: : : 甚至可以做成PXE启动
: :
: : --
: :
: : ※ 来源:·水木社区 mysmth.net·[FROM: 1.202.9.*]
:
: --
: ___ ___
: / _ \_______ ___ ___ _ / _ \_______ ___ ___ _ ___
: / // / __/ -_) _ `/ ' \/ // / __/ -_) _ `/ ' \(_-<
: /____/_/ \__/\_,_/_/_/_/____/_/ \__/\_,_/_/_/_/___/
:
:
: ※ 来源:·水木社区 mysmth.net·[FROM: 124.207.188.194]
--
FROM 124.207.188.194
我是拿来装音乐播放器hqplayer naa、roon ready或者airplay,倒也不算经常升级。不过做成树莓派img之后会分发出去别人会拿来配置自己的ip地址,默认播放器,登录公钥之类的东西,就做了这套方便修改,mount了硬盘chroot进去就可以直接操作了
你说的之前我做过一套类似的不是squashfs是overlayfs+tmpfs,不过感觉不hifi就废弃了
【 在 DreamDreams 的大作中提到: 】
: 另外,其实想保持配置也容易
: 一般live cd就两层,只读的squashfs和rw的tmpfs用overlayfs叠加
: 想保存改变,把这个读写层放磁盘里就行了
: 不过你既然系统都放内存里了,还在线升级配置么?升级配置不就是
: 整个镜像重做一样么?
--
修改:cppbuilder FROM 1.202.9.*
FROM 1.202.9.*