LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 967|回复: 4

我的,完全无网络安装Gentoo过程,有图为证。

[复制链接]
发表于 2005-4-3 15:27:43 | 显示全部楼层 |阅读模式
2004.3LiveCD + 2.6.9-nitro4(patched unicode support)

说明:这是在下的没有办法的办法了,因为我实在是太想要用Gentoo了。这份文档是参考Gentoo 2004.3安装手册完成。

目标:kernel-2.6.9-nitro4 + xorg-x11 + gnome + java + mplayer + xmms
准备:nitro-sources-2.6.9-r4.ebuild, patch-2.6.9-nitro-r4.bz2, ibox或其它的支持中文的LiveCD。fcitx-3.0.2.tar.bz2

现在开始分三个阶段阐述:

第一阶段:chroot前的工作

我的这是一份无网络安装文档,所以前期的网络设置都免了。

// 分区
我的:
# fdisk /dev/hda
# mke2fs /dev/hda5
# mkreiserfs /dev/hda6
# mkreiserfs /dev/hda7
# mkreiserfs /dev/hda8
# mkreiserfs /dev/hda9
# mkreiserfs /dev/hda11
# mkswap /dev/hda10
# swapon /dev/hda10

PS:我也尝试过reiser4,很遗憾是在安装xorg-x11时,系统崩溃了。上面的boot,root和swap,根据个人具体情况而定。

// 挂载分区
# mount /dev/hda6 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mkdir /mnt/gentoo/usr
# mkdir /mnt/gentoo/var
# mkdir /mnt/gentoo/opt
# mkdir /mnt/gentoo/usr

# mount /dev/hda5 /mnt/gentoo/boot
# mount /dev/hda7 /mnt/gentoo/usr
# mount /dev/hda8 /mnt/gentoo/var
# mount /dev/hda9 /mnt/gentoo/opt
# mount /dev/hda11 /mnt/gentoo/home

// 日期设置
# date
# date mmddhhssyyyy

PS:日期的设置,我个人认为这个可以不用管,为了和官方手册一致,也是为了不误导他人,还是写上吧。

// 解压stage, portage,
# cd /mnt/gentoo
# tar -xvjpf /mnt/cdrom/stages/stage3-<subarch>-2004.3.tar.bz2
# tar -xvjf /mnt/snapshots/portage-20041022.tar.bz2 -C /mnt/gentoo/usr

PS:portage一定要用LiveCD中的。不然在接下来的emerge中,会有无限的网络连接请求,那么就不是无网络安装了。

# mkdir /mnt/gentoo/usr/portage/distfiles
# cp /mnt/cdrom/distfiles/* /mnt/gentoo/usr/portage/distfiles

PS:上面的路径根据个人具体情况不所不同,有可能是用其它的LiveC进行的安装。如iBox。

// 修改make.conf
# nano -w /mnt/gentoo/etc/make.conf
MAKEOPTS="-j2" // 最少要加上这行,当然不加也可以。

PS:这个文件会因你的前面安装的stage不同而不同,修改成适合你的CPU的配置,这里不要加入ACCEPT_KEYWORDS="~x86" 等解masked的信息。

// mount proc
# mount -t proc none /mnt/gentoo/proc
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf // 可要可不要

PS: 这个在解stage档前挂载,在解压完stage档后,会有个错误提示,不过不会影响系统安装。
 楼主| 发表于 2005-4-3 15:28:54 | 显示全部楼层
第二阶段:chroot 和 安装基本系统

// chroot
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile

// 设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

// 安装内核
说明:我采用的是2.6.9-nitro4 + unicode支持。现在在之前准备的ebuild和patch就有用了。

准备nitro-sources
# cp /path/to/ur/patch-2.6.9-nitro4.bz2 /usr/portage/distfiles/
# cd /usr/portage/sys-kernel/
# mkdir nitro-sources
# cd nitro-sources
# cp /path/to/ur/nitro-sources-2.6.9-r4.ebuild .
# ebuild nitro-sources-2.6.9-r4.ebuild digest
# ACCEPT_KEYWORDS="~x86" emerge nitro-sources

# cd /usr/src/linux
# make menuconfig
# make && make modules_install

配置内核就不再在多说,需注意的是,一定要使你的内核支持你开始建立的文件系统。其它的可参见Gentoo的官方手册。

内核编译完毕后:
# cp arch/i386/boo/bzImage /boot/kernel-2.6.9-nitro4 // 也可以取其它的名字^^
# cp System.map /boot/System.map-2.6.9-nitro4
# cp .config /boot/config-2.6.9-nitro4

// 编辑/etc/fstab

# nano -w /etc/fstab

