gentoo真是难装啊

gentoo真是难装啊,第1张

gentoo安装和使用进行了将近一天的惊心动魄的升级后(很庆幸系统没有挂掉,而且感觉更快了),终于想静下心来把一个星期以来的安装、配置以及升级gentoo大致写出来,一是想纪念一下,另外也许对其他想用gentoo的朋友有一些参考价值。我使用linux不算很长,大概用了一年半的ubuntu和一年的archlinux。用archlinux时逛经常有人谈及gentoo,好像用 gentoo的都是高手。当时感觉可笑,各各发行版区别都那么大吗,之前用ubuntu转到archlinux也就是显卡驱动那碰到点问题,其他都比较顺 利,gentoo又能难到哪去呢?另外gentoo安装软件都是要编译的,我的本性能也不好,就想如果以后换了新的再考虑吧,所以中间虽然想了几次,但一 定没有尝试。一个星期前( 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-i-.tar.bz2 和portage-latest.tar.xz。(前一个文件一周一更新)(我用的32位)国内的镜像有: mount /dev/sda2 /media/zsudo tar xvpf stage3-i-.tar.bz2 -C /media/zsudo tar xvpf portage-latest.tar.xz -C /media/z/usr准备chroot环境:sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash现在就chroot进去了,之后的操作如不特别说时都是在这个环境下进行的。 初始化环境变量:env-updatesource /etc/profile修改/etc/ke.conf,这个非常重要,最好首先改到位,不然之后有你受的(我就是,不得要领,改了多回,改完还要重编译各种东西):加入源:GENTOO_MIRRORS= #-jn,n是内核数加1,多线程编译用的,不设置也行INPUT_DEICES=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 videoopenglIDEO_CARDS=radeon #这个至关重要,显卡驱动类型,具体请查看官方wiki,我的是ati x,只能用这个开源驱动。#CCEPT_KEYWORDS=~x86 #这个要注意,如果要用最新的软件,可以加上这行,但如果是第一次装,强烈不建议加,不然会提升安装难度先改这些就差不多了。改/etc/locale.gen,加(按照自已需要写)en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_CN.GB GBzh_CN.GBK GBK运行locale-gencp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改/etc/conf.d/clockCLOCK=localTIMEZONE=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/linuxke menuconfigkeke modules_installcp arch/x86/boot/bzIge /boot,不然最好使用genkernel:emerge genkernelcd /usr/src/linux/genkernel --menuconfig all关于配置内核请上网自行查询,如果下一种方式实在不会也可以不配置,一般也能启动起来。编译时间和很多因素有关,几十分钟到几小时不等。用户相关:(osily是自己要创建的用户名)passwduseradd -m -G audio,cdrom,portage,u,video,wheel,users -s /bin/bash osilypasswd osily如果fstab之前没改好现在一定要改好,然后改自己系统的/boot/grub/menu.lst。此处官方wiki写的很清楚,建议查看。 现在可以继续安装其他软件,如xorg-server,但最好还是重启看看能不能进去。如果不能的话多半是内核(尤其是自己编译的内核)的问题,如果内核没问题,看看/boot/grub/menu.lst是不是有问题,多改几回。如果可以正常进去的话,可以直接在这继续编译,但最好还是返回原来的系统继续。可以写个类似这样的脚本:#!/bin/bashsudo mount /dev/sda2 /media/z/sudo mount -t proc none /media/z/procsudo mount -vt devpts devpts /media/z/dev/ptssudo chroot /media/z/ /bin/bash运行就可以进去chroot环境,如果进去环境变量不正常运行:env-updatesource /etc/profile然后就是安装需要的东西了,主要看自己了,比如dhcpcd、sudo、vim,一般的工具直接emerge xxx就可以了,emerge的具体用法网上查吧。但如果你想要桌面环境的话,最好按以下的步骤:安装点基本工具后,直接安装xorg-server,注意前提/etc/ke.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/ke.conf,然后必须把相关的包重新编译。还有其他的可能吧如果xterm能进去了,但鼠标键盘等不能用,保证/etc/ke.conf正确的话,安装xf86-input-evdev,如果xf86-input-keyboard xf86-input-mouse xf86-input-synaptics 没有的话说明/etc/ke.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里,要用layn,还要能连接国外网。alsa没装过,wiki有详细说明。如果现在就要安装oss4,也好:emerge laynlayn -a oss-overlay然后再/etc/ke.conf里加一句:source /var/lib/layn/ke.conf然后emerge oss或者emerge oss-devel如果网络没问题的话应该正常安装。要保证/usr/src/linux指向的是当前用的内核然后/etc/init.d/oss start,一般要等几分钟因为要编译内核模块,如果成功了基本就可以用了,可以试试osstest,不成功的话问题就麻烦了,很可能你要重新编译内核

不同于其他常见的linux distro (如 ubuntu等), 两个系统都是属于 “从零”做起,默认系统安装好后,除了最基本的系统软件(如shell,及一些核心软件如sed/find等)外,其他任何应用程序(比如 X系统, 桌面程序,firefox, office, 邮件工具等)都没有安装。 这时你需要根据自己的需要来逐步安装。

Arch 于 Gentoo 的区别在于, Gentoo 的任何一个软件(包括linux kernel)安装时,实际上是下载源代码然后在本机上编译获得,这样用户可以根据自己的物理硬件情况 (CPU类型,单核或多核等) 来调节编译选项从而获得更好的优化 (比如编译内核时可以去掉不需要的模块等),对于高手而言,这种方式得到的系统应该是非常优化的,但是如果是新手,有可能因为配置不当反而得到低效的软件甚至导致出现问题。 而 Arch 安装软件时,下载的是 Arch 维护者已经编译打包好的程序,直接下载到本机使用的, 虽然可能会损失一定的优化(在当前的硬件水平下,应该是感觉不出来的),但是安装程序的速度会比较快,同时不用关心源码,另外 Arch也能支持类似于Gentoo的从源码安装的方式,一般用这种方式来安装linux内核。

Arch/Gentoo 于其他发行版 (如ubuntu/debian)相比,升级是“无缝”的,不存在像ubuntu那样隔半年一个新版本,不同版本间的升级可能导致很多问题,而Arch/Gentoo的升级就是通过平时定期的软件更新。 另外, Arch/Gentoo相对于其他发行版,一般总能更新到最新的软件,但是往往有可能因为更新太快而出现问题。

总而言之, Arch/Gentoo适用于对Linux系统比较了解的人使用,一般来说 Arch/Gentoo用户需要对linux kernel的编译,linux系统的管理,目录结构,常用系统管理/维护工具等有较深入的了解。当使用Arch/Gentoo出现问题时,能通过日志/google等方式来排查解决问题。

而其他发行版(尤其是ubuntu),最适合普通用户,安装好后就能上网/office,而不需要对linux本身有太多了解,当然随着使用这些发行版,用户自然也能学到一些linux知识。

方法如下:

把Device

Drivers-->SCSI

device

support-->SCSI

low-level

drivers下的所有设置成未选择状态

Device

Drivers-->Fusion

MPT

device

support-->Fusion

MPT(base

+

ScsiHost)

drivers选中

然后将内核重新编译、安装,将grub.conf设置正确:

代码:

default

0

timeout

30

title=Gentoo

Linux

2.6.12-r6

root

(hd0,0)

kernel

/kernel-2.6.12-gentoo-r6

root=/dev/sda3

重启,OK。

“Fusion

MPT(base

+

ScsiHost)

drivers”是我的SCSI控制器的驱动,你可以用LiveCD启动然后用lspci查看你的硬件型号及厂商(不单能看到SCSI控制器的,还能看网卡、显卡、声卡的型号)然后在make

menuconfig里面用“/”查找一下刚才找到的型号和厂商,一般结果都有好几个,注意看看,一般都能看出来是哪方面的驱动,找几个可疑对象逐个试试(呵呵,我是一次就找对了

)。

综上,我认为:我在启动时出现的问题,是一个SCSI驱动选择不正确所致。

此外,还现了一个问题:是否将devfs

support编译进内核,我到其他地方可看到

引用:

devfs

support

You

need

devfs

support

built

in

and

mounted

at

boot

time.

In

the

2.6

kernel,

these

are

listed

as:

Code:

File

systems

->

Pseudo

file

systems

->

/dev

file

system

support

(OBSOLETE)

DEVFS_FS

->

Automatically

mount

at

boot

DEVFS_MOUNT

In

the

2.4

kernel,

they

are:

Code:

File

systems

->

/dev

file

system

support

(EXPERIMENTAL)

Automatically

mount

at

boot

而我自己将devfs

support

编译进内核时,系统反倒不能启动了

后来把LiveCD的光盘下的安装手册(在docs目录下)看到了如下内容:

引用:

Now

go

to

File

Systems

and

select

support

for

the

filesystems

you

use.

Don't

compile

them

as

modules,

otherwise

your

Gentoo

system

will

not

be

able

to

mount

your

partitions.

Also

select

/proc

file

system

and

Virtual

memory.

Do

not

select

the

/dev

file

system.

回想起中文安装手册中的说法与此相反(中文手册的针对的是去年的版本),所以给大家提个醒。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/1656.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-01-30
下一篇2023-01-30

发表评论

登录后才能评论

评论列表(0条)

    保存