Posts Tagged ‘VMware’

VirtualBox 和 VMware 的网卡冲突

Sunday, July 18th, 2010

机器上先安装了VMware Workstation的版本,安装了Gentoo的虚拟机。而后安装VirtualBox,致使VMware中的虚拟机无法访问网络,局域网内无法ping通。Google之发现这个问题还是有人遇到的,但是没有搜到解决的办法。只得把VirtualBox卸载掉,一切恢复正常。具体的原因和其它的解决办法都没有找到。

P.S.
原来的Sun VirtualBox现在是Oracle VirtualBox,在卸载程序里面按了很多S键都未定位到它,才让我想起Sun被收购的事情。

发布 Gentoo 2.6.31-r6 vmdk 镜像

Monday, January 25th, 2010

发布Gentoo的第一个vmdk镜像文件,内核版本号是2.6.31-r6。使用VMware Workstation打开该镜像文件,就可以拥有一个基本的Gentoo环境使用。root密码:douhua.im,请登录系统后使用passwd命令修改密码。

下载地址:
http://douhua.im/downloads/gentoo/Gentoo.2.6.31.Base.OS.vmdk

注意事项:
1. 修改Gentoo网卡的MAC地址:使用VMware Workstation打开vmdk镜像文件后,会在同一个目录内生成日志文件。打开日志文件,找到类似于下面的内容:

Nov 27 13:06:28.578: vmx| DICT ethernet0.generatedAddress = 00:0c:29:9c:99:35

这是VMware为OS分配的网卡MAC地址,打开Gentoo内的/etc/udev/rules.d/70-persistent-net.rules文件,找到MAC地址对应的记录,修改Name为eth0,删掉原eth0的网卡记录后重启机器。具体参考VMware 拷贝Gentoo克隆后的网络设置
或者使用新的eth1网卡记录:

/etc/init.d/net.eth1 start
rc-update add net.eth1 default

2.修改IP地址和网关:修改/etc/conf.d/net文件中的网卡和网关地址:

config_eth0=( "192.168.0.10/24" )
routes_eth0=( "default via 192.168.0.1" )

准备发布Gentoo虚拟机

Sunday, January 24th, 2010

深夜总是有点灵感,突发奇想可以通过发布Gentoo的VMware虚拟机来为Gentoo/Linux的新手带路。现在机器的硬件性能都很好,用VMware跑Gentoo的肯定是绰绰有余。同时还可以做很多定制的版本,譬如Apache2 + PHP + MySQL或者是Nginx + Django什么的。想到这里觉得可以做的事情很多,有点小小的兴奋。这个从虚拟机安装Gentoo我已经烂熟于心了,明天就弄一个32位X86的版本先发布一下试试。

——————————————————————————————–
2010年1月25日更新下载地址:
http://www.douhua.im/downloads/gentoo/Gentoo.2.6.31.Base.OS.vmdk
root密码是:douhua.im

VMware 拷贝Gentoo克隆后的网络设置

Saturday, November 28th, 2009

重装了新系统后,发现VMware导入原先的Gentoo克隆文件,启动系统后会无法找到eth0设备。到Gentoo虚拟机文件的所在目录下,发现有不少txt格式的配置文件。打开一个最早的文件,在里面搜索到如下:

Nov 27 13:06:28.578: vmx| DICT ethernet0.generatedAddress = 00:0c:29:9c:99:35

这个应该是拷贝前虚拟机给Bridged模式分配的网卡Mac地址,到最新的日志文件下查看对应的Mac地址已经变了:

Nov 28 23:12:08.109: vmx| DICT ethernet0.generatedAddress = 00:0c:29:4b:75:09

所以只要到gentoo里面找到对应的配置文件修改一下就可以。

重新启动Gentoo,打开/etc/udev/rules.d/70-persistent-net.rules文件,发现Gentoo自动设备了新的网卡且命名为eth1:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", 
    ATTR{address}=="00:0c:29:4b:75:09", ATTR{dev_id}=="0x0", 
        ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

NAME改为eth0,原先的网卡记录删掉,重启机器一切正常了。

Gentoo X86 快速安装手册 (On VMware or Fusion)

Thursday, November 19th, 2009

对于新手来说使用minimal光盘安装Gentoo是个具有挑战性的事情,最好的选择是先用虚拟机安装一个Gentoo的基本环境,然后再慢慢学习emerge命令和编译内核等晋级内容。这里使用的虚拟机是VMware 7.0,文章同样适用于Snow Leopard下的VMware Fusion 3.0环境。

第一步:新建Virtual Machine。新建Virtual Machine的时候选择Advanced,由于VMware不能识别Gentoo安装光盘的ISO文件,选择Operation System的时候选择Linux,Other Linux 2.6.x kernel。Processor一般选择2个单核的,Network Type选择Bridged,这样光盘启动安装的时候能自动识别到网卡,省去了很多设置的麻烦。硬盘选择SCSI的,硬盘的内容存储在一个文件中。