(示例start, start 和 end 之间的)
/dev/hda5               /boot           ext2            noauto,noatime          1 2
/dev/hda6               /               reiserfs        noatime                 0 1
/dev/hda7               /usr            reiserfs        noatime                 0 1
/dev/hda8               /var            reiserfs        noatime                 0 1
/dev/hda9               /opt            reiserfs        noatime                 0 1
/dev/hda11              /home           reiserfs        noatime                 0 1
/dev/hda10              none            swap            sw                      0 0
/dev/cdroms/cdrom0      /mnt/cdrom      iso9660         noauto,ro               0 0
none                    /proc           proc            defaults                0 0
none                    /dev/shm        tmpfs           nodev,nosuid,noexec     0 0
(end)

// 设置网络,虽然为无网络安装,但还是需要使用网络的吧
# echo YouWantedToBe > /etc/hostname
# echo YouWantedToBe > /etc/dnsdomainname
# echo YouWantedToBe > /etc/nisdomainname

# rc-update add dnsdomainname default // 根据需要决定开启与否

# nano -w /etc/conf.d/net // 这个也是根据个人具体情况而定,详细信息见Gentoo官方手册。

# rc-update add net.eth0 default

// 修改/etc/hosts
# nano -w /etc/hosts

注意这个刚才设定的hostname一定要加入其中,不然在后面安装X后,X的启动速度会很慢。
示例:
127.0.0.1 hostname dnsdomainname nisdomainname
192.168.0.1 hostname dnsdomainname nisdomainname // 前面的192.168.0.1根据个人情况而定

# nano -w /etc/rc.conf
找到CLOCK="UTC" 修改为 CLOCK="local" // 设置新系统的时区

PS:现在像什么rp-pppoe, dhcpcd等网络工具都不要emerge,因为有些包,distfiles中没有。

// emerge 系统日志系统
# emerge metalog
# rc-update add metalog default

// emerge 文件系统工具
# emerge reiserfsprogs <--reiserfs

PS:使用ext3的可以不需要这一步

// emerge grub 和设定grub
# emerge grub

# nano -w /boot/grub/grub.conf
我的grub.conf:
default 0
timeout 10
splashimage=(hd0,4)/grub/splash.xpm.gz

title=Gnetoo Linux 2.6.9-nitro4
        root (hd0,4)
        kernel /kernel-2.6.9-nitro4 root=/dev/hda6
title=Windows Xp
        root (hd0,0)
        makeactive
        chainloader +1

PS:这里没有写上支持Frame Buffer的配置,因为我先要的是一个基本的系统,其它的东西可以在以后加入^^。

# grub
我的安装过程:

在grub的控制台中,
root (hd0,4)
setup(hd0)

// 到这里为止,Genoo的基本系统就在你的机器中安家了。当然还有一些收尾工作。
# cp /proc/mounts /etc/mtab
# passwd // 修改root密码

// add new user
# useradd -m -G users,wheel,audio,video,cdrom,usb -s /bin/bash yourname
# passwd yourname

// 准备重启机器
# exit
# umount /mnt/gentoo/proc
# umount /mnt/gentoo/usr
# umount /mnt/gentoo/var
# umount /mnt/gentoo/opt
# umount /mnt/gentoo/home
# umount /mnt/gentoo/boot
# umount /mnt/gentoo

# reboot

PS:这些步umount很重要,不然会有麻烦的事发生,比如文件没有写入区分等。至此,基本系统完全安装完毕。重启机器,取出LiveCD,就可以进入Gentoo了,当系统开始起动时候,真是让人激动。^^
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-3 15:31:13 | 显示全部楼层
第三阶段:安装X,汉化及拼装所需的工具(拼装这个词最恰当不过了^^)

准备工作:
2004.3的PackagesCD, iBox.

如果是CD,则放入cd到光驱:
# mount /mnt/cdrom
# export PKGDIR="/mnt/cdrom"

如果是iso,则:
# mount -o loop /path/to/iso /mnt/cdrom
# export PKGDIR="/mnt/cdrom"

# rm -rf /tmp
# ln -s /var/tmp /tmp

// 先emerge一些其它的工具。
# emerge -K hotplug
# rc-update add hotplug default

# emerge -K rp-pppoe // ADSL拨号用,我想这个是很多人使用的吧,如何使用参见手册

# emerge -K vixie-cron

PS:其实可以不使用-K选项。先直接emerge,如果不行,再使用-K选项。在之前不行,是因为LiveCD中没有它们依赖的包。现在PackageCD中有其依赖包的二进制包,正好可以互补。

// 安装xorg-x11
# emerge -K xorg-x11
# env-update && source /etc/profile

PS:这里使用-K选项是因为不想在编译xorg-x11上浪费时间。

# Xorg -configure
# X -config /root/xorg.conf.new

看能否起动X?如果能,则:
# cp /root/xorg.conf.new /etc/X11/xorg.conf

PS:不过,大多数情况下,生成的是不能用的。下面给出我的xorg.conf,以供参考。
Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/share/fonts/misc/"
        FontPath     "/usr/share/fonts/TTF/"
