gentoo安装和使用

xidaoliang 2012-10-11

---

进行了将近一天的惊心动魄的升级后(很庆幸系统没有挂掉,而且感觉更快了),终于想静下心来把一个星期以来的安装、配置以及升级gentoo大致写出来,一是想纪念一下,另外也许对其他想用gentoo的朋友有一些参考价值。

我使用linux不算很长,大概用了一年半的ubuntu和一年的archlinux。用archlinux时逛论坛经常有人谈及gentoo,好像用gentoo的都是高手。当时感觉可笑,各各发行版区别都那么大吗,之前用ubuntu转到archlinux也就是显卡驱动那碰到点问题,其他都比较顺利,gentoo又能难到哪去呢?另外gentoo安装软件都是要编译的,我的本性能也不好,就想如果以后换了新的再考虑吧,所以中间虽然想了几次,但一定没有尝试。

一个星期前(20103月4号),我把mplayer和ffmpeg都手动升级下,发现编译起来有点纠结,mplayer需要ffmpeg的源码,但ffmpeg还要单独编译,后来让mplayer用ffmpeg的so后升级ffmpeg后mplayer居然挂了,重编了几回才弄好。系统里有好几个包都自己编译,主要是想去掉不用的依赖,但手动维护太麻烦了,于是又想到了gentoo。当时已经10点多了,于是想第二天开始着手。

废话完毕。

之前的硬盘分区就这样的:

/dev/sda1ext46g/

/dev/sda22g未使用

/dev/sda3ntfs30g

/dev/sda4jfs66g/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上,并把文件放进去:

sudomount/dev/sda2/media/z

sudotarxvpfstage3-i686-20110301.tar.bz2-C/media/z

sudotarxvpfportage-latest.tar.xz-C/media/z/usr

准备chroot环境:

sudomount-tprocnone/media/z/proc

sudomount-vtdevptsdevpts/media/z/dev/pts

sudochroot/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="keyboardmousesynaptics"#键盘、鼠标、触摸板

#下面的是很重要的USE,开始时可以只用USE="Xgtk",但最开始写好以前就省事了,不然以后会麻烦重重。

USE="-pppd-alsa-fortranssesse2ssse3mmxsdlv4lv4l2ossoss4Xgtkunicodetruetypejpegpnggifcairozsh-completionfontconfigvideo

opengl"

VIDEO_CARDS="radeon"#这个至关重要,显卡驱动类型,具体请查看官方wiki,我的是atix2300,只能用这个开源驱动。

#CCEPT_KEYWORDS="~x86"#这个要注意,如果要用最新的软件,可以加上这行,但如果是第一次装,强烈不建议加,不然会提升安装难度

先改这些就差不多了。

改/etc/locale.gen,加(按照自已需要写)

en_US.UTF-8UTF-8

zh_CN.UTF-8UTF-8

zh_CN.GB2312GB2312

zh_CN.GBKGBK

运行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

安装内核源码:

emergegentoo-sources

下边就开始编译内核了,如果有手动配置内核的经验强烈建议手动配置编译:

cd/usr/src/linux

makemenuconfig

make;makemodules_install

cparch/x86/boot/bzImage/boot

,不然最好使用genkernel:

emergegenkernel

cd/usr/src/linux/

genkernel--menuconfigall

关于配置内核请上网自行查询,如果下一种方式实在不会也可以不配置,一般也能启动起来。

编译时间和很多因素有关,几十分钟到几小时不等。

用户相关:(osily是自己要创建的用户名)

passwd

useradd-m-Gaudio,cdrom,portage,usb,video,wheel,users-s/bin/bashosily

passwdosily

如果fstab之前没改好现在一定要改好,然后改自己系统的/boot/grub/menu.lst。

此处官方wiki写的很清楚,建议查看。

现在可以继续安装其他软件,如xorg-server,但最好还是重启看看能不能进去。

如果不能的话多半是内核(尤其是自己编译的内核)的问题,如果内核没问题,看看/boot/grub/menu.lst是不是有问题,多改几回。

如果可以正常进去的话,可以直接在这继续编译,但最好还是返回原来的系统继续。

可以写个类似这样的脚本:

#!/bin/bash

sudomount/dev/sda2/media/z/

sudomount-tprocnone/media/z/proc

sudomount-vtdevptsdevpts/media/z/dev/pts

sudochroot/media/z//bin/bash

运行就可以进去chroot环境,如果进去环境变量不正常运行:

env-update;source/etc/profile

然后就是安装需要的东西了,主要看自己了,比如dhcpcd、sudo、vim……,一般的工具直接

emergexxx就可以了,emerge的具体用法网上查吧。

但如果你想要桌面环境的话,最好按以下的步骤:

