既然一个简单的 stage3 已经完成,那么就 chroot 进去好了
- $ sudo chroot /media/gentoo /bin/bash
唔,让我们首先改了 root 的密码吧
对于 Gentoo 和 FreeBSD 来说,有一个配置文件非常的重要,就是 /etc/make.conf 了,这个文件配置着你编译时用的参数,你的系统配置情况,你的 USE。Stage3 的系统不包含 VIM,因此只能使用 nano 去编辑了
CHOST 为你的系统整体的构架情况,我的当然是 i686 了,CFLAGS 为你的 CPU 构架,GCC 可以根据这个参数,在编译的时候进行优化,我选择的是一个 native 选项,由 GCC 自己去选择。MAKEOPTS 表示编译时候的同时并发的进程数,一般选择物理内核数+1,我的是4核 CPU,因此选择的是5。USE 是针对一些软件会提供的相关特性,emerge 会在 ./configure 的时候,自动加上的一些 option,可以在随后使用 ufed 去选择。这里我使用了一个 ccache 的 FEATURES,可以保存编译时产生的文件,加速第二次编译。SYNC 和 GENTOO_MIRRORS 均为同步镜像,上文有提到,我选择的是厦门大学的镜像服务器。INPUT_DEVICES 很简单,就是鼠标和键盘而已,如果你用的是笔记本,还要再加上一个触摸板就可以了。VIDEO_CARDS 和 LINGUAS 就不用说了,从字面上很好理解。
CHOST=”i686-pc-linux-gnu”
CFLAGS=”-march=native -O2 -pipe”
CXXFLAGS=”${CFLAGS}”
MAKEOPTS=”-j5″
USE=”3dnow alac bash-completion caps cdrom chroot cjk cscope css curl
curlwrappers cvs device-mapper expat extras faac fat fbcon ffmpeg ftp
fuse gdu ggi gimp gnome gnutls gpg gpu gzip h224 h281 h323 imagemagick
java kdrive latex latex3 lzo md5 md5sum mmx mmxext mplayer network nvidia
policykit rar real reiserfs samba sha1 sha512 smp socks5 sound sqlite sse
sse2 sse3 sse4 subversion tex threads type3 unzip utils vim vim-syntax
wav webkit win32codecs wma xmlrpc zip -dso -extra”
FEATURES=”ccache”
CCACHE_DIR=”/var/tmp/ccache/”
CCACHE_SIZE=”5G”
SYNC=”rsync://mirrors.xmu.edu.cn/gentoo-portage”
GENTOO_MIRRORS=”http://mirrors.xmu.edu.cn/gentoo”
INPUT_DEVICES=”keyboard mouse”
LINGUAS=”en_US”
VIDEO_CARDS=”nvidia”
在以上全部配置完成后,就可以先同步一个 emerge 的 portage 数据了
- # env-update && source /etc/profile
- # emerge --sync
这样,你本机的 portage 数据就和服务器上的进行了同步,下面先编译一些系统需要和个人感觉需要先编译的东西
- # emerge pciutils usbutils gentoolkit ufed
其中
pciutils -> 查看相关 PCI 信息
usbutils -> USB 相关信息
gentoolkit -> Gentoo 的一些工具集
ufed -> USE 的图形化选择界面
点下回车的之后,就会发现和 FreeBSD 一样,emerge 就自己去下载代码,./configure,make,make install 去了,完全自动喔。之后就可以进行历史耗时最长的一项工作了,编译一个可以启动的内核。
- # emerge gentoo-sources
- # cd /usr/src/linux
- # make menuconfig
如何配置就不说了,这里是我的配置信息。配置完成之后,则可以 make -j5 之,注意因为不是 emerge 的,所以要自己手动加上 -jX 的选项,否则可是要多花很长时间的,虽然这样花的时间也不短。完成之后,则可以
来完成模块的安装,然后则可以手动拷贝内核到 /boot 里
- # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.34-gentoo-r1
- # cp .config /boot/config-2.6.34-gentoo-r1
Ubuntu 10.04 默认使用的 Boot Manager 是 GRUB2,和 GRUB 的配置方法不是太一样,不过看看 manual 之后,就不是什么问题了
menuentry “Gentoo (on /dev/sda8)” {
insmod reiserfs
set root=’(hd0,8)’
search –no-floppy –fs-uuid –set e806ba28-bb68-4c05-a107-6600327a1578
linux /vmlinuz-2.6.34-gentoo-r1 raid=noautodetect root=/dev/sda8 ro quite splash
}
赶快重启去看看内核能启动起来不能吧 ^^(注意,如果你的网络是 DHCP 自动获取的,那么请在重启之前,完成 emerge -av dhcpd 或者 emerge -av dhcp,否则重启之后你会无法获取 IP 地址)
时隔两年,再回 Gentoo (一):http://anylinux.net/post/1617.html
时隔两年,再回 Gentoo (三):http://anylinux.net/post/1649.html