LinuxSir.cn,穿越时空的Linuxsir!

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

实现硬盘安装gentoo (虚拟机 VMware Workstation)

[复制链接]
发表于 2009-2-18 12:32:35 | 显示全部楼层 |阅读模式
前提:有电脑一台,装有windows操作系统xp,vista均可


准备操作:

第一步:下载 VMware Workstation, http://www.crsky.com/soft/1863.html  并且安装(我不支持盗版,如感觉用着很爽请购买正版),

下载install-x86-minimal-2007.0.iso (http://mirrors.163.com/gentoo/re ... nimal-2007.0.iso)

下载stage3-i686-2008.0.tar.bz2 (http://mirrors.163.com/gentoo/re ... i686-2008.0.tar.bz2)  

下载portage-latest.tar.bz2  (http://mirror.averse.net/pub/gen ... tage-latest.tar.bz2)

下载EasyBCD    http://www.crsky.com/soft/10734.html

第二步:准备磁盘,在硬盘分区中留出大约20G以上的未使用空间。分区,鼠标(右键击打) 我的电脑/计算机-->管理-->磁盘管理-->鼠标(右键击打)20G未使用空间-->新建分区-->大小为2048M-->不给分区盘符-->不格式化-->结束分区(20G未使用空间里先分出2G作为swap分区)。同样方法把剩下的18G再划分出来作为/根分区。

第三步:启动VMware,点选 File-->New-->Virtual Machine-->Custom(advanced)-->Workstation6.5-->Installer disc image file (iso)--Browes--选择下载好的install-x86-minimal-2007.0.iso-->linux--Version(下拉)--Other Linux 2.6x kernel-->此处名称什么的任意填吧-->此处选择CPU核心如果有两核就选Two一个核心就选One吧-->分配内存如果内存够大就多选点吧我选512M-->Use bridged networking-->BusLogic-->Use a physical disk (for advanced users)-->Use individual partitions-->构选上新建的两个分区-->next>-->Finish 这时VMware会自动启动。

第四步:鼠标双击一下VMware启动屏幕,就进了VMware模式如需释放鼠标按下Ctrl+Alt.

Gentoo 安装操作

第一步准备磁盘: (下面将以本人的机器硬盘分区为准,如有雷同实属巧合)
  1. #fdisk -l
  2. Disk /dev/hda: 120.0 GB, 120034123776 bytes
  3. 240 heads, 63 sectors/track, 15505 cylinders
  4. Units = cylinders of 15120 * 512 = 7741440 bytes
  5. Disk identifier: 0xc2db70d3
  6.    Device Boot      Start         End      Blocks   Id  System
  7. /dev/hda1               1        6243    47189528   2d  Unknown
  8. /dev/hda2            6243       13179    52436992   2d  Unknown
  9. /dev/hda3           13179       15374    16595145   83  Linux
  10. /dev/hda4           15374       15505      995526   82  Linux swap / Solaris
  11. #mkreiserfs /dev/hda3  /*格式化hda3分区为reiserfs格式*/
  12. #mkswap /dev/hda4     /*格式化hda4分区为swap格式也就是交换分区*/
  13. #swapon /dev/hda4      /*使用交换分区*/
  14. #mount /dev/hda3 /mnt/gentoo   /*将/dev/hda3分区加载到 /mnt/gentoo文件夹下*/
  15. #mkdir /mnt/win     /*在/mnt/下新建一个文件夹win*/
  16. #mount /dev/hda1 /mnt/win -t ntfs -o nls=utf8,umask=0222  /*将/dev/hda1分区加载到/mnt/win下,这是NTFS格式挂载*/
  17. FAT32加载格式为:
  18. #mount /dev/hda1 /mnt/win -t vfat -o iocharset=utf8,umask=000
  19. #copy /mnt/win/tddownload/*.tar.bz2 /mnt/gentoo  /*将下载好的stage3-i686-2008.0.tar.bz2和portage-latest.tar.bz2 copy到/mnt/gentoo文件夹下*/
复制代码
如果有U盘的话可以将两个文件copy到U盘再到VMware下加载U盘再COPY文件到/mnt/gentoo下,如有想在VMware下只接下载文件的,用wget。


第二步准备文件:
  1. #cd /mnt/gentoo
  2. #tar xvjpf stage3-*.tar.bz2
  3. #tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr
  4. #nano -w /mnt/gentoo/etc/make.conf     /*编辑make.conf*/
复制代码
CHOST变量   声明了你的系统的target、build和host
CFLAGS和CXXFLAGS  变量分别定义了gcc C和C++编译器的优化标记

如果想要知道自己的CPU需要怎么样的优化使用命令
  1. #cat /proc/cpuinfo
复制代码
对比查看这个网址

http://en.gentoo-wiki.com/wiki/Safe_Cflags/Intel

选择适合自己CPU的

我的机器是:
  1. CHOST="i686-pc-linux-gnu"
  2. CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
  3. CXXFLAGS="${CFLAGS}"
复制代码

贴出我的make.conf
  1. # These settings were set by the catalyst build script that automatically
  2. # built this stage.
  3. # Please consult /etc/make.conf.example for a more detailed example.
  4. CFLAGS="-march=native -O2 -pipe -fomit-frame-pointer"
  5. CXXFLAGS="${CFLAGS}"
  6. # This should not be changed unless you know exactly what you are doing.  You
  7. # should probably be using a different stage, instead.
  8. CHOST="i686-pc-linux-gnu"
  9. GENTOO_MIRRORS="ftp://gentoo.anheng.com.cn/gentoo \
  10.                 http://mirror.averse.net/pub/gentoo/
  11.                                 http://gentoo.cs.nctu.edu.tw/gentoo"
  12. #GENTOO_MIRRORS="ftp://ftp.ncnu.edu.tw/Linux/Gentoo http://ftp.isu.edu.tw/Linux/Gentoo"
  13. SYNC="rsync://rsync.gentoo.org/gentoo-portage"
  14. ACCEPT_KEYWORDS="~x86"
  15. MAKEOPTS="-j4"
  16. FEATURES="confcache parallel-fetch ccache"
  17. LINGUAS="zh_CN zh_TW"
  18. USE="X vim-syntax pulseaudio smp real xcb v4l v4l2 -ldap -oss -gstreamer -esd
  19.         aac mmx sse sse2 ssse3 fam alsa jpeg gif png -gnome -cups kdeenablefinal
  20.         opengl hal -ipv6  xml acpi -kerberos -spell pch bash-completion zh_CN
  21.         zh_TW cjk mpg123 hal dbus jp2k xvid divx win32codecs irc"
  22. INPUT_DEVICES="keyboard mouse evdev"
  23. VIDEO_CARDS="i810 intel vesa"
  24. ALSA_CARDS="hda-intel "
  25. DISTDIR="/var/tmp/portage/distfiles"
  26. PKGDIR="/var/tmp/portage/packages"
  27. source /usr/local/portage/layman/make.conf
复制代码


为什么我的-march=native因为GCC4.3会自动帮你优化,注意GCC4.3以下版本不可以使用!

编辑好make.conf后 Ctrl+x 按y保存退出

第三步chroot
  1. # cp -L /etc/resolv.conf /mnt/gentoo/etc/    /*copy DNS信息*/
  2. # mount -t proc none /mnt/gentoo/proc      /*挂载proc*/
  3. # mount -o bind /dev /mnt/gentoo/dev       /*挂载dev*/
  4. # chroot /mnt/gentoo /bin/bash                  /*将/mnt/gentoo变成系统根目录,新的系统环境*/
  5. # env-update                                                
  6. >> Regenerating /etc/ld.so.cache...
  7. # source /etc/profile
  8. # emerge --sync                                          /*更新目录树*/
  9. # emerge protage                                        /*新版本的Portage将同时更新eselect*/  
  10. # eselect profile list
  11.     Available profile symlink targets:
  12.     [1] default-linux/x86/2006.1
  13.     [2] default-linux/x86/2006.1/desktop
  14.     [3] default-linux/x86/2007.0
  15.     [4] default-linux/x86/2007.0/desktop
  16.     [5] hardened/x86/2.6
  17.     [6] selinux/2007.0/x86
  18.     [7] selinux/2007.0/x86/hardened
  19.     [8] default/linux/x86/2008.0
  20.     [9] default/linux/x86/2008.0/desktop *
  21.     [10] default/linux/x86/2008.0/developer
  22.     [11] default/linux/x86/2008.0/server
  23.     [12] hardened/linux/x86
  24. # eselect profile set 9
  25. # ls -FGg /etc/make.profile
  26.    lrwxrwxrwx  1 48 Apr  8 18:51 /etc/make.profile -> ../usr/portage/profiles/default/linux/x86/2008.0/desktop
  27. # nano -w /etc/locale.gen
  28. 输入
  29. zh_CN GB2312
  30. zh_CN.GB18030 GB18030
  31. zh_CN.GBK GBK
  32. zh_CN.UTF-8 UTF-8
  33. zh_HK BIG5-HKSCS
  34. zh_HK.UTF-8 UTF-8
  35. zh_TW BIG5
  36. zh_TW.EUC-TW EUC-TW
  37. zh_TW.UTF-8 UTF-8
  38. Ctrl+x Y 保存退出
  39. # locale-gen
复制代码

安装配置内核
  1. #emerge gentoo-sources genkernel gentoolkit grub
  2. #genkernel –menuconfig –bootloader=grub all   /*–bootloader=grub会自动帮你更新grub.conf文件*/
  3. 此处配置请参照   http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml?part=1&chap=7
复制代码

第四步修改并安装部份文件
  1. #nano -w /etc/fstab   
  2. 我的机器如下
  3. # <fs>                        <mountpoint>        <type>                <opts>                <dump/pass>
  4. # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
  5. #/dev/BOOT                /boot                ext2                noauto,noatime        1 2
  6. /dev/sda3                /                        reiserfs        noatime                0 1
  7. /dev/sda4                none                swap                sw                0 0
  8. #/dev/cdrom                /mnt/cdrom        auto                noauto,ro        0 0
  9. #/dev/fd0                /mnt/floppy        auto                noauto                0 0
  10. # glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
  11. # POSIX shared memory (shm_open, shm_unlink).
  12. # (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
  13. #  use almost no memory if not populated with files)
  14. shm                        /dev/shm        tmpfs                nodev,nosuid,noexec        0 0
复制代码

安装部份系统文件 此于参考  http://www.gentoo.org/doc/zh_cn/ ... l?part=1&chap=9
  1. # emerge syslog-ng
  2. # rc-update add syslog-ng default
  3. # emerge vixie-cron
  4. # rc-update add vixie-cron default
  5. # emerge reiserfsprogs
  6. # emerge dhcpcd
  7. # emerge iwlwifi-4965-ucode  /*如果有无线网卡的话*/
复制代码



第五步修改grub文件,并安装grub
  1. #cd /boot/grub
  2. #nano -w grub.conf /*编辑grub配置文件 */
复制代码

此处需要说明一下,grub读硬盘分区是从0如(hd0)开始而linux realroot是从1如(hda1/sda1))开始所有会有误差,而且又是在虚拟机里面所以我们需要手动修改一下。如果你是IDE硬盘用hda如果是sata硬盘则是sda.
我的linux根分区为hda3如我的机器则改成:/dev/sda3
  1. title Gentoo-Source 2.6.28
  2. root (hd0,2)
  3. kernel /boot/kernel-genkernel-x86-2.6.28-gentoo-r1 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3
  4. initrd /boot/initramfs-genkernel-x86-2.6.28-gentoo-r1
复制代码

安装grub  注意:此处并非安装在物理硬盘的零磁道,而是安装在虚拟机里
  1. # grub
  2. # root (hd0,2)
  3. # setup (hd0)
  4. # quit
复制代码

第六步 退出VMware 安装EasyBCD

退出系统
  1. # exit
  2. # cd
  3. # umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
复制代码

按下Ctrl+Alt从虚拟机里释放出鼠标单出power off  (VMware办软件工具栏项里 红色的正方块)

安装EasyBCD-->运行EasyBCD-->Add/Remove Entries-->linux-->构选GRUB isn't installed to the bootsector--单击"Add Entry"--单击上方的"Save-->Manage Bootloader-->Reinstall the Vista Bootloader--Write MBR-->Change Settings-->Bootloader Timeout 选择10--Save Settings
退出EasyBCD

重起系统选择NeoSmart Linux 启动项.
发表于 2009-2-18 13:25:54 | 显示全部楼层
不错的教程,怕麻烦的人还可以尝试用 lfs-6.3 livecd + gentoo stage3 安装,该 livecd 支持从硬盘启动。见 http://www.linuxfromscratch.org/livecd/index.html
回复 支持 反对

使用道具 举报

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

本版积分规则

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