本文是在台湾gentoo社群翻译的gentoo快速安装手册基础上修改补充而成。首先感谢对岸的前辈们做的辛苦工作!
其中大部分内容保留繁体原文,简体部分的变动请各位谅解。
1. 快速安裝参考文件
安裝光碟 ISO 檔放在 Gentoo 镜像。這些不同 CD 间的详细说明在 Gentoo 商店可以取得。 universal 光碟提供所有快速,而且不需要网路安裝 Gentoo 所需的东西。套件光碟是非必要的,裡面包含了預先編譯好的套件,像是KDE,GNOME,OpenOffice ,Mozilla,Evolution,還有其他等等。
推荐使用 Gentoo 的minimal 光碟来启动机器,iso在mirror的 releases/x86/current/installcd/ 目录下可以找到。如果您希望和我一样使用reiser4作为主要的文件系统,建议去下载一个支持Reiser4的liveCD来安装系统,请先看这里 http://gentoo-wiki.com/HOWTO_Install_Gentoo_with_Reiser4_enabled_using_Lxnay%27s_Gentoo_RR4_LiveCD 。
如果你是从当前gentoo系统升级安装,可以跳过前面的准备步骤,直接看“开始安装gentoo”。
使用 Universal 光碟開機後,按下 <F1> 或/且 <F2> 查看有那些開機參數可以用。按下 <ENTER> 繼續啟動預設的核心。你最後會看到一個提示符號。
原始碼一覽表1.1: 一開始的設定
# date (確定你的時間和日期是正確的,如果不是的話,使用 date MMDDhhmmCCYY 設定)
# modprobe module_name (非必要 - 載入需要的模組)
# net-setup eth0 (設定網路)
# fdisk /dev/hda (分割硬碟)
# cfdisk /dev/hda (这个比较简单些)
建议的分割方式是使用 ext2 (Reiserfs) 分割出一塊 100 mb 的開機分割區,你實體記憶體兩倍大的置換分割區,其他的就以 ReiserFS (Reiser4 FS) 分割成根目錄。
使用mke2fs (Ext2),mke2fs -j (Ext3),mkreiserfs (ReiserFS) ,mkfs.xfs (XFS),mkfs.jfs (JFS) 若您使用Reiser4的光蝶,其中包含了mkfs.reiser4(Reiser4FS) 還有 mkswap (置換分割區) 來初始化分割區。例如說:mke2fs -j /dev/hda3。
接下來是掛載分割區以及解壓縮合適的 stage 檔案。
原始碼一覽表1.2: 準備安裝
(啟動置換分割區) # swapon /dev/hdax
(掛載根目錄) # mount /dev/hdax /mnt/gentoo
(建立開機分割區掛載點) # mkdir /mnt/gentoo/boot
(掛載開機分割區) # mount /dev/hdax /mnt/gentoo/boot
(切換到掛掛載點) # cd /mnt/gentoo
(解壓縮 stage 壓縮檔...) # tar -xvjpf /mnt/cdrom/stages/stage<你要用的 stage>.tar.bz2
(或是 下載最新的壓縮檔...) # links http://www.gentoo.org/main/en/mirrors.xml
( ... 然後解壓縮) # tar -xvjpf stage<你要用的 stage>.tar.bz2
(非必要:解壓縮 portage tree) # tar -xvjf /mnt/cdrom/snapshots/portage-*.tar.bz2 -C /mnt/gentoo/usr
(建立distfiles目录档) # cd /mnt/gentoo/usr/portage; mkdir distfiles
(非必要:選擇鏡像站) # mirrorselect -a -s4 -o | grep 'GENTOO_MIRRORS=' \
>> /mnt/gentoo/etc/make.conf
(?#125;製名稱伺服器資訊) # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
(掛載 proc 檔案系統) # mount -t proc none /mnt/gentoo/proc
(變換根目錄到新的環境) # chroot /mnt/gentoo /bin/bash
(設定必須的環境變數) # env-update; source /etc/profile
注意点:
1. 不要使用GRP套件;
2. stage可以下载任意一个,但是其实从stage2或者stage3所花费的时间反而最少;
3. 若文件系统采用Reiser4,在mount分区时,需要指定文件系统类型, 例如“#mount -t reiser4 /dev/hda2 /mnt/gentoo”;
4. 根分区要最先mount;
現在開始安裝 Gentoo:
原始碼一覽表1.3: 安裝 Gentoo
(設定 USE,CFLAGS 還有 CXXFLAGS。由 Stage1 安裝也可以改變 CHOST) # nano -w /etc/make.conf
我的make.conf如下:
Code: |
# These settings were set by the catalyst build script that automatically built this stage # Please consult /etc/make.conf.example for a more detailed example CFLAGS="-O2 -march=athlon-mp -fomit-frame-pointer -pipe -momit-leaf-frame-pointer -fno-ident -fforce-addr" CHOST="i686-pc-linux-gnu" #CXXFLAGS="$ -fvisibility-inlines-hidden" CXXFLAGS="$" LDFLAGS="-Wl,-O1" ACCEPT_KEYWORDS="~x86" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" #SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ http://prometheus.cs.wmich.edu/gentoo/ http://mirror.pacific.net.au/linux/Gentoo/ http://gentoo.kems.net http://mirror.gentoo.gr.jp http://gentoo.gg3.net" #FETCHCOMMAND='/usr/bin/proz --no-getch -s $ -P $' PORTDIR_OVERLAY="/usr/portage /live/portage" #USE="static bootstrap java nptl -ia64 -ppc -mips cairo readline -fortran -doc multitarget multislot -ipv6 pcmcia unicode utf-8 opengl xml2 mad stoke zh_CN nptlonly hal dbus cjk -qt -kde acc alsa fbcon bitmap-fonts cups 3dnow 3dnowext mmxext mp mmx sse mtrr" USE="nptl nptlonly -ipv6 -qt -kde -doc nls cjk" AUTOCLEAN="yes" FEATURES="autoaddcvs autoconfig ccache cvs strict sfperms" #FEATURES="buildpkg distcc " #PORTAGE_BINHOST="" LANGUAGE="zh_CN.UTF-8:zh_CN:zh_CN.GBK:en_US:en_US.UTF-8" #LANG="zh_CN.UTF-8" VIDEO_CARDS="AGP_VIA" CLEAN_DELAY=3 EMERGE_WARNING_DELAY=5 # folow is config for distcc #MAKEOPTS="-j6" #DISTCC_HOSTS="localhost 203.148.3.75 192.168.2.213" |
Code: |
>=sys-libs/glibc-2.3.5.20050722 >=sys-devel/gcc-4.0.1 >=dev-lang/python-2.4-r3 >=sys-devel/binutils-2.16 >=x11-base/xorg-x11-6.8.99 =x11-libs/ecore-9999 =x11-libs/evas-9999 >=x11-libs/qt-4.0.0 |
Code: |
=sys-devel/binutils-2.16.1 -* >=sys-libs/glibc-2.3.5.20050722 -* sys-libs/libstdc++-v3 ~x86 >=dev-lang/python-2.3.5 ~x86 =sys-devel/gcc-4.0.1 -* >=x11-libs/qt-4.0.0_rc1-r2 -* |
Code: |
sys-libs/glibc multilib userlocales nls nptl nptlonly -doc nomalloccheck net-dialup/rp-pppoe -X net-dialup/ppp -gtk sys-devel/libperl ithreads berkdb dev-lang/perl ithreads berkdb sys-devel/gcc multislot multitarget multilib fortran -objc sys-devel/binutils multilib multislot x11-terms/xterm unicode truetype x11-base/xorg-x11 truetype-fonts opengl mmx cjk 3dnow bitmap-fonts -type1-fonts app-text/ghostscript -cups mail-client/mutt cjk crypt imap mbox nls slang nntp ssl sys-libs/slang cjk unicode gnome-base/gnome-applets -apm acpi app-editor/nano slang unicode sys-libs/ncurses gpm minimal unicode dev-util/dialog unicode www-client/mozilla-firefox gnome mozsvg java mozxmlterm xinerama sys-apps/dbus mono gnome-base/gnome-vfs hal howl x11-terms/xterm toolbar truetype unicode x11-libs/gtk+ jpeg tiff app-portage/eix bash-completion sys-kernel/morph-sources fuse supermount suspend2 app-arch/tar bzip2 |
Code: |
en_US/ISO-8859-1 en_US.UTF-8/UTF-8 zh_CN/UTF-8 zh_CN.UTF-8/UTF-8 zh_CN.GBK/GBK zh_CN.GB2312/GB2312 zh_TW/BIG5 zh_TW.UTF-8/UTF-8 |
Code: |
#emerge binutils automake libstdc++-v3 m4 autoconf flex sed make gcc-config gnuconfig # source /etc/profles #emerge gmp kbd #emerge gcc4.0.1 -O |
Code: |
#source /etc/profiles |
Code: |
#emerge gcc -O #emerge glibc #emerge binutils automake libstdc++-v3 m4 autoconf flex sed make gcc-config gnuconfig |
Code: |
#emerge -e world |
Code: |
# <fs> <mountpoint> <type> <opts> <dump/pass> /dev/hda1 /boot ext2(reiserfs) defaults,noatime 1 2 /dev/hda7 none swap sw 0 0 /dev/hda2 / reiserfs(reiser4) defaults,noatime 0 1 /dev/hda3 /home reiserfs(reiser4) defaults,noatime 0 1 /dev/hda5 /live reiserfs(reiser4) defaults,noatime 0 1 /dev/hda6 /dump reiserfs(reiser4) defaults,noatime 0 1 /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs nodev,nosuid,noexec 0 0 |
Code: |
grub> root (hd0,0) grub> setup (hd0) grub> quit |
Code: |
default 0 timeout 15 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux root (hd0,0) #使用 genkernel 的人: kernel /kernel-<核心版本> root=/dev/ram0 init=/linuxrc real_root=/dev/hda2 ramdisk=8192 vga=773 vedio=vesa:1024x768@72 initrd /initrd-<核心版本> # 不是使用 genkernel 的人: kernel /kernel-<核心版本> root=/dev/hda2 vga=773 vedio=vesa:1024x768@72 |
Code: |
boot=/dev/hda prompt timeout=50 default=gentoo image=/boot/kernel-<核心版本> label=gentoo read-only #使用 genkernel 的人: append="init=/linuxrc real_root=/dev/hda2 ramdisk=8192 vga=773 vedio=vesa:1024x768@72 " root=/dev/ram0 initrd=/boot/initrd-<核心版本> #不是使用 genkernel 的人: root=/dev/hda2 resume2=/dev/hda7 vga=773 vedio=vesa:1024x768@72 |
Code: |
resume2=/dev/hdax |