gentoo安装和使用

---
进行了将近一天的惊心动魄的升级后(很庆幸系统没有挂掉,而且感觉更快了),终于想静下心来把一个星期以来的安装、配置以及升级gentoo大致写出来,一是想纪念一下,另外也许对其他想用gentoo的朋友有一些参考价值。
我使用linux不算很长,大概用了一年半的ubuntu和一年的archlinux。用archlinux时逛论坛经常有人谈及gentoo,好像用 gentoo的都是高手。当时感觉可笑,各各发行版区别都那么大吗,之前用ubuntu转到archlinux也就是显卡驱动那碰到点问题,其他都比较顺 利,gentoo又能难到哪去呢?另外gentoo安装软件都是要编译的,我的本性能也不好,就想如果以后换了新的再考虑吧,所以中间虽然想了几次,但一 定没有尝试。
一个星期前(2010 3月4号),我把mplayer和ffmpeg都手动升级下,发现编译起来有点纠结,mplayer需要ffmpeg的源码,但ffmpeg还要单独编 译,后来让mplayer用ffmpeg的so后升级ffmpeg后mplayer居然挂了,重编了几回才弄好。系统里有好几个包都自己编译,主要是想去 掉不用的依赖,但手动维护太麻烦了,于是又想到了gentoo。当时已经10点多了,于是想第二天开始着手。
废话完毕。

之前的硬盘分区就这样的:
/dev/sda1 ext4 6g /
/dev/sda2 2g 未使用
/dev/sda3 ntfs 30g
/dev/sda4 jfs 66g /home
其中/dev/sda2是以前的swap,但后来不用休眠功能后感觉swap意思不大,就不用了。其余的三个分区都比较重要,基本动不得,这给怎么装啊。想来想去,先用sda2试试吧,如果装不上就没事了,装上再进一步考虑吧。
于是把sda2格成了reiserfs(某人说这种格式好,但我从来没用过,正好体验一下)。下载 stage3-i686-20110301.tar.bz2 和portage-latest.tar.xz。(前一个文件一周一更新)(我用的32位)
国内的镜像有:
http://mirrors.163.com/gentoo/
http://mirrors.sohu.com/gentoo/
http://mirror.bjtu.edu.cn/gentoo/
http://mirrors.xmu.edu.cn/gentoo/
这两个文件可以在里边找。

把sda2挂在/media/z上,并把文件放进去:
sudo mount /dev/sda2 /media/z
sudo tar xvpf stage3-i686-20110301.tar.bz2 -C /media/z
sudo tar xvpf portage-latest.tar.xz -C /media/z/usr
准备chroot环境:
sudo mount -t proc none /media/z/proc
sudo mount -vt devpts devpts /media/z/dev/pts
sudo chroot /media/z/ /bin/bash
现在就chroot进去了,之后的操作如不特别说时都是在这个环境下进行的。

初始化环境变量:
env-update;source /etc/profile

修改/etc/make.conf,这个非常重要,最好首先改到位,不然之后有你受的(我就是,不得要领,改了多回,改完还要重编译各种东西):
加入源:
GENTOO_MIRRORS="http://mirror.bjtu.edu.cn/gentoo/"
SYNC="rsync://mirror.bjtu.edu.cn/gentoo-portage"
上边那四个网站都有说明如何写这个。
MAKEOPTS="-j3" #-jn,n是内核数加1,多线程编译用的,不设置也行
INPUT_DEVICES="keyboard mouse synaptics" #键盘、鼠标、触摸板
#下面的是很重要的USE,开始时可以只用USE="X gtk",但最开始写好以前就省事了,不然以后会麻烦重重。
USE="-pppd -alsa -fortran sse sse2 ssse3 mmx sdl v4l v4l2 oss oss4 X gtk unicode truetype jpeg png gif cairo zsh-completion fontconfig video

