LinuxSir.cn,穿越时空的Linuxsir!

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

如何配置gentoo使其适应多种不同的硬件环境

[复制链接]
发表于 2009-7-3 12:26:18 | 显示全部楼层 |阅读模式
首先我在机器上用虚拟机安装了一个gentoo,在配置虚拟机的时候我创建了一个虚拟盘来放boot和安装grub,然后在物理硬盘上安装系统。这样通过虚拟盘就能启动虚拟机。
后来我又在物理机器上重新配置了内核,放在boot目录里(由于虚拟机的boot在虚拟分区上,所以不影响),在物理硬盘上安装grub,这样通过物理机器也可以启动gentoo。由于虚拟机也是使用真实的cpu,所以编译参数完全不需要修改,程序都可以直接使用。
现在的问题是如何解决虚拟机和物理机器之间的差异:
1 fstab的不同,虚拟机的硬盘是hda,物理硬盘是sda
2 网络环境的不同
3 虚拟机我只需要终端,所以不需要启动X,而物理机器需要启动X

最关键的问题就是fstab和网络的问题如何最方便地解决,gentoo有没有适应多种硬件环境的机制?
发表于 2009-7-3 13:59:22 | 显示全部楼层
fstab还是要自己改。如果内核中用的是libata驱动,就可以都是sda。
网络环境的话,dhcp默认不用设置,这个算不?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-7-3 17:57:21 | 显示全部楼层
恩,网络使用dhcp也是可行的,那么最主要的就是修改fstab
在启动的什么时机加脚本比较好,我考虑在runlevel的localmount里面加入代码,但是这个时候怎么判断现在是虚拟机还是物理机器呢?

请问一下,怎么改内核uname -r的名字?我可以通过内核名字来判断是虚拟机还是物理机器
回复 支持 反对

使用道具 举报

发表于 2009-7-6 13:41:08 | 显示全部楼层
以前看到过这方面的文章,自己修改配置文件,在启动时输入相关信息手动选择启动那个网络配置。
回复 支持 反对

使用道具 举报

发表于 2009-7-9 01:08:56 | 显示全部楼层
我觉得可以改改内核引导时initrd这个ramdisk映像文件,加上两套fstab并修改加载fstab之前的脚本判断设备(rdinit本来就发生在fstab加载之前吧?如果不对请纠正我),如果虚拟机启动时的特征设备存在,复制虚拟机用的fstab到root分区的/etc下;不存在就复制物理机器用的fstab。
网络设置也是同上,复制对应的net文件到/etc/conf.d下就行了。
回复 支持 反对

使用道具 举报

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

本版积分规则

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