24 123
发新话题
打印

【分享】在HP zv5208的本本上安装Gentoo

【分享】在HP zv5208的本本上安装Gentoo

好久没来伊甸园了,最近换了个HP zv5208的本本,升级了一条512M的内存,同时把硬盘换成了80G8M缓存5400转的,在安装Gentoo的过程中还是遇到不少麻烦,在此写下全过程,以供大家参考。

首先下载个Gentoo的最小化启动碟,在启动时只顾看Splash了,不向1.4RC3或以前版本,一下就跳过了选择键盘布局。由于我使用的是dvorak的键盘布局,当然要先加载相应的键盘布局了。
[CODE]loadkeys dvorak[/CODE]

我使用了内置拔号的ADSL猫来上网,ADSL的IP地址为:192.168.1.1,本本将使用192.168.1.233的IP。好了,现在来先把网络搞定。
[CODE]ifconfig eth0 192.168.1.233 broadcast 192.168.1.255 netmask 255.255.255.0 up[/CODE]
还要添加上网关,
[CODE]route add default gw 192.168.1.1[/CODE]
设置DNS服务器的地址,
[CODE]nano -w /etc/resolv.conf[/CODE]
然后输入:
nameserver 192.168.1.1
nameserver 192.168.1.2
这里你应该将192.168.1.1改成主DNS服务器的IP地址,将192.168.1.2改为从DNS服务器的地址。
测试一下是否能够连通网络,
[CODE]ping -c5 www.gentoo.org[/CODE]      
我是用双手打天下的程序员。

TOP

准备安装

怎么分区就不讲了,给出我的分区表就行了。
[CODE]fdisk -l /dev/hda
/dev/hda1   *           1          33      265041   83  Linux
/dev/hda2              34        2644    20972857+   7  HPFS/NTFS
/dev/hda3            2645        9729    56910262+   f  W95 Ext'd (LBA)
/dev/hda5            2645        6565    31495401    7  HPFS/NTFS
/dev/hda6            6566        6722     1261071   82  Linux swap / Solaris
/dev/hda7            6723        9729    24153696   83  Linux[/CODE]
接下来格式化新创建的分区,hda1做为引导分区,因此使用了ext3的文件系统,hda7做为主分区,使用了高性能的xfs文件系统。
[CODE]mke2fs -j /dev/hda1
mkfs.xfs /dev/hda7[/CODE]
:mad:如果你不能保证硬盘不会掉电,我强列建议你最好不要用xfs文件系统。因为它使用了延迟写入的技术,一次掉电可能让你的整个系统垮掉。我在客户的EMS X400阵列柜上也是用的xfs文件系统,它自带2G的缓存,10分钟的电池以将缓存写入硬盘。同样配置的两台小型机在这个柜子上跑Oracle 9i,xfs文件系统性能比reiserfs文件系统性能高出15%左右。如果你不清楚各种文件系统的优缺点,那么引导分区用ext3,其它分区用reiserfs好了。

接下来格式化交换分区并且激活它,
[CODE]mkswap /dev/hda6
swapon /dev/hda2[/CODE]
加载分区,
[CODE]mount /dev/hda7 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
[/CODE]
然后进入主分区并下载stage1包及portage的快照并解开它们,
[CODE]cd /mnt/gentoo
links2 http://www.gentoo.org/main/en/mirrors.xml
tar -xvjpf stage1-*.tar.bz2
tar -xvjf /mnt/gentoo/portage-*.tar.bz2 -C /mnt/gentoo/usr[/CODE]
调整编译参数,下面是我的make.conf文件的内容:
[CODE]CFLAGS="-march=pentium4 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS="-j3"
USE="cjk nls"
GENTOO_MIRRORS="http://mirror.gentoo.gr.jp http://ftp.gentoo.or.kr/ ftp://linux.ntcu.net/dists/gentoo/ ftp://mirror.averse.net/pub/gentoo"
[/CODE]
:mad: 如果你不做这一步,你完全是在浪费时间,还不如从stage3开始。
如果你用的不是奔4的机器,把“-march”参数改为相应的平台即可。      
我是用双手打天下的程序员。

TOP

开始安装