安装点基本工具后,直接安装xorg-server,注意前提/etc/make.conf里显卡和输入设备等变量一定是正确的。

这会安装许多东西,基本要用一个小时以上,耐心等待吧。

安装完后:(xorg-x11和驱动相关,请查看官网wiki相关部分,这部好像可以省略,记不清了)

eselectopenglsetxorg-x11

如果安装好了,可以先重启试试,进去后,运行startx,这是很刺激的一刻了,如果显示找不到xterm找不到什么的,恭喜你,显卡驱动基本正常了,不然就会有各种稀奇古怪的问题&……&×……&……%×&,那么也恭喜你,在接下来的时间你将对安装显卡驱动、写xorg.conf等有深刻而透彻的了解。

如果是前者,你可以回去继续安装其他东西,如xterm(最好安装完再重启下看看是不是正常,如果不正常,那么你可以回过头处理显卡驱动问题了)、openbox甚至gnome、kde。下文再说。

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

这也是我安装过程中最混乱的地方,已经没法清晰地回忆了,因为这的问题我先后重装了4次,(第一次因为2g空间不够,2、3次都因为X段错误,非常纠结),而且其中改了几回显卡驱动类似,重编译了多回。

如果是X段错误,看出错信息是不是加载某个so出的错,如果是可以先把那个so移到别的地方重试。如果不是段错误,可能是xorg.conf有问题,有的驱动是不需要这个问题的,默认也是没有了,所以如果有先删掉试试,不行的话用

X-configure

生成一个新的再

X-configxorg.conf.new

尝试

如果不行的话,还很有可能是内核没配置的问题,这往往比较麻烦,可以先仔细阅读官网wiki,不行再去linuxsir等论坛去找找或者问问。重编译内核后最好把和X相关的包也重编译下(有许多……)。

再有很可能是你选择的驱动不支持你的显卡,比如老的ati显卡很多都不能用现在的闭源驱动。这样可以试试其他的,改/etc/make.conf,然后必须把相关的包重新编译。

还有其他的可能吧……

如果xterm能进去了,但鼠标键盘等不能用,保证/etc/make.conf正确的话,安装xf86-input-evdev,如果

xf86-input-keyboardxf86-input-mousexf86-input-synaptics没有的话说明/etc/make.conf没写对,这时安装上这几个包也未必好用,可能要重新编译更多包。

这个问题应该是比较好解决的。

如果分辩率不正常,首先要确认用的不是xf86-video-vesa的驱动(按我的流程不会安装到这个包),如果是那很可以分辨率就不调不正常了。然后还是显卡驱动安装问题,还有xorg.conf,上网多找找吧。

显卡驱动问题如果一时解决不了的话,可能会拖很长时间,甚至直到放弃,或者你甘愿不用图形界面。

如果以上都正常了,gentoo离你就很近了。

接下来主要部署桌面环境,推荐比较轻量的,(如openbox、fluxbox、fvwm、dwm、awesome等),可以配合面板(tint2、bmpanel、pypanel等),不然要花很长时间编译。

安装完后就按自己的需要进行配置了。

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

如果触摸板用手指点无反应,但手指移动有反应,试试:

synclientTapButton1=1

如果横向滚动不能用:

synclientHorizEdgeScroll=1

其他问题请查询synclient用法

要把上边的命令放在启动脚本里,如是.xinitrc,确保它能在进入X前被调用。

声卡问题,如果用alsa的话,genkernel默认编译的内核包含了alsa驱动,应该就要以正常使用了,如果没包含就要有点麻烦。

如果内核包含了oss驱动(这是旧版本的),可能也可以正常用,但效果应该不好,能忍就算了吧。

如果都没有的话如果内核启用的声卡支持(menuconfig里有一层的里边是alsa和oss,它的上一层要选上),你可以选择安装alsa或者oss驱动,个人推荐用oss4,它音质比较好,占用资源少(我试和内核的alsa里比mplayer放mp3时cpu占用省了一半)。但安装oss4不是很容易,因为它不在portage里,要用layman,还要能连接国外网。alsa没装过,官网wiki有详细说明。

如果现在就要安装oss4,也好:

emergelayman

layman-aoss-overlay

然后再/etc/make.conf里加一句:

source/var/lib/layman/make.conf

然后

emergeoss或者emergeoss-devel

如果网络没问题的话应该正常安装。

要保证/usr/src/linux指向的是当前用的内核

然后/etc/init.d/ossstart,一般要等几分钟因为要编译内核模块,如果成功了基本就可以用了,可以试试osstest,不成功的话问题就麻烦了,很可能你要重新编译内核

相关推荐

喝咖啡的IT羊 / 0评论 2010-09-18