第二步:启动Virtual Machine,开启SSH服务。用minimal光盘启动进入到livecd的环境,如果网络环境里配置了DHCP,通过命令ifconfig检查Virtual Machine所分配的IP;如果需要自己配置IP地址,通过下面的命令来设置:

ifconfig eth0 192.168.1.10/24 #设置IP地址:192.168.1.10
route add default gw 192.168.1.1 #设置网关:192.168.1.1
echo nameserver 192.168.1.1 > /etc/resolv.conf #设置域名解析

启动SSH服务:

/etc/init.d/sshd start #启动ssh服务
passwd #设置root的密码

现在可以使用PuTTY或者Terminal(Snow Leopard)登录到Virtual Machine进行安装,这样可以复制/粘贴命令进行安装。

第三步:准备使用fdisk命令准备Hard Disk。

fdisk /dev/sda
The number of cylinders for this disk is set to 6527.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 
Command (m for help):

使用到fdisk的基本命令:n 创建一个分区; p 显示所有的分区; a 指定一个分区为启动分区, 显示的时候这个分区标有一个*;d 删除一个分区; t 改变一个分区的类型,Linux swap / Solaris的编号是82;l 显示所有的分区类型。
为硬盘创建一个启动分区,一个交换分区和一个根分区:

Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x5f13998e
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          17      136521   83  Linux
/dev/sda2              18          83      530145   82  Linux swap / Solaris
/dev/sda3              84        6527    51761430   83  Linux

创建完分区,使用 w 命令保存结果后退出。

第四步:格式化磁盘。

mke2fs /dev/sda1 #格式化boot分区
mke2fs -j /dev/sda3 #格式化根分区
mkswap /dev/sda2 && swapon /dev/sda2 #初始化和激活交换分区
#挂载分区
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
cd /mnt/gentoo

第五步:安装Stage和Portage。使用links命令下载x86的stage3和portage,然后进行解压:

links http://www.gentoo.org/main/en/mirrors.xml
tar xvjpf stage3-*.tar.bz2
tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

如果你提前下载了这2个文件,用scp命令copy到Virtual Machine会快很多。

第六步:配置编译选项。

nano -w etc/make.conf

添加MAKEOPTS参数,使用MAKEOPTS可以定义在安装软件的时候同时可以产生并行编译的数目,一般是CPU的数目加1。

MAKEOPTS="-j3"

第七步:切换系统。

cd /
mount -t proc proc /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
export PS1="(chroot) $PS1" #执行后,盘符就会从livecd变为(chroot)了。

第八步:设定locale、时区和主机名。

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sed -i -e 's/HOSTNAME.*/HOSTNAME="vmware-gentoo"/' /etc/conf.d/hostname
hostname vmware-gentoo
hostname -f
nano -w /etc/locale.gen

添加中文UTF-8的支持

en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK

然后支持locale-gen命令。

第九步:配置内核。安装内核和genkernel工具,对于初次安装使用genkernel会比自己配置内核容易一些,同时还可以用menuconfig参数进行自定义。

time emerge -avt gentoo-sources genkernel
zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config-2.6
genkernel --menuconfig all

使用genkernel会编译的时间比较长,编译后会在/boot/目录下生成内核文件,类型kernel-genkernel-x86-2.6.30-gentoo-r8。

第十步:编辑/etc/fstab,用实际的分区名代替BOOT、ROOT和SWAP

nano -w /etc/fstab
/dev/sda1       /boot       ext2        noauto,noatime  1 2
/dev/sda3       /           ext3        noatime          0 1
/dev/sda2       none        swap        sw               0 0

第十一步:配置系统。

echo 'config_eth0=( "192.168.1.10/24" )' >> /etc/conf.d/net
echo 'routes_eth0=( "default via 192.168.1.1" )' >> /etc/conf.d/net
rc-update add sshd default
rc-update add net.eth0 default
passwd
nano -w /etc/conf.d/clock
TIMEZONE="Asia/Shanghai"
time emerge -avt syslog-ng vixie-cron
rc-update add syslog-ng default
rc-update add vixie-cron default

第十二步:配置引导程序。

time emerge -avt grub
nano -w /boot/grub/grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
 
title Gentoo Linux 2.6.30-r8
root (hd0,0)
#-------------------------------------------------------------------
#以下内容在同一行,之间用空格分隔
#-------------------------------------------------------------------
kernel /boot/kernel-genkernel-x86-2.6.30-gentoo-r8 
    root=/dev/ram0 init=/linuxrc ramdisk=8192 
      real_root=/dev/sda3 
#-------------------------------------------------------------------
initrd /boot/initramfs-genkernel-x86-2.6.30-gentoo-r8

使用grub-install安装GRUB:

grep -v rootfs /proc/mounts > /etc/mtab
grub-install --no-floppy /dev/sda

第十三步:重启。

exit
umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
reboot

OK,现在就有了一个基本配置的Gentoo系统。

----------------------------------------------------
vmdk下载地址Gentoo.2.6.31.Base.OS.vmdk