opengl"
VIDEO_CARDS="radeon" #这个至关重要,显卡驱动类型,具体请查看官方wiki,我的是ati x2300,只能用这个开源驱动。
#CCEPT_KEYWORDS="~x86" #这个要注意,如果要用最新的软件,可以加上这行,但如果是第一次装,强烈不建议加,不然会提升安装难度
先改这些就差不多了。

改/etc/locale.gen,加(按照自已需要写)
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GB2312 GB2312
zh_CN.GBK GBK
运行locale-gen

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改/etc/conf.d/clock
CLOCK="local"
TIMEZONE="Asia/Shanghai"

改/etc/resolv.conf,把本机的/etc/resolv.conf内容写出其中,不然上不了网。
改/etc/fstab,这个也可以安装完内核再写,这个应该都会写。

查看网络是否正常(如果电脑联网了,resolv.conf也改了就可以上了),然后同步portage(如果portage-latest.tar.xz是刚下的也可以略过这步,但最好还是运行下吧):
emerge --sync
安装内核源码:
emerge gentoo-sources
下边就开始编译内核了,如果有手动配置内核的经验强烈建议手动配置编译:
cd /usr/src/linux
make menuconfig
make; make modules_install
cp arch/x86/boot/bzImage /boot
,不然最好使用genkernel:
emerge genkernel
cd /usr/src/linux/
genkernel --menuconfig all

关于配置内核请上网自行查询,如果下一种方式实在不会也可以不配置,一般也能启动起来。
编译时间和很多因素有关,几十分钟到几小时不等。

用户相关:(osily是自己要创建的用户名)
passwd
useradd -m -G audio,cdrom,portage,usb,video,wheel,users -s /bin/bash osily
passwd osily

如果fstab之前没改好现在一定要改好,然后改自己系统的/boot/grub/menu.lst。
此处官方wiki写的很清楚,建议查看。

现在可以继续安装其他软件,如xorg-server,但最好还是重启看看能不能进去。
如果不能的话多半是内核(尤其是自己编译的内核)的问题,如果内核没问题,看看/boot/grub/menu.lst是不是有问题,多改几回。
如果可以正常进去的话,可以直接在这继续编译,但最好还是返回原来的系统继续。

可以写个类似这样的脚本:
#!/bin/bash
sudo mount /dev/sda2 /media/z/
sudo mount -t proc none /media/z/proc
sudo mount -vt devpts devpts /media/z/dev/pts
sudo chroot /media/z/ /bin/bash

运行就可以进去chroot环境,如果进去环境变量不正常运行:
env-update;source /etc/profile
然后就是安装需要的东西了,主要看自己了,比如dhcpcd、sudo、vim……,一般的工具直接
emerge xxx就可以了,emerge的具体用法网上查吧。
但如果你想要桌面环境的话,最好按以下的步骤:
安装点基本工具后,直接安装xorg-server,注意前提/etc/make.conf里显卡和输入设备等变量一定是正确的。
这会安装许多东西,基本要用一个小时以上,耐心等待吧。
安装完后:(xorg-x11和驱动相关,请查看官网wiki相关部分,这部好像可以省略,记不清了)
eselect opengl set xorg-x11
如果安装好了,可以先重启试试,进去后,运行startx,这是很刺激的一刻了,如果显示找不到xterm找不到什么的,恭喜你,显卡驱动基本正常了,不 然就会有各种稀奇古怪的问题&……&×……&……%×&,那么也恭喜你,在接下来的时间你将对安装显卡驱动、写 xorg.conf等有深刻而透彻的了解。
如果是前者,你可以回去继续安装其他东西,如xterm(最好安装完再重启下看看是不是正常,如果不正常,那么你可以回过头处理显卡驱动问题了)、openbox甚至gnome、kde。下文再说。

如果是后者或者刚才的xterm显示分辨率不对、鼠标键盘触摸板不能用,那么你要折腾一会了,虽然之前安装内核没有难到你,这里很可能让足够纠结甚至放弃。

