Gentoo Linux安装笔记
准备工作
首先,下载liveCD文件、stage3文件和portage镜像文件。liveCD是个可启动的Linux环境光盘,它可以自动检测计算机的硬件配置并加载相应的驱动程序。我们通过liveCD系统进行安装前的的准备工作,并用来过渡到stage3环境上。stage3可以理解为一个Gentoo最小环境,它是Gentoo的地基,我们在此基础上构建Gentoo的高楼大厦。portage是gentoo的软件管家,它会根据你的吩咐定制软件。要下载的文件诸如此类:
-
install-x86-minimal-20100216.iso
-
stage3-i686-20100216.tar.bz2
-
portage-20100327.tar.bz2
我们可以将stage3文件和portage镜像文件放到liveCD ISO镜像中,这样就不必再到网上寻觅。
开始安装
挂上iso镜像光盘,开机进入liveCD环境,第一件事情:设置网络,确保网络畅通。可采用如下方法即时修改网络配置:
# ifconfig eth0 ${IP地址} broadcast ${广播} netmask ${子网掩码} up
# route add default gw ${网关}
# vi /etc/resolv.conf (modify: nameserver ${DNS})
接下来分区。至少要有一个/根分区,如今的内存都巨大,swap分区基本上用不到,可有可无。(分区类型ID:ext3为83、swap为82)
创建和挂在文件系统。格式化安装分区和交换分区,并激活交换分区:
# mke2fs -j /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
接下来挂在我们的/根分区,并请进stage3和portage。
# mount /dev/sda1 /mnt/gentoo
# cd /mnt/gentoo
# tar xvjpf /mnt/cdrom/stage3/stage3-i686-20100216.tar.bz2
# tar xvjf /mnt/cdrom/portage/portage-20100327.tar.bz2 -C /mnt/gentoo/usr
配置portage从"/mnt/gentoo/etc/make.conf” 开始:
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"
MAKEOPTS="-j3"
GENTOO_MIRRORS=""
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage"
USE="-gnome -gtk -kde -qt3 -qt4 -ipv6 bash-completion"
在stage3登场之前,还要做一件事情:用livecd环境中的lspci命令,输出本机的pciinfo信息,已备后用:
# lspci > /mnt/gentoo/root/pciinfo
# lspci -n >> /mnt/gentoo/root/pciinfo
是时候让stage3登场了:
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
现在,stage3掌管系统,在此基础上,我们要构建Linux内核,并安装grub,完成gentoo的组装。那么,在开始之前,我们要编辑语言风格和时钟风格:
编辑/etc/locale.gen文件:
- #vim /etc/locale.gen
- en_US ISO-8859-1
- en_US.UTF-8 UTF-8
- zh_CN GB18030
- zh_CN.GBK GBK
- zh_CN.GB2312 GB2312
- zh_CN.UTF-8 UTF-8
执行:# locale-gen
编辑/etc/env.d/02locale:
-
LANG="en_US"
-
LC_CTYPE="zh_CN.UTF-8"
执行:# env-update && source /etc/profile
给小Gentoo挂上北京时间:
# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# vi /etc/conf.d/clock (CLOCK="local",TIMEZONE="Asia/Shanghai")
下面,开始构建内核。下载内核源码:
# emerge --sync
# emerge gentoo-sources
哦?要编译内核啦?!别告诉我配置内核尽显男人本色^&%$$#,不听不听,老鳖念经!轻松,轻松一点,嘿嘿,俺有大杀器:
# emerge genkernel
复制livecd上的内核配置文件到genkernel可以搜索到的默认位置,这样我们编译出来的系统就会与livecd一样了,光盘上的是高手打造,经过很多人测试的,可以放心使用啦,哈哈。
# zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
编译内核就这么简单:
# genkernel all
内核编译大功告成。接下来,配置一下/etc/fstab,我们的Gentoo就是根据这个菜单挂载硬盘的。照着例子小修改一把,如此这般就搞定了。
是时候给Gentoo小朋友起个名字了,编辑/etc/conf.d/hostname,起个响亮的名字——比如:鸭蛋真土。在把鸭蛋儿的网络配置下:编辑etc/conf.d/net,加上config_eth0=( "dhcp" ),自动获取ip。然后:
# rc-update add net.eth0 default (让鸭蛋的网络闻鸡起舞)
再给root一个口令:#passwd xxxxxx。
最后,安装开机引导程序grub:
#emerge grub
为了安装GRUB,我们需要执行grub-install命令来安装grub,但是我们所处的环境仅是stage3环境,grub-install还不能正常工作。因为它需要一个叫mtab的文件,里面列出所有已加载的文件系统,我们没有。幸运的是,有一个简单的方法来完成这个任务——将/proc/mounts拷贝成/etc/mtab,如果您没有创建一个独立的boot分区,请排除rootfs行。
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install --no-floppy /dev/hda
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.32-gentoo-r7 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda1
initrd /boot/initramfs-genkernel-x86-2.6.32-gentoo-r7
附:手工配置内核所用的grub.conf:
default 0
timeout 30
splashimage=(hd0,0)/grub/splash.xpm.gz
title=Gentoo Linux
root (hd0,0)
kernel /boot/kernel-2.6.32-gentoo-r7 root=/dev/hda1
最后,设置root密码(#passwd)。
好啦,大功告成,快点reboot拥抱鸭蛋儿吧!
后记
- 若无几分阅历,DIY一个Linux系统是一件很吃力的事情,若再去折腾桌面、美化桌面等等,更是苦累。历尽千辛万苦,纵使筑成,却因疑云重重,难得释怀。加之桌面用户体验的羸弱,使我决定留在Server字符终端下清修。
- genkernel出来的内核非长久之计,只是不忍让新手在内核配置环节,纠结挣扎。故而权且用之,待完成了系统,释然了心怀,再顾内核配置。
- pietty是一个很棒的ssh客户端。
- 在livecd环境下启动sshd,配好网络,不要在stage3环境下试图改变网络配置,因为这里只是stage3环境。
- windows下pietty到一个真实或虚拟的服务器,构成桌面和服务的最佳组合,是一个不错的选择。悟道就从这里开始。
阅读(2163) | 评论(0) | 转发(0) |