#       FontPath     "/usr/share/fonts/Speedo/"
#       FontPath     "/usr/share/fonts/Type1/"
#       FontPath     "/usr/share/fonts/CID/"
        FontPath     "/usr/share/fonts/75dpi/"
        FontPath     "/usr/share/fonts/100dpi/"
        FontPath     "/usr/share/fonts/ttf/zh_CN/"
EndSection

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

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option  "CoreKeyboard"
        Option  "XkbRules" "xorg"
        Option  "XkbModel" "pc105"
        Option  "XkbLayout" "us"
EndSection

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

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "TS"
        ModelName    "Samsung 783MB"
        HorizSync    30.0 - 80.0
        VertRefresh  50.0 - 150.0
        Option      "DPMS"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "nv"
        VideoRam    65536
        VendorName  "nVidia Corporation"
        BoardName   "NV17 [GeForce4 MX 420]"
        BusID       "CI:1:0:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Depth     24
                Modes   "1024x768"
        EndSubSection
EndSection

// 安装nvidia-glx
# emerge nvidia-glx  // 其实这是两步一起做了, emerge nvidia-kernel 和 emerge nvidia-glx
# modprobe nvidia // 如果没有问题,则可以使用lsmod看到nivida的模块已加载
# lsmod

接着修改/etc/xorg.conf,找到
Section "Device"
        Identifier  "Card0"
        Driver      "nv"
        VideoRam    65536
        ...
EndSection

将Driver "nv" 改成 Driver "nvidia",

# opengl-update xorg-x11
# opengl-update nvidia

# starx  // 就能看到nvidia的logo了。在X下,可以用:
# glxinfo | grep direct // 查看模块的工作状况
# glxgears // 可以查看X的帧速

如果使用nvidia的驱动,X能正常的开启和关闭,那么就可以将模块自动加载,修改/etc/modules.autoload.d/kernel-2.6
在最后一行,加上nvidia, 这样就可以在开机自动加载。

// 安装Gnome
# USE="-qt -kde gtk gnome" emerge -K gnome

# env-update && source /etc/profile
# echo "exec gnome-session" > ~/.xinitrc
# startx  // 应该就能进入Gnome了。

接下来修改/etc/rc.conf,找到并修改如下:
DISPLAYMANAGER="gdm"
XSESSION="Gnome"

# rc-update add xfs default // 为汉化作准备

// 安装java
# emerge -K blackdown-jdk-1.4.1.tbz2
# env-update && source /etc/profile

// 安装fcitx
# mv fcitx-3.0.2.tar.bz2 /tmp
# cd /tmp
# tar jxvf fcitx-3.0.2-tar.bz2
# cd fcitx-3.0.2
# ./configure && make && make install

准备重启机器。

// 汉化及其它工具的安装
汉化方法和iBox一样。汉化字体主要是使用大名鼎鼎的iBox中的字体,一些软件也是从iBox中提取出来的。在这里还要感谢HomeKing了,为我们做出了这么好的中文Linux LiveCD。

过程:
用iBox启动机器:
# su -
# mount /dev/hda6 /mnt/gentoo // 我机器上的/var
# mount /dev/hda7 /mnt/gentoo/usr

# cp -R /usr/share/fonts/ttf /mnt/gentoo/usr/share/fonts
# cp /mnt/gentoo/etc/fonts/fonts.conf /mnt/gentoo/etc/fonts.conf.bak
# cp /etc/fonts/fonts.conf.debian /mnt/gentoo/etc/fonts/fonts.conf
记得修改/etc/X11/xorg.conf,在字体块中,加入
FontPath     "/usr/share/fonts/ttf/zh_CN/"


修改/root/.xinitr如下:
export XMODIFIERS=@im=fcitx
export XIM=fcitx
export XIM_PROGRAM=fcitx
export LC_ALL=zh_CN.GBK
fcitx &
gnome-session

# cp -R /etc/gtk /mnt/gentoo/etc // xmms字体设置时,要用到的。

接下来就是在iBox中提取应用软件了,2004.3中paceageCD中软件包并不是很全,所以我就想到了这个方法。iBox中提供了很多工具,这个可以根据个人需要酌情提取了。

最后就是重起机器,取出iBox,进入Gentoo,在Gnome中就可以进行字体选择了。
挂载分区时记得使用 -o iocharset=cp936
xmms字体设置为
playlist: -misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0
main window: -misc-simsun-medium-r-normal--12-*-*-*-*-*-gbk-0,*-r-*

这就是我的安装汉化过程,虽然很麻烦,但是,至少,我用上了我想用的Gentoo了。
PS:第一次写这样的工作流程,写的很繁琐,有缺点,再所难免,还请各位指点了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-3 16:00:00 | 显示全部楼层
传不上图片了。
回复 支持 反对

使用道具 举报

发表于 2005-4-3 18:30:36 | 显示全部楼层
照着文档作就没错了,呵呵。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表