|
其实有很多人写过了,再写一遍不为别的,记录一下自己的心得体会
我也记录下我的安装过程。
网络环境:办公室局域网 (网关:DHCP)
软件:
系统:Windows XP SP2 (ylmf 3.0 x86)
虚拟机软件:VMware-workstation-6.0.0-45731
辅助软件:putty(v0.58) 、pscp(0.58)
准备好的文件:
引导镜像:install-x86-minimal-2008.0-b1.iso
Stage3 : stage3-i686-2008.0.tar.bz2
Portage : portage-latest.tar.bz2
安装步骤
一 新建虚拟机
虚拟机主要设置:
CPU数目1\硬盘19G(SATA)\内存256M\网络连接NAT
CD-ROM用的镜像,镜像名称:install-x86-minimal-2008.0-b1.iso
二 启动虚拟机
1 由于硬盘设置成了SATA,如果引导的时候不加参数默认引导可能会发生SATA硬盘无法识别的现象,此处要加引导参数doscsi
代码:
gentoo doscsi
成功引导后会见到#开头的控制台
2 修改root密码
代码:
passwd
(输入两次新密码)
3 设置网络环境
我的网络环境参见上文,此处使用net-setup配置
代码:
net-setup
测试网络
查看当前ip设置
代码:
ifconfig
(为了方便以后操作,记录下ip地址)
如果出现network is unreachable的情况可能要重新启动一下网卡或者重新设置
代码:
/etc/init.d/net.eth0 restart
测试是否能ping通网络,可以选择大的网站测试
代码:
ping www.baidu.com
如果可以ping通可以Ctrl+C结束它继续下一步工作
4 开启SSH服务
因为虚拟机和客户机的切换比较麻烦,而且复制粘贴也受到限制,所以开启SSH服务,用putty登录上去
代码:
/etc/init.d/sshd start
至此可以把VMware放置到一边了,下面的操作都在putty里操作
VMware Workstation 6 中提供了使虚拟机运行在后台的可能,点击虚拟机右上角的叉,出现三个选项,选择Run In Backgound就可以了
5 用putty登录主机
打开putty输入主机ip(前面的ifconfig记录下的)连接,可以把会话保存,下次直接载入会话,就不必输入ip地址了
提示安全密钥验证,接受即可
然后输入用户名root和密码(第2步设置的密码)登录
6 硬盘分区
代码:
fdisk /dev/sda
如果是IDE硬盘,以后sda的地方可能要换成hda
目标分区计划:
根分区:主分区1-ext3格式-大小17.5G (虚拟机硬盘一共17G)
SWAP分区:主分区2-sawp格式-大小剩余空间
建立主分区:
代码:
n --建立新分区
p --新分区为主分区
1 --分区标志号
[回车] --开始柱面
+17500M --分区大小
建立SWAP分区
代码:
n
p
2
[回车]
[回车]
分区中没有划分逻辑分区和扩展分区,如果想划分可以参考handbook
设置/dev/sda1为启动分区
代码:
a
1
设置/dev/sda2的分区类型是swap
代码:
t
2
82 --SWAP分区类型
查看当前分区
代码:
p
类似于:
Disk /dev/sda: 19.3 GB, 19327352832 bytes
255 heads, 63 sectors/track, 2349 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2250 18073093+ 83 Linux
/dev/sda2 2251 2349 795217+ 82 Linux swap / Solaris
如果要保存退出
代码:
w
如果不保存退出
代码:
q
7 格式化分区
代码:
mke2fs -j /dev/sda1
mkswap /dev/sda2
激活SWAP分区
代码:
swapon /dev/sda2
命令参照表:
文件系统 命令
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs
8 挂载需要的分区
代码:
mount /dev/sda1 /mnt/gentoo/
mkdir /mnt/gentoo/proc
mount -t proc none /mnt/gentoo/proc
mkdir /mnt/gentoo/tmp
chmod 1777 /mnt/gentoo/tmp
9 把下载好的Stage和Portage用pscp传送到主机
打开命令行cmd,切换到pscp所在目录
代码:
pscp c:\stage3-i686-2008.0.tar.bz2 root@192.168.225.128:/mnt/gentoo/tmp
pscp c:\portage-latest.tar.bz2 root@192.168.225.128:/mnt/gentoo/tmp
10 设置时间和日期
代码:
date MMDDhhmmYYYY
11 解压Stage和Portage
代码:
tar -xjvf /mnt/gentoo/tmp/stage3-i686-2007.0.tar.bz2 -C /mnt/gentoo
tar -xjvf /mnt/gentoo/tmp/portage-latest.tar.bz2 -C /mnt/gentoo/usr
12 建立make.conf
代码:
nano -w /mnt/gentoo/etc/make.conf
文件内容可以参考 /mnt/gentoo/etc/make.conf.example或者以下我的配置文件:
CFLAGS="-march=i686 -pipe -O3 -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j2"
LDFLAGS="-Wl,-O1"
CHOST="i686-pc-linux-gnu"
FEATURES="sandbox ccache parallel-fetch"
CCACHE_SIZE="2G"
CCACHE_DIR="/var/tmp/ccache/"
LINGUAS="zh_CN"
AUTOCLEAN="yes"
#COMPILER="gcc3"
USE="7zip X aac acpi alsa arts amr asf audiofile avi bash-completion \
browserplugin bzip2 cairo cdparanoia cjk dbus directfb divx4linux divx \
dv dvb dvd dvdr dvdread encode esd fbcon flac ffmpeg firefox gif \
hal immqt jabber java javascript jpeg2k jpeg kde mad mono mp3 mp4 mpeg \
mikmod mozbranding musepack mplayer mmx nls nptl nptlonly nsplugin moznopango \
ogg opengl oss pdf portaudio png qt3 quicktime rar real samba sox speex sse \
truetype udev unicode usb vorbis wavpack win32codecs wma x264 xcomposite \
xine xv xvid zeroconf -accessibility -aim -altivec -bidi -bluetooth -cdr \
-canna -gnome -gstreamer -ipv6 -zlib "
#cdr bluetooth sse mmx nvidia
ACCEPT_KEYWORDS="~x86"
FETCHCOMMAND="/usr/bin/wget -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
RESUMECOMMAND="/usr/bin/wget -c -t 5 -T 60 --passive-ftp \${URI} -P \${DISTDIR}"
#PORTDIR_OVERLAY="/usr/local/portage"
#ALSA_CARDS="via82xx"
#VIDEO_CARDS="nv"
INPUT_DEVICES="keyboard mouse"
#DISTDIR="/var/distfiles"
#http_proxy="165.228.129.10:3128"
#GENTOO_MIRRORS="http://mirror.gentoo.gr.jp/"
GENTOO_MIRRORS="http://61.135.158.199/"
SYNC="rsync://61.135.158.199/gentoo-portage"
13 复制DNS配置
代码:
cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
14 进入新环境
代码:
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
可以升级一下portage
代码:
emerge --sync
也许还会提示升级portage
代码:
emerge portage
15 开启ccache
代码:
emerge ccache
16 设置时区
代码:
rm /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
nano -w /etc/conf.d/clock
修改使 CLOCK="local"
17 设置locale
代码:
nano -w /etc/locale.gen
参考:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
zh_CN.GB18030 GB18030
zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.UTF-8 UTF-8
代码:
locale-gen
18 安装内核源码
代码:
emerge gentoo-sources
检查源码链接
代码:
ls -l /usr/src/linux
结果类似于:
lrwxrwxrwx 1 root root 19 May 16 18:56 /usr/src/linux -> linux-2.6.21-gentoo
19 编译内核
可以采用genkernel或者手动编译,此处采用手动编译
代码:
cd /usr/src/linux
make menuconfig
然后就可以选择需要或不需要的项了,请自行参考其他资料
代码:
make && make modules_install
安装内核
代码:
cp arch/i386/boot/bzImage /boot/linux-2.6.21-gentoo
20 修改/etc/fstab
代码:
nano -w /etc/fstab
参考:
# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency). It's safe to drop the noatime options if you want and to
# switch between notail / tail freely.
#
# The root filesystem should have a pass number of either 0 or 1.
# All other filesystems should have a pass number of 0 or greater than 1.
#
# See the manpage fstab(5) for more information.
#
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda2 none swap sw 0 0
/dev/sda1 / ext3 noatime 0 1
#none /proc proc defaults 0 0
#none /dev/shm tmpfs nodev,nosuid,noexec 0 0
/dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0
#/dev/sda3 /windows/C ntfs rw,users,gid=users,umask=0002,nls=utf8 0 0
#/dev/sda4 /windows/D vfat defaults,iocharset=utf8,umask=0002,codepage=936 0 0
#/dev/sdb1 /mnt/usb auto noatime,noauto,user,rw,iocharset=utf8 0 0
#/dev/fd0 /mnt/floppy auto noauto 0 0
# NOTE: The next line is critical for boot!
proc /proc proc defaults 0 0
# glibc 2.2 and above expects tmpfs to be mounted at /dev/shm for
# POSIX shared memory (shm_open, shm_unlink).
# (tmpfs is a dynamically expandable/shrinkable ramdisk, and will
# use almost no memory if not populated with files)
shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
21 设定主机名
代码:
nano -w /etc/conf.d/hostname
例如:
HOSTNAME="sonic"
22 设定域名
代码:
nano -w /etc/conf.d/net
例如:
dns_domain_lo="workgroup"
23 配置网络
代码:
nano -w /etc/conf.d/net
我是DHCP,内容类似:
config_eth0=( "dhcp" )
dhcp_eth0="nodns nontp nonis"
修改网络信息:
代码:
nano -w /etc/hosts
127.0.0.1 sonic.workgroup sonic localhost
24 安装dhcp工具
代码:
emerge dhcp dhcpcd
25 设置root密码
代码:
passwd
添加root串口终端登录
代码:
echo "tts/0" >> /etc/securetty
26 安装必要的系统工具
日志管理工具
代码:
emerge syslog-ng
rc-update add syslog-ng default
Cron工具
代码:
emerge vixie-cron
rc-update add vixie-cron default
27 安装grub
代码:
emerge grub
配置grub.conf
代码:
nano -w /boot/grub/grub.conf
参考
default 0
timeout 5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
#title Gentoo Linux (gensplash)
#root (hd0,0)
#kernel /boot/linux-2.6.21-gentoo root=/dev/sda1 nomce doscsi
#kernel /boot/linux-2.6.21-gentoo root=/dev/sda1 video=vesafb:mtrr:3,ywrap, doscsi , splash=verbose,splash=silent,kdgraphics,theme:livecd-2007.0 #vga=792 quiet CONSOLE=/dev/tty1
#initrd (hd0,0)/boot/fbsplash-livecd-2006.1-1024x768
title Gentoo
root (hd0,0)
kernel /boot/linux-2.6.21-gentoo root=/dev/sda1 nomce doscsi
#title=Windows XP
#rootnoverify (hd0,0)
#makeactive
#chainloader +1
安装grub
代码:
grub --no-floppy
root (hd0,0)
setup (hd0)
quit
28 加入一个普通用户
代码:
useradd -m -G users,wheel,audio -s /bin/bash sonic
passwd sonic
29 安装xorg-x11
代码:
emerge xorg-x11
|