这也是我安装过程中最混乱的地方,已经没法清晰地回忆了,因为这的问题我先后重装了4次,(第一次因为2g空间不够,2、3次都因为X段错误,非常纠结),而且其中改了几回显卡驱动类似,重编译了多回。
如果是X段错误,看出错信息是不是加载某个so出的错,如果是可以先把那个so移到别的地方重试。如果不是段错误,可能是xorg.conf有问题,有的驱动是不需要这个问题的,默认也是没有了,所以如果有先删掉试试,不行的话用
X -configure
生成一个新的再
X -config xorg.conf.new
尝试
如果不行的话,还很有可能是内核没配置的问题,这往往比较麻烦,可以先仔细阅读官网wiki,不行再去linuxsir等论坛去找找或者问问。重编译内核后最好把和X相关的包也重编译下(有许多……)。
再有很可能是你选择的驱动不支持你的显卡,比如老的ati显卡很多都不能用现在的闭源驱动。这样可以试试其他的,改/etc/make.conf,然后必须把相关的包重新编译。
还有其他的可能吧……
如果xterm能进去了,但鼠标键盘等不能用,保证/etc/make.conf正确的话,安装xf86-input-evdev,如果
xf86-input-keyboard xf86-input-mouse xf86-input-synaptics 没有的话说明/etc/make.conf没写对,这时安装上这几个包也未必好用,可能要重新编译更多包。
这个问题应该是比较好解决的。
如果分辩率不正常,首先要确认用的不是xf86-video-vesa的驱动(按我的流程不会安装到这个包),如果是那很可以分辨率就不调不正常了。然后还是显卡驱动安装问题,还有xorg.conf,上网多找找吧。
显卡驱动问题如果一时解决不了的话,可能会拖很长时间,甚至直到放弃,或者你甘愿不用图形界面。

如果以上都正常了,gentoo离你就很近了。
接下来主要部署桌面环境,推荐比较轻量的,(如openbox、fluxbox、fvwm、dwm、awesome等),可以配合面板(tint2、bmpanel、pypanel等),不然要花很长时间编译。
安装完后就按自己的需要进行配置了。

现在还没有涉及的问题主要还有:声卡、网卡、摄像头等设备的驱动,以及触摸板不正常等。

如果触摸板用手指点无反应,但手指移动有反应,试试:
synclient TapButton1=1
如果横向滚动不能用:
synclient HorizEdgeScroll=1
其他问题请查询synclient用法
要把上边的命令放在启动脚本里,如是.xinitrc,确保它能在进入X前被调用。

声卡问题,如果用alsa的话,genkernel默认编译的内核包含了alsa驱动,应该就要以正常使用了,如果没包含就要有点麻烦。
如果内核包含了oss驱动(这是旧版本的),可能也可以正常用,但效果应该不好,能忍就算了吧。
如果都没有的话如果内核启用的声卡支持(menuconfig里有一层的里边是alsa和oss,它的上一层要选上),你可以选择安装alsa或者oss 驱动,个人推荐用oss4,它音质比较好,占用资源少(我试和内核的alsa里比mplayer放mp3时cpu占用省了一半)。但安装oss4不是很容 易,因为它不在portage里,要用layman,还要能连接国外网。alsa没装过,官网wiki有详细说明。
如果现在就要安装oss4,也好:
emerge layman
layman -a oss-overlay
然后再/etc/make.conf里加一句:
source /var/lib/layman/make.conf
然后
emerge oss或者emerge oss-devel
如果网络没问题的话应该正常安装。
要保证/usr/src/linux指向的是当前用的内核
然后/etc/init.d/oss start,一般要等几分钟因为要编译内核模块,如果成功了基本就可以用了,可以试试osstest,不成功的话问题就麻烦了,很可能你要重新编译内核

猜你喜欢

转载自ocelot1985-163-com.iteye.com/blog/1696600