准备工作:
1、在你的宿主OS 上配置好 VMWare WorkStation (我用的是V4.5)。
2、下载一个LiveCD 用来boot 你的Virtual Machine。我下载的 install-x86-minimal-2004.1.iso 。
3、挂载ISO到VM 的CDROM设备,然后boot VM。
一、启动
在出现 boot: 提示符后输入boot 的参数如:
--------------------------------------------------------------------------------
boot:gentoo doscsi noraid nohotplug
--------------------------------------------------------------------------------
//vmware 的硬盘是虚拟的SCSI设备,不然用default 选项boot后在fdisk 时无法分区。
顺利启动成功后看到了久违的 # 提示符
二、更改root(用LiveCD 这个的,和后面的chroot后的不是同一个) 的登陆密码,方便切换多个终端来干活,不更改好像无法登陆第二个以上。
--------------------------------------------------------------------------------
LiveCD root # passwd
--------------------------------------------------------------------------------
三、配置网卡
如果你的VM建的时候就是按默认选项的,那么你的宿主机怎么配网,VM也怎么配就OK了。
加载内核网卡驱动模块:
--------------------------------------------------------------------------------
# modprobe pcnet32
--------------------------------------------------------------------------------
(因为vmware的网卡也是虚拟的,AMD AM79C970A的)
--------------------------------------------------------------------------------
# net-setup eth0
--------------------------------------------------------------------------------
然后选 2 依次输入IP地址,掩码,网关,DNS等等。如果你的网关用DHCP 那就选 1
测试一下网路是否可以用了
--------------------------------------------------------------------------------
# ping www.163.com
--------------------------------------------------------------------------------
如果可以得到解析的IP,不用等了,那就是OK了,直接^C 结束了继续后边的事呢。
其实在VM里装系统是个很累的工作,所以,我用 SSH Secure Shell 来登录VM里的Linux 然后进行下面的安装。因此我们得要把sshd 给启动起来,这样,如果你有固定internet IP 的话,你甚至可以在任何可以连接到你的机器继续安装系统。
--------------------------------------------------------------------------------
# /etc/init.d/sshd start
--------------------------------------------------------------------------------
下面的工作将在SSH Secure Shell Client 继续。
四、分区和建立文件系统
--------------------------------------------------------------------------------
# fdisk /dev/sda
--------------------------------------------------------------------------------
================================================================================
Command (m for help): n //建立一个新分区
e extended //扩展分区
p primary partition (1-4) //主分区
p //输入p 建立一个主分区
Partition number (1-4): 1
First cylinder (1-3876, default 1): //起始柱面,直接回车就是了
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M //输入一个大小用+sizeM 最好
依次建立你需要的分区数,我建了三个,/sda1 /sda2 /sda3
/dev/sda1 我计划用来做boot分区
/dev/sda2 Swap区
/dev/sda3 / 分区
Command (m for help): a //然后输入 1 设置/dev/sda1分区为启动分区
Command (m for help): t //然后输入 2 ,然后提示输入分区类型代码时输入 82 将 /dev/sda2 转换成 Linux swap 分区
然后
Command (m for help): w // 写入磁盘(当然是虚拟的盘了,很安全的说,嘿嘿)分区表,并退出fdisk
================================================================================
建立文件系统:
命令参照表:
文件系统 命令
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs
所以我就可以
--------------------------------------------------------------------------------
# mke2fs /dev/sda1
# mke2fs -j /dev/sda3
# mkswap /dev/sda2 //初始化swap区
# swapon /dev/sda2 //激活swap区
--------------------------------------------------------------------------------
然后我们需要为chroot做好准备,把文件系统mount 上
--------------------------------------------------------------------------------
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
# mkdir /mnt/gentoo/proc
# mount -t proc none /mnt/gentoo/proc
--------------------------------------------------------------------------------
五、安装stage3
--------------------------------------------------------------------------------
# cd /mnt/gentoo
--------------------------------------------------------------------------------
从网络安装:
(不使用代理服务器)
--------------------------------------------------------------------------------
# links2 http://www.gentoo.org/main/en/mirrors.xml
--------------------------------------------------------------------------------
(使用代理服务器)
--------------------------------------------------------------------------------
# links2 -http-proxy proxy.server.com:8080 http://www.gentoo.org/main/en/mirrors.xml
--------------------------------------------------------------------------------
然后就可以到get gentoo ==>> mirrors 选择HongKong 那个站点下载
我下载的是
stage3-pentium4-2004.1.tar.bz2
为了确保下载的是完整的,最好把 md5 文件也下载了
stage3-pentium4-2004.1.tar.bz2.md5
然后
--------------------------------------------------------------------------------
# cat stage3-pentium4-2004.1.tar.bz2.md5
# md5sum stage3-pentium4-2004.1.tar.bz2
--------------------------------------------------------------------------------
如果md5码没问题就解压缩吧 (注意此时目录一定要是在 /mnt/gentoo )
--------------------------------------------------------------------------------
# tar -xvjpf stage3-pentium4-2004.1.tar.bz2
--------------------------------------------------------------------------------
六、 安装Portage
因为是从miniCD boot的系统,在CDROM 上没有Portage的包
所以我只好上网去down了
--------------------------------------------------------------------------------
# wget http://ftp.easynet.nl/mirror/gentoo/snapshots/portage-20040707.tar.bz2
--------------------------------------------------------------------------------
下载完后解压Portage包 (如果不下载,留到 sync 的时候来同步 Portage 我想也是可以的,不过偶对wget 是不是可以下载完整有点怀疑)
--------------------------------------------------------------------------------
#tar -xvjf /mnt/gentoo/portage-20040707.tar.bz2 -C /mnt/gentoo/usr
--------------------------------------------------------------------------------
建立目录distfiles
--------------------------------------------------------------------------------
# mkdir /mnt/gentoo/usr/portage/distfiles
--------------------------------------------------------------------------------
七、准备和配置编译
--------------------------------------------------------------------------------
# nano -w /mnt/gentoo/etc/make.conf
--------------------------------------------------------------------------------
//如果下载的stage和你的机器比较匹配,那几乎不需要改动什么的。
其他参数可以参考 /mnt/gentoo/etc/make.conf.example
选择比较快的镜像站点加入make.conf
--------------------------------------------------------------------------------
# mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf
--------------------------------------------------------------------------------
Copy DNS配置
--------------------------------------------------------------------------------
# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
--------------------------------------------------------------------------------
Chroot 进入新的编译环境
一、chroot
--------------------------------------------------------------------------------
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
--------------------------------------------------------------------------------
Note : 如果 env-update 提示出错,看一下 /etc/make.conf 是不是有错,刚才, mirrorselect 会加入镜像站点地址,但是那一行上面会多出一行多余的提示信息,注释掉或删掉都可以。
二、更新 Portage
--------------------------------------------------------------------------------
# emerge sync
{如果不能完成,就用下面的命令
# emerge-webrsync }
--------------------------------------------------------------------------------
三、USE设置
--------------------------------------------------------------------------------
# nano -w /etc/make.conf
--------------------------------------------------------------------------------
加入:
USE="-gtk -gnome qt kde alsa"
四、下载必须的源码
--------------------------------------------------------------------------------
# cd /usr/portage
# scripts/bootstrap.sh -f
--------------------------------------------------------------------------------
编译它
--------------------------------------------------------------------------------
# scripts/bootstrap.sh
--------------------------------------------------------------------------------
如果有改变过 预置的环境变量,那么需要用
--------------------------------------------------------------------------------
# source /etc/profile
--------------------------------------------------------------------------------
更新一下。
续:
五、从stage2 到 stage3 (如果你是从stage3 开始的就应该可以不做了)
看看你将需要做的内容:
--------------------------------------------------------------------------------
# emerge --pretend system | less
--------------------------------------------------------------------------------
获取源码:
--------------------------------------------------------------------------------
# emerge --fetchonly system // 上周做到这里了。
--------------------------------------------------------------------------------
编译系统:
--------------------------------------------------------------------------------
# emerge system
--------------------------------------------------------------------------------
顺利的做完了这些,我们就可以编译内核了。
编译内核
一、设置时区
--------------------------------------------------------------------------------
# cd /etc
# rm localtime
# ln -sf /usr/share/zoneinfo/Asia/Shanghai localtime
# nano -w/etc/rc.conf
--------------------------------------------------------------------------------
修改使 CLOCK="PRC"
二、下载内核的源码包
使用 2.4.X 内核
--------------------------------------------------------------------------------
# emerge gentoo-sources
--------------------------------------------------------------------------------
使用 2.6.X 内核
--------------------------------------------------------------------------------
# emerge gentoo-dev-sources
--------------------------------------------------------------------------------
三、修改内核源码目录链接
--------------------------------------------------------------------------------
# ls -l /usr/src/linux
在这里你可以看到你下载的源码的目录
# rm /usr/src/linux && ln -s /usr/src/linux-2.6.7-gentoo-r8/usr/src/linux
--------------------------------------------------------------------------------
四、配置内核编译选项
--------------------------------------------------------------------------------
# cd /usr/src/linux
# make menuconfig
--------------------------------------------------------------------------------
(因为是在VMware 上装,所以,我们只要保留默认的选项,再加上对scsi 、AMDpcnet32 、 ext2 的支持就可以了,其他的如果认为用的上也可以编译到内核里。
五、 编译内核:
--------------------------------------------------------------------------------
(For 2.4 kernel)
# make dep && make bzImage modules modules_install
(For 2.6 kernel)
# make && make modules_install
--------------------------------------------------------------------------------
copy 编译好的内核到 /boot
--------------------------------------------------------------------------------
# cp arch/i386/boot/bzImage /boot/kernel-2.4.25-gentoo
# cp System.map /boot/System.map-2.4.25-gentoo
--------------------------------------------------------------------------------
其实,我们可以用Gentoo 提供的 genkernel 来编译内核。
--------------------------------------------------------------------------------
# emerge genkernel
# genkernel all
--------------------------------------------------------------------------------
六、其它
修改启动选项
--------------------------------------------------------------------------------
#nano -w /etc/fstab
/dev/hda10 / ext3 noauto,noatime 1 1
/dev/hda9 none swap sw 0 0
--------------------------------------------------------------------------------
主机名
--------------------------------------------------------------------------------
#echo myhost > /etc/hostname
#echo mydomain > /etc/dnsdomainname
#echo myip myhost.mydomain myhost >> /etc/hosts
#rc-update add domainname default
--------------------------------------------------------------------------------
网络(修改ip地址)
--------------------------------------------------------------------------------
#nano -w /etc/conf.d/net
#rc-update add net.eth0 default
#passwd
#exit
--------------------------------------------------------------------------------
在Fedora Core 1的Grub添加Gentoo的启动选项
--------------------------------------------------------------------------------
#vi /boot/grub/grub.conf
title Gentoo
root (hd0,9)
kernel /boot/vmlinuz-2.4.25 root=/dev/hda10
--------------------------------------------------------------------------------
#umount /mnt/gentoo/proc
#umount /mnt/gentoo
#umount /mnt/iso
#umount /mnt/cdrom
#reboot
重启后在Grub引导菜单选择Gentoo就可以使用Gentoo了。
七、Gentoo下设置
时区
--------------------------------------------------------------------------------
#ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
--------------------------------------------------------------------------------
开启硬盘DMA
--------------------------------------------------------------------------------
#nano -w /etc/conf.d/local.start
hdparm -c 1 -d 1 /dev/hda
--------------------------------------------------------------------------------
系统日志
#emerge syslog-ng
#rc-update add syslog-ng default
--------------------------------------------------------------------------------
硬盘安装
--------------------------------------------------------------------------------
#mount /dev/hda7 /mnt/floppy
#mount -o loop /mnt/floppy/packages-x86-2004.1.iso /mnt/cdrom
#export="/mnt/cdrom"
#emerge -k xfree
#USE="bindist" emerge -k kde
#emerge -p kde
#nano -w /etc/rc.conf
CLOCK="local" (以后可用 date 更改本地时间)
DISPLAYMANAGER="kdm"
XSESSION="KDE-3.2.1"
--------------------------------------------------------------------------------
配置XFree
--------------------------------------------------------------------------------
#xf86config
鼠标的协议使用IMPS/2
#nano -w /etc/X11/XF86Config
Section "Device"
Identifier "Intel845GL"
Driver "vga"
EndSection
把Driver "vga"改成Driver "i810"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "Auto"
Option "Device" "/dev/mouse"
添加
Option "ZAxisMapping" "4 5"
#LINGUAS zh_CN emerge kde-i18n
--------------------------------------------------------------------------------
cp了simsum字体, 在控制中心regional & accessibility->country/region & language里添加Simplified Chinese。
把有设置字体的地方,字体都改为simsun.
--------------------------------------------------------------------------------
开启小键盘、fcitx输入法
--------------------------------------------------------------------------------
#emerge numlockx
#emerge fcitx
#nano -w /.xinitrc
export LC_CTYPE=zh_CN.gbk
export LANG=zh_CN.gbk
export XMODIFIERS=@im=fcitx
fcitx &
numlockx &
exec startkde
--------------------------------------------------------------------------------
#reboot
ALSA
--------------------------------------------------------------------------------
#emerge alsa-driver
#emerge alsa-lib
#emerge alsa-utils
#emerge alsa-oss
#rc-update add alsasound boot
#nano /etc/modules.d/alsa
alsa snd-card-0 snd-intel8x0
alsa sound-slot-0 snd-card-0
重启
调节音量(默认静音, m 键静音开关)
#alsamixer
--------------------------------------------------------------------------------
xmms完美中文支持
--------------------------------------------------------------------------------
#nano -w /etc/gtk/gtkrc.zh_CN
-misc-simsun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,-*-*-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0,*-r-*
#cp /etc/gtk/gtkrc.zh_CN ~/.gtkrc
--------------------------------------------------------------------------------
xmms字体
-sony-*-*-*-*-*-16-*-*-*-*-*-iso8859-1,-*-*-*-*-*-*-16-*-*-*-*-*-gbk-0
--------------------------------------------------------------------------------
校正系统时间
--------------------------------------------------------------------------------
#emerge rdate
#rdate -s time.nist.gov
--------------------------------------------------------------------------------
为Konqueror添加flash插件
到 http://www.macromedia.com 下载linux版的flash插件。
解压后
--------------------------------------------------------------------------------
#mkdir ~/.netscape
#mkdir ~/.netscape/plugins
#cp libflashplayer.so flashplayer.xpt ~/.netscape/plugins
--------------------------------------------------------------------------------
在"Konqueror配置" ---> "插件"中,"扫描新插件"就可以了。
安全
--------------------------------------------------------------------------------
#nano -w /etc/inittab
注释掉以下几行,即:
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6
八、从kernel-2.4.25升级到kernel-2.6.5心得
--------------------------------------------------------------------------------
#emerge gentoo-dev-sources
#cd /usr/src/linux-2.6.5-r1
#make menuconfig
#make
#make bzImage
#make modules
#make modules_install
#cp /usr/src/linux-2.6.5-r1/System.map /boot/System-2.6.5-r1
#cp /usr/src/linux-2.6.5-r1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.5-r1
--------------------------------------------------------------------------------
修改/boot/grub/grub.conf,同上文类似。
--------------------------------------------------------------------------------
需要注意的地方:
Processor --->
Preemptible kernel
Block Devices --->
Loopback
File System中一定要选上
/dev....(Obsolute)
去掉 Symentric Multi Processor 和 ACPI 的支持。
Sound用默认的很好,完美支持ALSA,我的xmms没有一点爆音。