分类: LINUX
2008-08-20 07:57:44
| |
昨天晚上开始在家里的笔记本上安装gentoo了,以前就听说过gentoo,但听说安装一次需要好几天就打退堂鼓了,这一次决定来试试。虽然我从99年就开始接触linux了,但是因为工作原因,我也是直到最近2、3年才开始深入使用linux。看到别人说gentoo如何如何的高深,心里总是没底。直到最近几个月我才决定给windows判死缓(在家用vista+linux,工作全用linux),我才决定试试gentoo。我办公室的机子用的是 ubuntu7.10,因为工作时没时间来解决使用linux当中发现的问题,ubuntu使用很方便,并且界面很眩,可以炫耀一把,^_^。由于 ubuntu太方便了,我又决定在家装gentoo来学习学习。废话说了一大堆,现在开始说安装情况。 * 选择安装盘 最好选livecd,我用的是2007.0livecd,这样在安装的时候可不用联网。我用迅雷下的,虽然我很瞧不起迅雷,但是我安装gentoo的心情非常急迫,所以用了一下,^_^。用迅雷下确实很快,我这里平均下载速度有500KByte/秒,这还不算快,我最快能到1200KByte/秒。本来还想下livedvd的,但是livedvd只提供了bt的下载方式,非常慢,我下了1个星期都还不到70%,到昨天我终于忍无可忍,换成livecd了。 * 备份 安装前先备份linux分区下的文件,我准备删除linux分区,只有把文件先备份到windows下了。由于我linux分区用的是utf8,中文文件名在windows分区下显示为乱码,如果从windows分区下再拷回来好像也是乱码。所以我把所有需要备份的文件制作成iso文件,如下: mkisofs -J -r -T -input-charset=utf8 -o justice.iso /home/justice * 第一次安装 备份完成后,用livecd启动,由于我的本本比较新(DELL INSPIRON 1520),livecd无法识别出显卡,只能进文本模式,所以我用文本方式来安装。输入installer-dialog启动安装过程,安装过程没有想象的复杂,选择离线安装,按照提示准备好之后开始安装。开始都还顺利,但在安装bootloader的时候安装程序报错,不知道如何解决,今天上网看看。不过安装也接近尾声了,我退出安装程序后自己手工安装grub,设置好grub.conf之后重启试了一下,系统能够正常启动。已经凌晨2点了,只好等今天再来安装。今天准备做以下工作: 1 重新安装; 2 解决bootloader的安装问题; 3 重新编译内核,使用最新内核,我的本本需要2.6.23以上的内核,要使用所有的设备,这一步是必不可少的; 4 安装显卡驱动。 估计今天完成这些工作就差不多了。后面估计还有很多事: 1 安装常用软件,我准备用stage3 tarball,gentoo官方说的:“a stage3 tarball can verywell be used to bootstrap the system.”“Bootstrapping means building the toolchain (the C library and compiler) for your system after which you install all core system packages. To bootstrap thesystem, perform a stage3 installation.”我觉得有道理,没必要所有软件都全部自己来编译安装,这样太费时间了; 2 中文化的问题,以前用的linux版本都解决了中文化的问题,最多只需要做一下美化工作。根据我现在的初步认识,估计在gentoo下我会遇到一些麻烦,到时候只有见招拆招,随机应变了。 3 了解一下如何从stage1和stage2来安装,毕竟用gentoo的目的是提高自己的水平,怎么能不见识一下呢?大不了我把现在的linux分区ghost了,到时候再恢复回来。^_^ 2007年11月30日 昨天晚上又重新装了一次,这一次没有在安装bootloader遇到问题,直接过去了,奇怪。往下建立普通用户,选择安装的软件包之后,系统继续安装。趁安装的时候用links看了一下光盘上提供的手册。了解了一下portage的特性,觉得很不错。个人觉得portage最大的优点在于高度的灵活性,并且如果从源代码安装软件包的话可按照自己的要求进行定制。 终于安装完毕了,重启系统,发现grub菜单没有windows启动选项。启动后编辑/boot/grub/grub.conf目录,增加 title=Windows Vista rootnoverify (hd0,1) 我的windows分区在/dev/sda2 makeactive chainloader +1 修改default为1(在家主要使用windows,所以设为默认windows启动)。 检查了一下网卡,发现居然不通。用dmesg | grep eth查看,发现网卡好像绑定在eth1上,eth0和eth1394在一起。用ifconfig eth0查看显示设备类型为未识别。如果关掉eth0,开启eth1网络就通了,但不知道怎么修改/etc/conf.d/net脚本。虽然我可以自己修改rc.local之类的脚本来启动eth1,但总觉得不爽。在网上查了一下也没有找到合适的解决办法,又到凌晨2点了,只得作罢。 看来我的gentoo之路还长啊。 2007年12月1日 昨天又重装了一次,结果还是一样,网口要用eth1,在/etc/conf.d/net文件中修改好配置,开始继续安装。安装使用emerge: 1. emerge gentoo-source,安装内核源代码; 2. emerge mutt; 3. emerge emacs; 4. emerge pciutils,查看硬件信息,方便等会儿重新编译内核; 5. emerge usbtils。 在emerge之前修改了make.conf文件,增加了MAKEOPTS=“-j3”,其他没有更改。先充分利用双核吧。 * 给内核指定参数 用livecd启动的时候系统在文本界面下显示的分辨率较高,但是装好系统启动之后分辨率却降下来了,于是在grub.conf文件中kernel后增加vga=0x361 video=vesafb:mtrr:3,ywrap,重启系统即可。 * 安装显卡 我的本本是NV8600MGT显卡,比较新,系统驱动程序不认识。于是利用官方的驱动程序重新安装,安装该驱动需要内核源代码,很好装。装了之后系统的 gnome就能启动了,但是在启动的时候gnomesetting daimon报错,估计跟声卡驱动之类的问题有关,启动后无法使用gnome-panel。 * 重新编译内核 这个工作就比较麻烦了,编译内核本身并不难,关键是选择驱动要小心,否则就得重新编译。我从昨天到今天重新编译了5、6次才完全成功。编译时最好先make mrproper,再make oldconfig,make menuconfig选择基本驱动,然后make -j 3,make modules_install,make install,修改grub.conf。用lspci和lsusb查看基本硬件信息来选择驱动,我编译了好几次总是不满意,总是有这样或那样的问题,最后一气之下,干脆用genkernel来编译内核,使用gentoo官方配置文件稍加修改来生成内核。虽然大一些,编译速度慢一些,但总算是没遇到什么问题了。等以后再来精简内核。用genkernel编译内核需要先安装genkernel工具,emerge genkernel即可。编译过程如下: 1. 把内核源代码解压到/usr/src/下,我用的是2.6.23.1版内核,解压完成之后建立一个符号连接/usr/src/linux指向它; 2. 运行genkernel --menuconfig --bootloader=grub all,内核配置菜单我增加了对NTFS分区写的功能模块和中文支持模块,其他没有修改; 3. 修改grub.conf。 重新编译内核后,我的gnome就能正常启动了。但是触摸板感觉还有些问题,需要修改xorg.conf文件,明天再继续解决。现在还有如下几项工作要做: 1. 解决其他驱动的问题; 2. 安装中文环境; 3. 安装其他软件; 4. 美化。 12月3日 * 安装mplayer 本来准备用emerge来安装,但是emerge安装报错,说不能下载codecs,并且portage管理的版本好像也比较老,用的codecs都是2005年版的,所以我还是自己编译安装。编译很简单,这里就不说了。 * 安装声卡驱动 前两天我的系统安装完成后,系统启动后音量控制老是显示的是静音。我编译内核的时候把声音驱动也编了进去(以module方式),声卡应该已经认出来了,打开静音开关后声音也能播放。于是安装了alsa-utils,步骤如下: 1 emerge alsa-utils; 2 alsaconf,修改/etc/modules.d/alsa; 3 更新配置,modules-update //启动 /etc/init.d/alsasound 服务 4 将 alsasound 服务添加到 boot 运行级别 (alsasound 服务负责关机时保存系统的声音设置, 开机时读取声音设置) ,运行 rc-update add alsasound boot; 5 运行alsamixer设置音量,m切换静音。 到此应该大功告成了,重启系统后我的音量控制图标再也没有显示静音标记了,用mplayer播放声音正常。 12月4日 系统装好之后每次启动的时候都报select() to /dev/rtc to wait for clock tick timed out的错误,启动后发现设置好的时间快了8小时。用date -s 命令设置后用hwclock -w无法写入,报同样的错误。上网查了一下,原来是linux内核rtc与bios之间的问题,只需要在hwclock后加--directisa参数即可。为了保证系统启动的时候不报这个错,还需要修改/etc/init.d/目录下的clock脚本,把--directisa参数加上。修改完成之后系统时钟就再也没有报这个错误了。 12月7日 这两天gentoo一直还有一个问题,我的触摸板在gentoo下异常灵敏,在触摸板上轻轻敲一下往往会变成敲两下。在网上查了很久也没有找到解决办法,于是干脆静下心来好好看了一下 gentoo的handbook,收获也不小,了解了一些以前不是很清楚的底层的地方。昨天晚上又解决了如下两个问题: * 中文输入、显示及美化问题 按照http://justice666.blog.ccidnet.c ... -itemid-217454.html所说的去做,很容易就完成了中文输入法的安装。只不过在输入法自动启动上我是在/etc/X11/xinit/xinitrc.d/目录下创建了一个32-scim文件,保证任何用户登录都会有中文输入法。 至于显示,我编译内核的时候加进了对中文的支持,显示本来就没问题,需要做的就是安装一些中文字库。在linux下当然要支持开源字库,我安装了 fireflysung和firefly-bdf bitmap字库,我比较喜欢这个字库,如果不喜欢的话还可以选文泉驿,不过我没有用。另外为了能够显示别人windows平台下的office文档,我也安装了simsun、simhei、simkai、simyou、simli和simfang几个字库,我的本本提供了正版的windows vista,我用这几个字库也仅仅是自己学习用,应该不算侵权,^_^。安装字库我没有用emerge,gentoo的网速太慢,我直接把我以前下的 fireflysung等字体拷到/usr/share/fonts目录下,运行fc-cache -f -v即可。由于我用的是英文界面,美化问题也不存在了,中文化及美化问题也算是解决了。 * 触摸板问题 触摸板问题困扰了我很久,自从进入X后就一直没有解决,在网上参考了很多人的xorg.conf都没有解决,最后无意之间发现了以前备份的一个xorg.conf文件,把鼠标部分的设置拷过去,即: Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/input/mice" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection 再在Section "ServerLayout"段加入InputDevice "Mouse0" "CorePointer",把系统生成的其他鼠标设备全部关掉,重启X后触摸板终于没有原来那么灵敏了。但是这样触摸板无法双击拖动窗口,在网上查了一下,说是内核编译里需要打开对event的支持,有空再试试。另外还有一点没有搞明白的是,我上面的设置感觉应该是对鼠标的设置,居然触摸板也能用,有空再看看是不是还能改进。 到此我的gentoo安装已基本完毕,以后只是根据需要添加所需的应用软件就行了。通过这一个多星期的安装,我又学到了很多新的东西,不过感觉gentoo其实也还是屏蔽了不少底层的东西,并没有我当初想象的那么难。虽然我是从stage3开始安装的,不过我觉得差别也就仅仅在于基本系统不是我亲自编译的而已(当然比较费时),不过我觉得懂得其中的原理就基本达到我当初安装gento的目的了,没有必要所有的东西都要自己去编译。当然自己编译系统肯定会更优化,但是由于国内好像没有gentoo的镜像站点,下载速度太慢,我可没这么多时间来等待下载系统安装包,并且编译也很费时间。听说还有LFS(Linux From Scratch)比gentoo更彻底,不过我暂时不准备去试这个版本了,毕竟linux仅仅是一个操作系统,对于我而言是个工作和学习的平台。我的目的是用linux来做一些其他工作,而不是开发linux操作系统本身,到gentoo这个地步应该差不多了,等以后有时间和兴趣的时候再来试。 原文地址:http://blog.ccidnet.com/blog-htm-do-showone-uid-68180-itemid-214719-type-blog.html |