使用mirrorselect工具选择的站点基本上都不是亚洲的,所以建议你直接使用我的make.conf的配置,下载速度一般都在200K/S左右。
首先拷贝启动光盘的内核、配置文件以及相应的模块,防止自己编译的内核无法启动,
[CODE]
cp /proc/config.gz /mnt/gentoo/boot
cp /boot/kernel-* /mnt/gentoo/boot
cp /boot/System.map-* /mnt/gentoo/boot
mkdir -p /mnt/gentoo/lib/modules
cp -r /lib/modules/* /mnt/gentoo/lib/modules[/CODE]
接下来要准备用stage1包来重新编译gcc,glibc,autoconfig,make,bintools等必要的编译工具,
[CODE]cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc none /mnt/gentoo/proc
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile[/CODE]
先更新ebuild文件,然后开始编译基本系统。
[CODE]emerge --sync
cd /usr/portage
scripts/bootstrap.sh[/CODE]
这个过程大概会花4个小时左右,完成这一步后和从stage2开始安装的过程是一样的,但是你会发现以后系统性能上的提高,磨刀不误砍柴工,以后你编译xorg,kde等时候你会觉得现在付出的时间多么有价值。
[CODE]emerge system[/CODE]
这个过程大约花6个小时,完成这一步后和从stage3开始安装的过程是一样的。      
我是用双手打天下的程序员。

TOP

编译内核

选择时区,
[CODE]ln -sf /usr/share/zoneinfo/Asia/Chongqing /etc/localtime[/CODE]
选择并编译内核,
[CODE]emerge gentoo-dev-sources
cd /usr/src/linux
cp /boot/config.gz .
gzip -d config.gz
mv config .config
make menuconfig
make
make modules_install
cp arch/i386/boot/bzImage /boot/kernel-2.6.10-gentoo-r6
cp System.map /boot/System.map-2.6.10-gentoo-r6
cp .config /boot/config-2.6.10-gentoo-r6[/CODE]
如果你还是用genkernel,那么前面备份启动光盘上的内核完全就是脱了裤子放屁,而且我建议你还是玩个其它的发行版,搞gentoo已经失去它的意义了。
由于你是基于启动光盘的配置文件来编译的,因此不需要做太多的改动即可,关于内核的编译,我将重新写个贴子详细说明。      
我是用双手打天下的程序员。

TOP

配置系统

首先要配置fstab文件,我就不再讲nano这个编辑器是怎么用的了,实际上我喜欢用emacs,但在安装过程中只能使用nano,也用不了vi。下面就是fstab文件的内容了,
[CODE]
/dev/hda1               /boot           ext3            noauto,noatime          1 2
/dev/hda7               /               xfs             noatime                 0 1
/dev/hda6               none            swap            sw                      0 0
/dev/cdroms/cdrom0      /mnt/cdrom      auto            noauto,ro               0 0
none                    /proc           proc            defaults                0 0
none                    /dev/shm        tmpfs           nodev,nosuid,noexec     0 0
[/CODE]
设置主机名,
[CODE]echo ary > /etc/hostname[/CODE]
设置域名,
[CODE]echo proge.com > /etc/dnsdomainname[/CODE]
你应该将“ary”换成你的主机名,将“proge.com”换成你的域名。
配置域名守护进程,
[CODE]rc-update add domainname default[/CODE]
配置网络,修改/etc/conf.d/net文件的内容,
[CODE]iface_eth0="192.168.1.233 broadcast 192.168.1.255 netmask 255.255.255.0"
gateway="eth0/192.168.1.1"[/CODE]
设置网络守护进程,
[CODE]rc-update add net.eth0 default[/CODE]
编辑主机解析文件/etc/hosts,
[CODE]127.0.0.1       localhost
192.168.1.233   ary.proge.com   ary[/CODE]
配置pcmcia卡守护进程,
[CODE]USE="-X" emerge pcmcia-cs
rc-update add pcmcia default[/CODE]
更改超级用户的口令,
[CODE]passwd[/CODE]
配置/etc/rc.conf文件,
[CODE]KEYMAP="dvorak"
CLOCK="local"
EDITOR="/usr/bin/emacs"[/CODE]
因为本本上还要用Windows系统,所以只好将就Windows,而不是按unix系统的习惯将硬件的时间设成格林威治时间。
接下来安装系统日志,
[CODE]emerge metalog
rc-update add metalog default[/CODE]
安装定时守护进程,
[CODE]emerge fcron
rc-update add fcron default[/CODE]
安装文件系统维护工具,
[CODE]emerge xfsprogs[/CODE]
如果你使用的是reiserfs,你应该安装reiserfsprogs包。      
我是用双手打天下的程序员。

TOP

配置GRUB

安装GRUB,我从来不将bootloader安装在主引导扇区,
[CODE]emerge grub
grub
grub> root (hd0,0)
grub> setup (hd0,0)
grub> quit [/CODE]
配置GRUB,以下是/boot/grub/grub.conf文件的内容,
[CODE]timeout 10
default 0
fallback 1
splashimage=(hd0,0)/grub/splash.xpm.gz
# For booting Microsoft Windows XP
title  Microsoft Windows XP
rootnoverify (hd0,1)
chainloader  +1
# For booting Gentoo Linux
title  Gentoo Linux 2.6.10-r6
root (hd0,0)
kernel /kernel-2.6.10-gentoo-r6 /root/dev/hda7 vga=792

title  Gentoo Linux 2.6.9-r1
root (hd0,0)
kernel /kernel-2.6.9-gentoo-r1 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda7 vga=792
initrd /initrd-2.6.9-gentoo-r1
[/CODE]
重新启动系统,
[CODE]exit
cd
umount /mnt/gentoo/boot /mnt/gentoo
reboot[/CODE]
我喜欢让GRUB引导NT OSLoader,然后再让NT OSLoader引导GRUB,这样就成了一个循环,因为我打开本本习惯先去倒杯水喝,我可不想倒完水回来发现正在启动一个你不想进的系统。
首先需要取得GRUB的引导扇区的内容,
[CODE]dd if=/dev/hda1 of=bootsect.lin bs=512 count=1[/CODE]
然后不管用软盘、U盘或者是samba,总之把“bootsect.lin”这个文件搞到NT OSLoader所在的盘下,修改boot.ini文件如下,
[CODE][boot loader]
timeout=10
default=C:\BOOTSECT.LIN
[operating systems]
C:\BOOTSECT.LIN="Gentoo Linux GRUB Bootloader"
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect /NoExecute=OptIn[/CODE]

:confused: 不是很顺利吗,没什么问题呀?别着急,你以为这样就算完了。这样的一个gentoo根本没什么用,问题还在后面呢。It's just begining...

你自己编译的内核能启动吗?如果不行还可以用LiveCD上的内核来启动,有关2.6内核的配置,我将单独发一篇贴子。      
我是用双手打天下的程序员。

TOP

问题一:鼠标无法在字符界面下工作(未解决)

无论是lynx还是links2,都无法使用鼠标。其实如何鼠标能在字符界面下工作,在shell中是能看到光标的,我至今不知道这是什么问题,请大家指点。我将/dev下有关鼠标的设备文件列出来,
[CODE]lr-xr-xr-x  1 root root 10 2005-01-30  psaux -> misc/psaux
lr-xr-xr-x  1 root root 13 2005-01-30  misc/psaux -> ../input/mice
crw-r--r--  1 root root 13, 63 1970-01-01  input/mice
lr-xr-xr-x  1 root root 10 2005-01-30  usbmouse -> input/mice
lr-xr-xr-x  1 root root 10 2005-01-30  /dev/mouse -> misc/psaux[/CODE]
刚安装完xorg后我发现鼠标无法使用,进入/dev目录发现psaux是个坏的链接,它指向了misc/psaux,但misc/psaux根本不存在。因此我新建了个链接misc/psaux并将它指向了../input/mice。这样倒是能在xorg下使用鼠标了。
:confused: 那么为什么不能在字符界面下使用鼠标呢?      
我是用双手打天下的程序员。

TOP

问题二:ATI Mobilyty Radeon 9000的支持(已解决)

我首先看了Gentoo Linux ATi FAQ,其中说到[QUOTE]For a 2.6.x kernel the DRI modules can be built with the kernel or be provided by the x11-drm ebuild[/QUOTE]
然后我就真的上了这个当,就按照上个本本(用的是GeForce的显卡,2.4的内核),没在内核中使用DRI,当我试图安装x11-drm时,
[CODE]VIDEO_CARDS="radeon" emerge x11-drm[/CODE]
出了以下的错误信息:
!!! ERROR: x11-base/x11-drm-4.3.0-r7 failed.
!!! Function pkg_setup, Line 72, Exitcode 0
!!! Please link //usr/src/linux to 2.4 kernel sources. x11-drm does not yet work with 2.6kernels, use the DRM in the kernel.
!!! If you need support, post the topmost build error, NOT this status message.
这样看来只能用内核中支持DRM了。
同样上个本本用的是nvidia的Close Source驱动,用下来感觉很好,所以我就自然的用了ati的Close Source驱动,fglrxconfig后结果黑屏,连按Ctrl+Backspace或者Ctrl+Del都没有用,只有强行关电。 这样搞了几次xfs就报设备出错了,一修复修出一堆看不懂的文件,什么都用不了。幸好我用samba将安装将备份根分区的tar文件扔在了其它的NT机器上,用Knoppix光盘启动恢复回来就行了。
然后重新安装xorg,
[CODE]emerge xorg-x11[/CODE]
这也是个漫长的过程,虽然说两次安装xorg都是在我睡觉时编译的,但我不想再搞第三次了。再备份一下(其实samba我是在此之前就装过的了)。
[CODE]emerge samba
mount -t smbfs -o username=ary //192.168.1.200/Developers/ary /mnt/floppy/
cd /
tar -cjf /mnt/floppy/gentoo.tar.bz2 bin dev etc home lib opt root sbin sys usr var
[/CODE]
mnt,proc,tmp目录就没必要备份了,到时候现建就行了。
然后就是配置/etc/X11/xorg.conf了,下面就是我的配置文件的内容:
[CODE]Section "ServerLayout"
Identifier     "X.org Configured"
Screen         "Screen0"
InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
RgbPath      "/usr/lib/X11/rgb"
ModulePath   "/usr/X11R6/lib/modules"
    FontPath  "/usr/share/fonts/misc"
    FontPath  "/usr/share/fonts/TTF"
    FontPath  "/usr/share/fonts/Type1"
    FontPath  "/usr/share/fonts/75dpi"
    FontPath  "/usr/share/fonts/100dpi"
    FontPath  "/usr/local/share/fonts"
    FontPath  "/usr/share/fonts"
    FontPath  "/usr/X11R6/lib/X11/fonts"
    FontPath  "/usr/local/share/fonts/TTF"
EndSection

Section "Module"
Load  "record"
Load  "extmod"
Load  "dbe"
Load  "dri"
Load  "glx"
Load  "xtrap"
Load  "freetype"
Load  "type1"
EndSection

Section "InputDevice"
Identifier  "Mouse0"
Driver      "mouse"
Option     "rotocol" "Auto"
Option     "Device" "/dev/mouse"
Option     "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
Identifier  "Keyboard0"
Driver      "kbd"

Option     "XkbModel" "microsoftpro"
Option     "XkbLayout" "dvorak,us"
Option     "XkbOptions" "grp:alt_shift_toggle"
EndSection

Section "Monitor"
Identifier   "Monitor0"
VendorName   "Monitor Vendor"
ModelName    "Monitor Model"
HorizSync    31.5 - 92.0
VertRefresh  40.0 - 150.0
EndSection

Section "Device"
Identifier  "Card0"
Driver      "ati"
VendorName  "ATI Technologies Inc"
BoardName   "Unknown Board"
BusID     "CI:1:5:0"
Option     "AGPMode"   "4"
Option     "AGPFastWrite"  "True"
Option     "EnableDepthMoves"  "True"
Option     "EnablePageFlip"  "True"
Option     "RenderAccel"  "True"
EndSection

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
  Depth 16
  Modes "1280x800"
EndSubSection
SubSection "Display"
  Depth   24
  Modes "1280x800"
EndSubSection
EndSection

Section "DRI"
Mode        0666
EndSection
[/CODE]
其实需要注意的是显卡的驱动必须是“ati”,而不能是“radeon”      
我是用双手打天下的程序员。

TOP

我抓了个图下来,试试贴不贴得上。可惜我抓的PNG有200多K,超过了大小限制,转成60%质量的JPG,效果差了很多。      
附件: 您所在的用户组无法下载或查看附件
我是用双手打天下的程序员。

TOP

我看很多贴子讲如何“汉化”Gentoo大都用了Windows下的字体。其实习惯什么字体就会觉得什么字体好看。Linuxer没必要非用Windows的字体不可吧。其实有很多选择的,例如wangttf、方正兰亭字体等都可以,找个自己喜欢的就行了。

有关JAVA中文支持的帖子也有不少。其实最简单的办法就是将jre/lib目录下的font.properties.zh_CN.Redhat拷贝成font.properties.zh_CN,并且修改这个文件最后一行,改为你想用的字体,或者建个链接把你希望用的字体链接上。      
我是用双手打天下的程序员。

TOP

 24 123
发新话题