LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 415|回复: 2

gentoo下把/文件系统建立在逻辑卷上

[复制链接]
发表于 2012-2-19 14:19:13 | 显示全部楼层 |阅读模式
发信人: meteo (剑胆琴心~认认真真), 信区: LinuxApp
标  题: Gentoo下创建支持lvm的initrd文件
发信站: 水木社区 (Sun Feb 19 13:52:00 2012), 站内

这个做initrd的过程比较麻烦,我用一个脚本改了一个自己的,可以支持lvm
dmraid,tuxonice,把/放在lvm上没问题

具体的说,就是这个包可以用来针对/目录在lvm上,dmraid上的情况生成initrd文件,
并且如果你的系统中加入了tuxonice补丁以便支持休眠,这个initrd文件也能正常
从休眠的系统中唤醒。

使用方法是先建一个本地的portage overlay,比如我的是/usr/local/portage/
建目录/usr/local/portage并且确保/etc/make.conf文件里有这么一句:
PORTDIR_OVERLAY="/usr/local/portage"

把附件解压到/usr/local/portage/sys-apps/lvm2initrd/
然后执行
emerge lvm2initrd

然后平时要建立initrd文件的时候,先mount上/boot所在分区
然后执行
lvm2create_initrd -M gentoo -c /etc/lvm/lvm.conf
就可以生成需要的initrd文件并且放在/boot目录下
在grub.conf文件中 kernel里加上
root=/dev/ram0 lvm2root=/dev/main/root
后者就是你的/文件系统所在的逻辑卷

使用前需要注意需要把CONFIG_BLK_DEV_RAM_SIZE参数设得足够大,缺省的4096是
不够的,这个参数在Device Drivers->Block devices->Default RAM disk size (kbytes)
设置

另外还需要注意的是这种方法的/boot分区仍然不能放在逻辑卷上,因为现在grub还不
支持lvm(grub2应该支持吧,我没折腾过)

这个包在我的amd64机器上测试运行一直没任何问题,我做的时候考虑了x86下的情况,在x86下应该也能正常工作

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2012-2-19 18:43:05 | 显示全部楼层
我没用dmraid, 但用lvm2 ,这样的话用
  1. genkernel --lvm ramdisk
复制代码
不就行了?看
  1. genkernel --help
复制代码
的输出,发现也有dmraid的选项。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-2-20 00:45:27 | 显示全部楼层
Post by jsun;2160302
我没用dmraid, 但用lvm2 ,这样的话用
  1. genkernel --lvm ramdisk
复制代码

不就行了?看
  1. genkernel --help
复制代码

的输出,发现也有dmraid的选项。


:yun:我还真是一直没装过genkernel,主要是我一直都不喜欢编译一堆module文件,而且当初genkernel没这个解决方案,所以就做了这个脚本,后来一直用,out了out了,大家忘了吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表