精华内容
下载资源
问答
  • gentoolinux安装教程

    2008-02-02 12:04:17
    gentoolinux安装教程
  • Gentoo Linux 安装手册

    2011-04-15 11:28:07
    Gentoo Linux 安装手册, Gentoo Linux安装完整教程, 内容详细, 包你一次就会, 绝对精彩. Gentoo Linux 安装手册完整教程!
  • Gentoo Linux 安装 笔记

    2010-02-14 18:35:41
    Gentoo Linux 安装笔记 Gentoo Linux 安装笔记 Gentoo Linux 安装笔记
  • Gentoo+NVIDIA+Pantheon 桌面安装教程1.Gentoo简介以及特点2.Gentoo基本系统框架安装2.1 网路连接2.2 分区操作2.3 源码下载以及文件系统的安装2.4 系统环境配置2.5 后续3.Gentoo桌面环境安装参考 1.Gentoo简介以及...

    1.Gentoo简介以及特点

    Gentoo是一个基于Linux的自由操作系统,它能为几乎任何应用程序或需求自动地作出优化和定制。它几乎较为高度自由化和个性化,构建自己特点的操作系统,灵活性高。但是由于是通过下载源码然后再进行编译过程的操作系统使得很多人望而却步.Portage是Gentoo的核心和特色,Gentoo下可以从服务器上获取最新的Portage树然后进行同步处理。由于使用Portage系统安装程序会使用网络下载源代码,在进行系统或软件的安装时,不仅需要随时的连接,还要求足够的传输速度。编译过程中需要操作者了解一定的Linux底层的知识,编译时间较长,这是它的一些缺点。另外Gentoo也有很多派生的系统,例如Funtoo、Pentoo(黑客网络渗透工具系统).本文介绍如何对Gentoo进行安装和使用,其中Funtoo、Pentoo的安装方法也是大同小异.

    2.Gentoo基本系统框架安装

    Gentoo操作系统的安装分为以下的步骤:网络连接、分区操作、源码下载以及内核编译、系统配置、系统启动器安装。

    2.1 网路连接

    首先系统的安装需要网络的连接以便于Portage系统连接到服务器进行文件信息的同步处理。如果是有线连接可以直接安装网线即可(笔者的条件),若是无线连接需要进行以下的操作
    首先查看可使用的网卡信息

    ifconfig
    

    可以显示出无线网卡wlp2s0以及有线网卡enp3s0,不同的电脑名称都不太一样.安装环境中需要包含有wpa_supplicant工具用于连接无线网络。输入以下的命令

    wpa_passphrase 网络名称 密码 >./wpa.conf
    wpa_supplicant -i wlp2s0 -c ./wpa.conf -D wext -B # 用于启动wifi连接
    

    用DHCP协议获取动态IP地址进行连接操作

    dhcpcd
    

    然后就可以连接上互联网了.可以使用以下的命令查看互联网是否连接:

    ping www.baidu.com
    

    2.2 分区操作

    使用fdisk,gparted,cfdisk均可以进行分区操作。为使用方便,笔者使用cfdisk进行分区操作,或者是自己提前在windows下使用diskgenius工具进行分区格式化操作.
    查看分区状态

    fdisk -l 
    

    格式化分区

    mkfs.fat /dev/sda1 # 用于EFI启动的分区
    mkfs.ext4 /dev/sda2 # 用于安装系统文件的位置
    mkswap /dev/sda3 #用于交换分区的位置
    swapon /dev/sda3 # 激活交换分区
    

    这里笔者分配了40GB为Gentoo操作系统区域,2GB为交换分区,300MB为EFI分区.
    挂载分区

    mount /dev/sda2 /mnt/gentoo
    mkdir -p /mnt/gentoo/boot/efi
    mount /dev/sda1 /mnt/gentoo/boot/efi
    

    2.3 源码下载以及文件系统的安装

    由于我们使用的是最小安装镜像所以我们需要下载安装stage3文件进行下载.可以到清华镜像源进行下载,或者是到163镜像源进行下载.笔者这里使用到了163镜像源进行下载:

    links http://mirrors.163.com/gentoo/releases/amd64/autobuilds/current-stage3-amd64/
    

    将stage3-amd64-20200819T214503Z.tar.xz 文件保存到/mnt/gentoo文件目录下.下一步进行解压处理

    tar xvf stage3-amd64-20200819T214503Z.tar.xz
    

    挂载文件系统
    这里需要挂载以下的几个文件系统

    mount -t proc /proc /mnt/gentoo/proc
    mount --rbind /sys /mnt/gentoo/sys
    mount --rbind /dev /mnt/gentoo/dev
    

    复制配置文件

    cp /etc/resolv.conf /mnt/gentoo/etc/
    

    更换根目录

    chroot /mnt/gentoo /bin/bash
    env-update && source /etc/profile
    export PS1="(chroot) $PS1"
    

    同步portage源码tree
    这一步用于将服务器上的Gentoo源码同步Portage树到电脑上

    mkdir /usr/portage
    

    由于国外网址下载速度比较慢,在手册里中说明使用mirrorselect工具可以选择自己的镜像地址,由于我们已经改变了root,所以在这里我们手动添加镜像列表。编辑文件

    nano /etc/portage/make.conf
    

    并且添加以下的内容

    GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"
    SYNC="rsync://rsync.cn.gentoo.org/gentoo-portage
    

    建议修改MAKEOPTS变量,根据您电脑的CPU几核的修改。查看的方法如下所示

    cat /proc/cpuinfo |grep processor
    

    笔者这里显示的是8核,所以在文件make.conf最后一行添加为

    MAKEOPTS="-j8"
    

    文件系统的安装
    更新portage树

    emerge-webrsync
    

    这一步需要花费10分钟左右,过程中下载一些源码包文件等等。
    配置系统
    这一步指的是选择系统profile,查看下有哪些系统profile可以选择

    eselect profile list
    

    笔者这里选择的是KDE Plasma桌面,所以选择

    eselect profile set default/linux/amd64/17.1/desktop/plasma
    

    注意这一步的profile选择比较重要,关系到之后内核的编译过程。
    设置时区
    这一步没什么好说的,设置上海时区

    cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime
    echo " Shanghai " > /etc/timezone
    

    编辑文件locale.gen

    nano /etc/locale.gen
    

    取消以下内容的注释

    en_US.UTF-8 UTF-8
    zh_CN.UTF-8 UTF-8
    

    生成对应的配置文件

    locale.gen
    

    设置系统语言(建议设置为英文)

    echo LANG=en_US.UTF-8 > /etc/locale.conf
    

    更新配置文件

    env-update && source /etc/profile
    

    安装源码
    这一步是核心步骤,需要下载源码文件供之后对内核的编译

    emerge gentoo-sources
    

    这一步需要花费10-15分钟左右,安装完成后可以查看是否有一个linux的符号链接指向你的内核源码

    ls -l /usr/src/linux
    

    编译内核
    编译内核文件首先需要安装以下的一小部分内容,内核的编译依赖于以下的文件

    emerge app-arch/cpio
    emerge sys-devel/autoconf-archive
    

    然后进行环境的更新

    etc-update -3
    

    下载内核编译工具

    emerge --ask genkernel
    

    下载内核工具编译的时候同时也下载好了linux-firmware、linux内核,然后进行内核的编译

    time genkernel all
    

    time是计算一下编译内核文件的时间长短.当然,内核的选择可以是有选择的编译,这里为方便使用all字符表示都编译.可以使用图形化选择编译:

    genkernel --menuconfig all
    

    这里花费大概30-40分钟进行编译,时间较长.

    2.4 系统环境配置

    修改fstab文件
    fstab文件指明了文件系统启动的位置以及文件系统的挂载分区.编辑文件

    nano /etc/fstab
    

    并按照例子写出自己的系统安装挂载分区

    /dev/sda1		/boot/efi		vfat		defaults	0 2
    /dev/sda2		/				ext4		noatime		0 1
    /dev/sda3		none			swap		sw			0 0
    

    保存文件
    编辑域名以及主机名
    编辑文件

    nano /etc/conf.d/hostname
    

    文件中修改为自己的名字

    hostname="myhostname"
    

    编辑文件

    nano /etc/hosts
    

    修改以下为自己的网络主机名

    127.0.0.1		myhostname
    ::1				myhostname
    

    网络以及其他文件
    添加dhcpcd,增加DHCP协议

    emerge dhcpcd
    

    添加为开机启动

    rc-update add dhcpcd default
    

    添加syslog-ng,ssh,cronie,

    emerge syslog-ng
    emerge virtual/ssh
    emerge cronie
    

    设置为开机启动

    rc-update add syslog-ng default
    rc-update add sshd default
    rc-update add cronie default
    

    添加用户并设置密码
    添加用户

    useradd -m -g users -G wheel -s /bin/bash myusername
    

    设置密码

    passwd root
    passwd myusername
    

    配置sudo,下载sudo

    emerge sudo
    

    编辑文件

    nano /etc/sudoers
    

    将myusername添加到sudo中

    myusername ALL=(ALL) ALL
    

    添加操作系统启动项
    下载grub并安装

    emerge sys-boot/grub
    

    安装启动文件

    grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck
    

    生成相应的菜单选择文件

    grub-mkconfig -o /boot/grub/grub.cfg
    

    这样就完成了,然后再退出chroot,卸载

    umount /mnt/gentoo/dev
    umount /mnt/gentoo/proc
    umount /mnt/gentoo/boot/efi
    umount /mnt/gentoo/
    

    重新启动操作系统即完成了基本安装.

    2.5 后续

    操作系统安装完成之后,发现并没有无线网卡驱动,所以又进行了以下操作:
    先安装openssl、openssh

    emerge net/misc/openssh
    emerge net/misc/openssl
    

    再安装iw、wpa_supplicant、dialog组件等等

    emerge iw dialog wpa_supplicant
    

    至此,基本的系统已经安装完成。下面笔者讲述对桌面环境的安装过程。

    3.桌面环境的安装过程

    首先安装xorg服务,这是桌面环境的最底层服务组件。

    sudo emerge --ask --quiet x11-base/xorg-drivers
    sudo emerge --quiet --ask x11-base/xorg-server
    sudo env-update
    

    安装sddm登录管理器,当然也可以选择其他的登录管理器进行安装,这里笔者选择了sddm登录管理器。

    sudo emerge --ask --quiet sddm
    

    这里需要下载一个cpu标志管理的包cpuid2cpuflags:

    sudo emerge --ask --quiet cpuid2cpuflags
    

    然后将cpu的寄存器标志写入文件

    cpuid2cpuflags >> /etc/portage/make.conf
    

    然后安装桌面

    ```bash
    sudo emerge --ask --quiet kde-frameworks/plasma
    sudo emerge --ask --quiet kde-plasma/plasma-meta
    sudo emerge --ask --quiet xterm
    

    修改登录管理器的配置文件

    sudo nano /etc/conf.d/xdm
    

    修改为以下的内容

    DISPLAYMANAGER="sddm"
    

    将sddm添加为开机启动

    sudo rc-update add sddm default
    

    然后重新启动系统之后,即可以登录桌面环境

    参考

    [1] Gentoo安装全过程
    [2] Gentoo官方文档

    展开全文
  • Gentoo linux 实用安装教程,原创,实践总结,OpenRC+UEFI+Lvm+Xfce4

    ——「1」livecd连网 通常可自动连接,特殊网络环境不在本文讲解范围之内

    ——「2」硬盘分区 #此处仅为示例,具体分区方案依实际情况规划

    lsblk #查看磁盘概略信息,也可选择用fdisk -l查看

    NAME         MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

    sda            8:0    0 119.2G  0 disk 
    ├─sda1         8:1    0   599M  0 part /boot/efi
    └─sda2         8:2    0 118.7G  0 part /
    sdb            8:16   0 931.5G  0 disk 
    └─sdb1         8:17   0 931.5G  0 part 
      └─vgx-home 253:0    0   2.7T  0 lvm  /home
    sdc            8:32   0 931.5G  0 disk 
    └─sdc1         8:33   0 931.5G  0 part 
      └─vgx-home 253:0    0   2.7T  0 lvm  /home
    sdd            8:48   0 931.5G  0 disk 
    └─sdd1         8:49   0 931.5G  0 part 
      └─vgx-home 253:0    0   2.7T  0 lvm  /home


    parted -a optimal /dev/sda -a optimal确保4k对齐

         mkpart ESP 0% 600M                                                        

         mkpart rootfs 600M 100%                                                   

         set 1 boot on #标记ESP分区          

         p

         align-check optimal ? #检测4k对齐,?指分区序号1/2/3...


    mkfs.vfat -F 32 /dev/sda1 #ESP分区必须为fat32格式

    mkfs.ext4 /dev/sda2


    parted -a optimal /dev/sdb

         mkpart lvm 0% 100%

         p

         align-check optimal 1


    lvm2磁盘操作:

         pvcreate /dev/sdb1 #新建物理卷

         vgcreate vg /dev/sdb1 #新建卷组并命名为vg

         lvcreate --size 2g --name swap vg #新建逻辑卷并命名为swap

         lvcreate --extends 100%FREE --name home vg #使用全部剩余空间,新建逻辑卷并命名为home

         vgchange --activate y #激活卷组

         ls /dev/vg #查看已创建的lvm分区


    mkswap /dev/vg/swap

    swapon /dev/vg/swap #激活swap分区

    mkfs.ext4 /dev/vg/home


    ——「3」基本环境搭建:下载stage3并chroot

    mount /dev/sda2 /mnt/gentoo

    cd /mnt/gentoo/


    links

    http://www.gentoo.org/main/en/mirror.xml #选择网易镜像,到releases/amd64/autobuilds目录下载stage3,D下载Q结束


    tar jxvfp stage3....tar.bz2


    blkid | grep /dev/sda2 >> /mnt/gentoo/etc/fstab  #存储rootfs的PARTUUID,以备第6步操作中写入内核


    mkdir -p /mnt/gentoo/boot/efi

    mount /dev/sda1 /mnt/gentoo/boot/efi

    mkdir -p /mnt/gentoo/boot/efi/gentoo/boot #EFI分区存放内核的目录

    mount /dev/vg/home /mnt/gentoo/home

    mount -t proc proc /mnt/gentoo/proc #chroot准备

    mount --rbind /sys /mnt/gentoo/sys

    mount --rbind /dev /mnt/gentoo/dev


    mirrorselect -i -o >> ./etc/portage/make.conf #设置portagetree更新源

    mirrorselect -i -r -o >> ./etc/portage/make.conf #设置snapshots更新源

    cp -L /etc/resolv.conf ./etc #nameserver data #复制域名服务器信息


    chroot /mnt/gentoo /bin/bash

    source /etc/profile

    export PS1="[chroot]$PS1" #可选操作,仅为提示功能


    emerge-webrsync #更新快照

    emerge --sync --quiet #更新portagetree

    eselect profile list #选择mirror具体目录

    eselect profile set ? #可选择纯64位安装


    ——「4」编译参数设置

    nano -w /etc/portage/make.conf

         CFLAGS="-march=native -o2 -pipe"

         MAKEOPTS="-j9" #CPU线程数+1

         USE="默认项 ssse3 sse4 avx avx2” #查看/proc/cpuinfo核对

         USE=“-gnome -kde -minimal -qt4 dbus jpeg lock session startup-notification thunar X" #xfce4桌面环境需要

         USE=”gtk xvmc” #nvidia专有驱动需要

         ACCEPT_LICENSE="-* @FREE" #仅使用自由软件

         ACCEPT_KEYWORDS="amd64" #仅使用稳定版,添加 ~ 指兼纳不稳定版本

         PORTAGE_ELOG_CLASSES="info warn error log qa"

         PORTAGE_ELOG_SYSTEM="save"

         VIDEO_CARDS="nvidia" #intel显卡为”intel”

         INPUT_DEVICES="evdev"

         LINGUAS="zh_CN zh_TW" #中文设置


    ——「5」本地化设置

    echo "Asia/Shanghai" > /etc/timezone

    emerge --config sys-libs/timezone-data


    nano /etc/locale.gen

         zh_CN.UTF8 UTF8

         us_US.UTF8 UTF8


    locale-gen

    locale -a

    eselect locale list

    eselect locale set ?

    env-update && source /etc/profile


    ——「6」选择内核项&编译

    lspci #查看硬件型号,需先安装pciutils

    lsmod #查看livecd目前有效的硬件驱动模块,供参考


    emerge gentoo-sources #下载内核源码

    ls -l /usr/src/linux #确认linux内核

    cd /usr/src/linux


    make menuconfig #内核功能选择

    ##添加特殊驱动、GPT&EFI支持

    ##精简文件系统、无关驱动、非intel相关项等

    ##root目录写进内核

           Processor type and features --->

           [*]Built-in kernel command line

         root=/dev/sda2root=PARTUUID=...#用blkid命令查看PARTUUID(特别注意:非UUID


    ##x11-base/xorg-server需要的选项:

    Device Drivers --->

      Graphics support --->

        Support for frame buffer devices --->

    ## (Disable all drivers, including VGA, Intel, nVidia, and ATI)

    ## (Further down, enable basic console support. KMS uses this.)

        Console display driver support --->

          <*>  Framebuffer Console Support

    ##intel显卡(x11-base/xorg-server)

    Device Drivers --->

      Graphics support --->

        /dev/agpgart (AGP Support) --->

        <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support

        Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->

        <*>  Intel 8xx/9xx/G3x/G4x/HD Graphics


    ##nvidia专有驱动(x11-base/xorg-server)

    [*] Enable loadable module support --->

    Processor type and features --->

        [*] MTRR (Memory Type Range Register) support

    Device Drivers --->

        Graphics support --->

            Frame buffer Devices --->

                <*> Support for frame buffer devices --->

                < >   nVidia Framebuffer Support  disable

                < >   nVidia Riva support  disable

    make && make modules_install

    cp /usr/src/linux/arch/x86_64/boot/bzimage /boot/efi/gentoo/boot/bootx64.efi

    ——「7」网络设置&fstab

    设置有线网络:

         nano /etc/conf.d/hostname #hostname="kyss"   

         nano /etc/conf.d/net #config_neo1="dhcp"

         cd /etc/init.d     

         ln -s net.lo net.eno1        #eno1为示例,用ifconfig查看网卡具体名称

         rc-update add net.eno1 default     

         emerge dhcpcd  #安装dhcp客户端     


    nano -w /etc/fstab

         /dev/sda1 /boot/efi     vfat       defaults,discard                               0 2

         /dev/sda2 /             ext4       defaults,noatime,errors=remount-ro,discard     0 1

         /dev/vg/swap none          swap       noatime,discard                                0 0

         /dev/vg/home /home         ext4 defaults,noatime,errors=remount-ro             0 2


    passwd root#为root设置密码


    ——「8」设置系统启动菜单

    emerge efibootmgr

    exit

    cd

    umount -l /mnt/gentoo/dev{/shm,/pts,}

    umount /mnt/gentoo{/boot,/proc,/sys,}

    reboot


    modprobe efivars #必须切换至UEFI环境,选择/dev/sda2为root目录

    efibootmgr -c -d /dev/sda -p 1 -L Gentoo -l "\gentoo\boot\bootx64.efi"


    emerge lvm2 #目标主机安装lvm2

    rc-update add lvm boot #添加至boot运行级,确保逻辑卷开机挂载


    ——「9」安装xorg&xfce4

    rm stage3....tar.bz2

    useradd -m -G users,wheel,audio,video,usb /bin/bash fh

    passwd fh


    ##xorg&xfce安装详情见gentoo-wiki:

    ##https//wiki.gentoo.org/wiki/Xorg/ConfigurationInstalling_Xorg

    ##http//wiki.gentoo.org/wiki/Xfce/HOWTO


    emerge -pv xorg-drivers #查看相关信息

    echo "x11-base/xorg-server udev" >> /etc/portage/package.use

    emerge --ask xorg-server  #根据提示添加额外USE

    env-update && source /etc/profile

    ##若为nvidia显卡,需要的额外操作:

    ##nvidia-xconfig

    ##eselect opengl set nvidia

    ##eselect opencl set nvidia


    emerge --ask xfce4-meta #根据提示添加额外USE

    env-update && source /etc/profile

    emerge --ask x11-terms/xfce4-terminal

    echo XSESSION="Xfce4" > /etc/env.d/90xsession

    chown -R fh:fh /home/fh change ownership of all in fh directory back

    startx


    emerge --ask

    xfce4-battery-plugin

    xfce4-sensors-plugin

    xfce4-power-manager

    xfce4-mixer #调节音量

    xfce4-taskmanager

    mplayer

    firefox

    app-admin/syslog-ng

    sys-process/cronie

    sys-apps/mlocate


    rc-update add syslog-ng default

    rc-update add cronie default

    rc-update add sshd default


    展开全文
  • Gentoo虚拟机安装教程

    千次阅读 2020-02-24 23:26:06
    Gentoo是一个非常著名的发行版,在Linux高手中非常流行。之前我也是被Gentoo的威名震慑了,所以一直没有尝试安装,最近感觉可以尝试一下了。所以今天来看看如何在虚拟机中安装Gentoo吧。本文参考了Gentoo 安装手册,...

    Gentoo是一个非常著名的发行版,在Linux高手中非常流行。之前我也是被Gentoo的威名震慑了,所以一直没有尝试安装,最近感觉可以尝试一下了。所以今天来看看如何在虚拟机中安装Gentoo吧。本文参考了Gentoo 安装手册,如果想了解更多关于安装Gentoo的知识,可以直接查看官方文档。

    当然有一说一,Gentoo的安装确实比Arch复杂多了。Arch其实安装起来并不算复杂,就是第一次操作命令行不熟悉,而Gentoo相比之下复杂多了,感觉难度是Arch安装5倍不止。特别是配置内核这一项的复杂程度,可能就顶了Arch整个安装的复杂度。

    准备工作

    下载镜像

    首先到Gentoo官网下载所需的网络安装镜像,和Arch一样,Gentoo没有提供完整安装包,只有一个网络安装镜像。当然硬要说的话,Gentoo还是有完整镜像的,不过这个镜像已经三四年没有更新了,所以我们完全不用管它。

    下载网络安装镜像

    启动虚拟机

    首先新建虚拟机的过程就不说了,我选择的CPU是2核,内存2G,硬盘空间32G,启动方式EFI。除了启动方式必须设置成EFI以外,其他设置全部按大家实际情况来就行了。设置好之后用网络镜像启动虚拟机,应该会看到如图所示的界面。

    启动界面

    非常有趣的一点就是Gentoo的Live环境了,它虽然是命令行终端,但是却非常神奇的支持鼠标操作,。鼠标拖动选择文本等操作全部支持,真的是让人惊叹。

    进入Live界面

    开启SSH

    虽然虚拟机是可以支持剪贴板复制等操作的,但是在系统安装过程中是没办法支持的。所以接下来要输入的大量命令会让人感到十分困扰。所以为了方便最好开启SSH,这样我们好歹大部分命令可以直接复制粘贴。

    rc-service sshd start
    

    默认root密码为空,为了能够SSH,还有手动设置一下root密码。

    passwd
    

    开启成功之后,输入ip a命令查看一下虚拟机的IP,然后我们就可以SSH到虚拟机内部了。
    查看IP地址

    这样一来就不需要手打命令了。当然并不是说所有命令都能无脑复制粘贴,有些地方还是需要根据自己需求进行修改的。使用SSH还有一个好处就是在下面配置区域的时候,如果你只指定了中文区域,在终端中汉字会显示成方块,但是在SSH中可以正常显示。如果你准备直接在终端中输入命令的话,记得同时启用英文区域。

    成功登录

    安装Stage3文件

    磁盘分区

    当然,因为是虚拟机安装,所以烧录镜像、配置网络等复杂步骤不需要进行,我们直接从磁盘分区开始。因为我是EFI方式启动,所以要分两个区,ESP以及根分区。

    parted /dev/sda mklabel gpt
    parted /dev/sda mkpart efi fat32 0% 512M
    parted /dev/sda mkpart root ext4 512M 100%
    parted /dev/sda set 1 esp on
    
    # 格式化分区
    mkfs.fat -F32 /dev/sda1
    mkfs.ext4 /dev/sda2
    

    最后将根目录分区挂载为/mnt/gentoo,就可以进行下一步的工作了。

    mount /dev/sda2 /mnt/gentoo
    

    安装Stage3

    这里简单按我的理解介绍一下Gentoo的包,详细信息请参考关于Stage Tarball的官方文档,简单说来可以分为Stage 1/2/3/4四个类型:Stage 1可以简单理解成源代码的包;Stage 2同样包含了Stage 1的所有文件,但是同时还包含了Stage 1编译出来的文件,也就说是Stage 2是自包含的包(自己可以编译出自己);Stage 3则是包含了系统必备工具的集合,也就是我们这里要安装的系统基础组件(不包括内核和引导器);Stage 4除了Stage 3的文件之外,还包含了内核和系统引导器,所以Stage 4就是一个可运行的包。这里我们要学习如何安装Gentoo,所以选择下载Stage 3就可以了,Stage 4主要是用于虚拟机快速运行之类的。

    我们到清华镜像寻找最新的Stage 3的包,可以看到这里有很多文件,x32的我们不需要,带nomultilib的也不需要,iso的也不需要。我们要找的就是tar.xz格式的归档文件,除了包以外,还有三个附加文件分别包含了归档包的内容信息(CONTENTS)、校验信息(DIGESTS)以及加密的校验信息(DIGESTS.asc)。我们要把文件和三个校验文件全部下载下来。

    寻找Stage 3包

    下载命令如下,当然在下载之前,必须将工作目录切换到/mnt/gentoo也就是我们的根目录下,这样做的目的很简单,因为一会要将系统文件解压到根目录下。这里的下载链接是我目前复制出来的,假如大家以后看到本文的话,需要自己打开浏览器重新复制一下文件下载链接。

    # 必须先切换到/mnt/gentoo
    cd /mnt/gentoo
    
    wget https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20200223T214502Z.tar.xz
    wget https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20200223T214502Z.tar.xz.CONTENTS
    wget https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20200223T214502Z.tar.xz.DIGESTS
    wget https://mirrors.tuna.tsinghua.edu.cn/gentoo/releases/amd64/autobuilds/current-stage3-amd64/stage3-amd64-20200223T214502Z.tar.xz.DIGESTS.asc
    

    如果条件不允许,还可以使用另外一种方式避免手动输入这么一大长串链接。这就是利用文本浏览器link来上网并下载文件,光标选择,回车点击超链接,d开始下载,q退出浏览器。我们要做的就是用文本浏览器访问清华镜像网站,然后下载文件。

    links https://mirrors.tuna.tsinghua.edu.cn/gentoo/
    

    文本浏览器界面如下,使用起来也不算麻烦,将文件本体以及三个校验文件全部下载下来。

    使用文本浏览器下载

    然后用下面的命令来校验文件。

    sha512sum -c stage3-amd64-*.tar.xz.DIGESTS
    

    文件正确的话,应该会显示两个OK两个FIALED。失败的是另一种校验算法,只要有两个OK,就说明我们下载的文件是正确无误的。

    校验文件

    最后用下面命令来解压文件,后面的两个选项的作用是保留归档文件中所有文件正确的权限和命名空间关系。这样Gentoo的Stage3文件就算安装完成了。

    tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
    

    配置基本系统

    设置编译选项

    Gentoo是一个源代码发行版,安装大多数软件的时候,其实都是安装的源代码,然后在本地编译的。为了能够更快更好的编译软件,还需要配置一下portage的编译选项。

    # 编辑配置文件
    nano /mnt/gentoo/etc/portage/make.conf
    
    # 修改COMMAN_FLAGS
    COMMON_FLAGS="-march=native -O2 -pipe"
    CFLAGS="${COMMON_FLAGS}"
    CXXFLAGS="${COMMON_FLAGS}"
    FCFLAGS="${COMMON_FLAGS}"
    FFLAGS="${COMMON_FLAGS}"
    
    # 添加MAKEOPTS,数字改成虚拟机设置的总内核数+1
    MAKEOPTS="-j5"
    

    设置镜像源

    用下面的命令设置镜像源,推荐选择清华大学镜像源,按空格选中,然后回车确认。设置成功后,应该可以在文件最后面看到清华大学的镜像源。

    mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
    
    # 或者你懒得选择,直接把清华镜像源加到配置文件后面也可以
    echo 'GENTOO_MIRRORS="https://mirrors.tuna.tsinghua.edu.cn/gentoo"' >> /mnt/gentoo/etc/portage/make.conf
    

    然后创建Portage配置文件目录,并将Gentoo安装镜像里的配置文件复制给我们的系统。

    mkdir --parents /mnt/gentoo/etc/portage/repos.conf
    cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
    

    另外还要复制DNS信息,这里--dereference参数是必须的,不然可能复制到的只是一个链接而已。

    cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
    

    挂载必要的文件系统

    为了让新系统能够正常运行,需要挂载以下文件系统。

    mount --types proc /proc /mnt/gentoo/proc
    mount --rbind /sys /mnt/gentoo/sys
    mount --make-rslave /mnt/gentoo/sys
    mount --rbind /dev /mnt/gentoo/dev
    mount --make-rslave /mnt/gentoo/dev
    

    切换进入新环境

    用下面的命令切换到新的环境中,最后一条命令不是必须的,但是它会在命令提示符前面添加一个(chroot)提示我们处在新环境中。

    chroot /mnt/gentoo /bin/bash
    source /etc/profile
    export PS1="(chroot) ${PS1}"
    

    挂载boot分区

    这里很多发行版都使用了不同的挂载点,最常用的挂载点是/boot/efi,ArchWiki里推荐使用/efi,而这里Gentoo文档中介绍的是使用/boot,我们按照文档走就可以了。

    mount /dev/sda1 /boot
    

    配置Portage

    Portage是Gentoo的软件包管理器,首先我们从网络上下载数据库快照。

    emerge-webrsync
    

    然后选择列出可用的profile,从中选择一个。这里又用到了另外一个工具eselect,它是Gentoo的通用管理界面,让我们方便的完成系统的各种配置和操作。因为Gentoo安装比较复杂,而且又是编译安装,所以这里选择其他profile的话,可能编译时间会非常长。因此这里大家看看就好,保持默认即可。

    # 先列出可用的profile,带星号是目前选择的
    eselect profile list
    # 假如你想选择的话
    eselect profile set 2
    

    下面是我的profile输出。
    查看profile

    更新@world set

    @world集合是Gentoo所有软件和配置的集合,要进行下一步的安装和配置,必须先更新@world集合。

    emerge --ask --verbose --update --deep --newuse @world
    

    配置USE环境变量

    作为一个源代码编译的Linux发行版,Gentoo的很多软件包并不是直接安装二进制版本,而是下载源代码由用户选择编译。USE环境变量就是Gentoo提供给用户的一个工具,利用它可以指定一些环境变量,在编译的时候启用或者禁用某些功能。假如我现在要安装的是Gnome桌面,就可以禁用Qt的编译选项,这样编译出来的软件就不包含Qt的功能,软件包更加小巧,运行起来也会更快一点。

    当然新手用户就没有必要更改这些高级选项了,默认的就完全够用了。如果你想要看看USE变量里面有什么东西的话,可以用下面的命令。

    emerge --info | grep ^USE
    

    如果想查看USE变量里面所有可用的选项,可以用下面的命令。

    less /var/db/repos/gentoo/profiles/use.desc
    

    配置时间和区域

    首先要配置时区。

    echo Asia/Shanghai > /etc/timezone
    emerge --config sys-libs/timezone-data
    

    然后配置区域。

    echo 'zh_CN.UTF-8 UTF-8' >> /etc/locale.gen
    # 如果你不用SSH,需要添加英文区域
    echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
    locale-gen
    
    # 列出可用的区域
    eselect locale list
    # 选择中文区域的编号
    eselect locale set 2
    

    最后重新加载一下环境变量。注意一下上面的设置,如果你是SSH到虚拟机系统的话,可以放心配置中文区域,但是如果你是直接在虚拟机终端里操作的话,需要在eselect locale set那里选择英文区域,不然汉字是无法正确显示的。

    env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
    

    安装和配置内核

    官方文档这里详细介绍了如何配置和优化内核,开启必须的功能,关闭不必要的功能。虽然对于初学者来说貌似这是很高深的知识,但是如果你照着做的话,会发现配置内核也不是这么困难的工作。当然如果你还是有点心虚的话,Gentoo也可以自动配置内核。

    首先安装内核源代码和内核编译工具。因为Gentoo的安装是在本地编译的,所以用时比较长。假如你发现安装瞬间完成,是因为没有更新配置文件的原因。需要输入etc-update并选择-3自动更新配置文件,然后重新输入命令即可编译安装。

    emerge --ask sys-kernel/gentoo-sources
    emerge --ask sys-kernel/genkernel
    

    配置fstab

    fstab是一个很重要的文件,在系统启动的时候,会读取fstab文件并挂载fstab中记录的分区。这里我们有boot分区和根目录分区两个要挂载的分区。而genkernel工具要安装内核的话,自然需要知道我们的启动分区在哪里,因此首先要配置fstab文件。

    首先用lsblk -f命令查看分区信息,要注意UUID和标签。另外要注意如果重新分区或者格式化,这些信息就会发生变化。

    知道了标签和UUID,就可以填写fstab信息了,虽然也可以用/dev/sda1这样的块设备名称,但是不够安全。所以我们用UUID来编写fstab。第一个是分区名,推荐使用标签或者UUID;第二个是挂载点,也就是分区挂载的位置;第三个是分区的文件系统类型;第四个是挂载选项;第五个dump参数,默认0即可;第六个pass参数,对于根分区要设置成1,其他分区设置成2。最后fstab应该类似这样。当然UUID或者标签应该改成你自己实际的值。你的fstab文件应该类似下面这样。

    UUID=1f3f0313-cfc3-47d3-90e3-52c6d1b67757       /       ext4     noatime 0 1
    UUID=2E77-ED51          /boot           vfat    defaults,noatime                0 2
    

    手动配置内核

    在开始手动配置内核之前,我们需要了解硬件的各项信息,这需要安装另一个包来做到。

    emerge --ask sys-apps/pciutils
    

    在配置之前,还可以通过lsmod命令来查看当前所处的Gentoo Live镜像开启的功能, 这可以作为我们在配置内核时的重要参考。

    一切准备好之后,就可以切换到内核源代码目录并打开配置菜单。

    cd /usr/src/linux
    make menuconfig
    

    这样就会打开一个终端界面的图形化配置工具,和其他一些终端工具操作方法类似,光标键选择,空格选择,按两下Esc退回到上一个界面,/是搜索。
    内核配置工具界面

    必选配置

    有些内核选项是必须的,必须编译到内核中,而不是作为模块加载。*表示包括到内核中,M表示作为模块加载,[]只有包括到内核中和排除在外两种选项,<>则有包括到内核中、排除在外和以模块加载三种选项。下面这些选项都必须以*方式编译到内核中。

    devtmpfs支持。

    Device Drivers --->
      Generic Driver Options --->
        [*] Maintain a devtmpfs filesystem to mount at /dev
        [*]   Automount devtmpfs at /dev, after the kernel mounted the rootfs
    

    SCSI磁盘支持。

    Device Drivers --->
       SCSI device support  --->
          <*> SCSI disk support
    

    选择支持的文件系统。因为前面我用的FAT32格式化的ESP,EXT4格式化的根目录,所以这里这两项(FAT32也就是VFAT)必须包括到内核中,虚拟内存和proc文件系统也是必选的。其实这里还可以取消掉不需要的文件系统,但是对于新手我不建议取消任何自己不明白的东西,很容易弄的最后内核没办法启动。

    File systems --->
      < > Second extended fs support
      < > The Extended 3 (ext3) filesystem
      <*> The Extended 4 (ext4) filesystem
      < > Reiserfs support
      < > JFS filesystem support
      < > XFS filesystem support
      < > Btrfs filesystem support
      DOS/FAT/NT Filesystems  --->
        <*> MSDOS fs support
        <*> VFAT (Windows-95) fs support
     
    Pseudo Filesystems --->
        [*] /proc file system support
        [*] Tmpfs virtual memory file system support (former shm fs)
    

    假如你使用PPPoE拨号的话,还需要启用以下功能。但是因为我们是虚拟机嘛,所以就不用动下面的设置了。

    Device Drivers --->
      Network device support --->
        <*> PPP (point-to-point protocol) support
        <*>   PPP support for async serial ports
        <*>   PPP support for sync tty ports
    

    如果你的处理器是多核的,还需要开启SMP(对称多处理器支持)。

    Processor type and features  --->
      [*] Symmetric multi-processing support
    

    就算是虚拟机,也经常遇到使用USB的情况,所以USB也必须启用。

    Device Drivers --->
      HID support  --->
        -*- HID bus support
        <*>   Generic HID driver
        [*]   Battery level reporting for HID devices
          USB HID support  --->
            <*> USB HID transport layer
      [*] USB support  --->
        <*>     xHCI HCD (USB 3.0) support
        <*>     EHCI HCD (USB 2.0) support
        <*>     OHCI HCD (USB 1.1) support
    

    系统体系相关的内核配置

    因为我们选择了multlib,所以32和64位的程序都会安装。为了支持32位程序,必须启用32位程序模拟功能。这里其实倒是不用怎么改,默认已经都选上了。

    Processor type and features  --->
       [*] Machine Check / overheating reporting 
       [*]   Intel MCE Features
       [*]   AMD MCE Features
       Processor family (AMD-Opteron/Athlon64)  --->
          ( ) Opteron/Athlon64/Hammer/K8
          ( ) Intel P4 / older Netburst based Xeon
          ( ) Core 2/newer Xeon
          ( ) Intel Atom
          (*) Generic-x86-64
    Binary Emulations  --->
       [*] IA32 Emulation
    

    启用GPT支持,因为前面我用的GPT分区表,EFI启动方式,所以这两项也必须启用。

    -*- Enable the block layer --->
       Partition Types --->
          [*] Advanced partition selection
          [*] EFI GUID Partition support
    

    EFI的支持。

    Processor type and features  --->
        [*] EFI runtime service support 
        [*]   EFI stub support
        [*]     EFI mixed-mode support
     
    Firmware Drivers  --->
        EFI (Extensible Firmware Interface) Support  --->
            <*> EFI Variable Support via sysfs
    

    虚拟机相关内核配置

    这里我用的是VMware,所以下列内核选项也必须选择。某些选项依赖其它选项,使用搜索功能查看具体的依赖项,然后依次启用。

    [*] Networking support  --->
            Networking options  --->
                <*> Virtual Socket protocol
                <*>   VMware VMCI transport for Virtual Sockets 
        Device Drivers  --->
                Misc devices  --->
                    <*> VMware Balloon Driver
                    <*> VMware VMCI Driver
                SCSI device support  --->
                    [*] SCSI low-level drivers  --->
                       <*>   VMware PVSCSI driver support
            [*] Network device support  --->
                    [*]   Ethernet driver support  --->
                        [*]   AMD devices
                        <*>     AMD 8111 (new PCI LANCE) support
                        <*>     AMD PCnet32 PCI support
                        [*]   Intel devices
                        <*>     Intel(R) PRO/1000 Gigabit Ethernet support
                        <*>     Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support 
                    <*>   VMware VMXNET3 ethernet driver
                Input device support  --->
                    [*]   Keyboards  --->
                        <*>   AT keyboard
        File systems  --->
            <*> FUSE (Filesystem in Userspace) support
    

    把上面所有必选项都配置好之后,选择save保存配置文件,然后exit退出。默认配置文件名是.config,但是最好手动复制一个备份,有时候默认名称的配置文件会莫名丢失,只能重头再配置一次。然后就可以开始编译和安装了。这个过程可能持续十分钟到几个小时,主要取决于你选择的功能大小以及电脑配置。

    # 编译内核
    make && make modules_install
    # 编译完成后安装内核到boot分区
    make install
    

    自动编译内核

    如果你感觉手动配置内核比较麻烦,或者辛辛苦苦配了半天,结果内核没配对系统进不去了。可以考虑第二种方式,就是自动编译内核。这种方式有个缺点就是会开启大部分选项,所以编译内核用时比较长。

    网上查了一下可能需要几十分钟到两三个小时,在虚拟机中编译的话可能用时更长,但是考虑到自己研究如何把内核跑通可能也得用这么长时间,所以自动编译内核也不是不可以。假如你在手动配置内核的时候遭受了很多失败,不妨考虑考虑电脑挂在那里让它慢慢编译。

    genkernel all
    

    安装firmware和initrampfs

    虽然官方文档说这是可选的,但是为了保险起见我们还是安装firmware。

    emerge --ask sys-kernel/linux-firmware
    

    别忘了安装initramfs,如果你是自动编译内核的话,可以不用安装initramfs,因为genkernel all会自动安装内核以及initramfs。

    genkernel --install initramfs
    

    内核编译完毕之后,查看/boot分区内容,应该会看到initramfs和vmlinuz文件,这样内核就准备就绪了。

    配置系统

    接下来就是一些系统配置工作。

    网络配置

    设置主机名

    nano -w /etc/conf.d/hostname
    # 设置主机名
    hostname="mygentoo"
    

    配置网络

    先安装软件包。

    emerge --ask --noreplace net-misc/netifrc
    

    然后配置DHCP。

    nano -w /etc/conf.d/net
    
    # 添加DHCP配置
    config_eth0="dhcp"
    

    配置网络自启动。

    cd /etc/init.d
    ln -s net.lo net.eth0
    rc-update add net.eth0 default
    

    等到成功进入系统以后,可能会出现没网的情况,因为默认的网络接口名字不一定是eth0,这时候需要使用ip a查看一下实际的名称,然后重新编辑一下网络配置。

    # 添加正确的网络配置
    cd /etc/init.d
    ln -s net.lo net.eno16777736
    rc-update add net.16777736 default
    
    # 删除错误的配置
    rm /etc/init.d/net.eth0
    rc-update del net.eth0 default
    # 启动网络
    rc-service net.16777736 start
    

    实际网络接口名

    设置root密码

    别忘了设置root密码。

    passwd
    

    安装工具

    还有一些系统工具也需要安装。

    日志工具

    安装和启动日志工具。

    emerge --ask app-admin/sysklogd
    rc-update add sysklogd default
    

    远程登录

    因为前面设置了中文区域,所以终端会显示方块。最好这里直接预先开启SSH服务,方便以后远程登录。

    rc-update add sshd default
    

    文件系统工具

    因为系统使用了FAT32和EXT4两个文件系统,所以至少这两种工具必须安装。

    emerge --ask sys-fs/dosfstools sys-fs/e2fsprogs
    

    网络工具

    安装DHCP工具。

    emerge --ask net-misc/dhcpcd
    

    添加用户

    root用户是特权用户,日常使用并不安全,所以需要添加新用户。

    useradd -m -G users,wheel,audio -s /bin/bash yitian
    passwd yitian
    

    磁盘清理

    是不是想起来有些地方不对劲,没错,还有一开始下载的stage3文件,假如最后系统成功启动了的话,他们就没用了,可以安全的删除掉。

    rm /stage3-*.tar.*
    

    安装系统引导器

    最后一步就是安装系统引导器了,推荐使用grub,功能齐全。

    安装grub

    emerge --ask --verbose sys-boot/grub:2
    

    将grub安装到系统中

    grub-install --target=x86_64-efi --efi-directory=/boot
    grub-mkconfig -o /boot/grub/grub.cfg
    

    安装完毕之后,输入exit退出chroot环境。

    (chroot) livecd ~ # exit
    

    然后就umount分区,然后重启系统。

    cd
    umount -l /mnt/gentoo/dev{/shm,/pts,}
    umount -R /mnt/gentoo
    reboot
    

    系统成功启动好了吗?

    重启之后应该会看到grub的界面,但是别以为这就成功了。因为重点是手动配置编译的内核是否能够正常启动。所以接下来继续观察,看看是否可以成功启动内核进入系统。如果你一次性安装成功,那么恭喜了。

    但是我前后总共装了三四天才算成功。第一天照着官方文档慢慢看慢慢敲命令,第二天卡在了配置内核这一步了,然后前后反复测试,最后把前面的各种步骤弄得非常熟悉,可以直接复制粘贴命令。最后我放弃了手动配置内核,做好了编译大半天的准备,于是改用genkernel自动编译内核。然后最悲催的事情发生了,genkernel半个小时以后失败了。

    最后没办法我又开始了手动配置内核的步骤,终于慢慢靠着搜索把文档列出来的所有项都找到并配置好了。而且为了保险起见,这次我没有关闭任何默认内核配置,只按着文档把所有新的项加上去了。终于奇迹发生了,重启之后终于成功了!

    安装screenfetch截个图,做个纪念。

    emerge app-misc/screenfetch
    

    screenfetch

    故障排除

    block device is not a valid root device gentoo

    我一开始用的是XFS做根分区的文件系统,也确实在内核中将XFS相关选项设置为编译到内核中,但是奈何不知道哪里漏了,所以最后启动系统的时候,出现了这个错误。理论上找到所有XFS、驱动程序等相关选项,然后添加到内核配置中重新编译一下内核,就可以解决问题了。可惜的是我对内核配置一窍不通,百般之下只好认栽,重新用EXT4安装了一遍,终于成功了。

    展开全文
  • Gentoo Linux最小安装

    千次阅读 多人点赞 2011-12-03 14:13:35
    原创作品,转载请标明出处 ...Gentoo LinuxLinux世界最年轻的操作系统发行版本之一,Gentoo的哲学是自由和选择,它能为几乎任何应用程序或需求自动地作出优化和定制。Gentoo Linux

    原创作品,转载请标明出处 http://blog.csdn.net/yming0221/article/details/7037248


         2012年新年伊始,1月2日,Gentoo Linux 12.0正式版发布了。Gentoo Linux是Linux世界最年轻的操作系统发行版本之一,Gentoo的哲学是自由和选择,它能为几乎任何应用程序或需求自动地作出优化和定制。Gentoo Linux能有这样的优点,完全得益于一种称为Portage的技术。

      据了解,Gentoo Linux最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统Portage包管理系统。

      不同于APT和YUM等二进制文件分发的包管理系统,Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。

      Gentoo Linux里的Portage是用Python编写的,是一套真正的自动导入系统。并且,Portage具有很多先进的特性,包括文件依赖、精细的包管理、OpenBSD风格的虚拟安装,安全卸载,系统框架文件、虚拟软件包、配置文件管理等等。

      由于Gentoo Linux具有近乎完美的适应性,所以,很多人把Gentoo Linux称作元发行版。同时,Gentoo Linux还具标志性的特点:追求极限的配置、性能以及顶尖的用户和开发者社区等。Gentoo Linux为用户提供大量的应用程序源代码,它的每一部分都可以在最终用户的系统上重新编译建造,甚至包括最基本的系统库和编译器自身,提供了大量软件供用户选择。这种选择不仅在软件整体方面,也存在于软件的内部。由于可以在本地编译软件,参数和变量的选择可以由用户自己指定。

      可以说,Gentoo Linux是所有Linux发行版本里安装最复杂的操作系统之一,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。

      所以,Gentoo Linux被业界认为是理想的安全服务器、开发工作站、专业桌面、游戏系统、嵌入式解决方案或者别的东西你想让它成为什么,它就可以成为什么。


    一、安装方法

    快速安装方法见Gentoo Linux 快速安装方法安装不过本人没有安装成功,可能是光驱有点问题。

    gentoo linux有几种安装方法,下面使用官方最小安装的方法。安装成功。

    二、安装步骤

    1、准备启动盘

    1.1首先下载gentoo最小安装光盘,下载地址http://mirrors.sohu.com/gentoo/releases/x86/current-stage3/install-x86-minimal-20111129.iso

    1.2. 利用UltraISO来刻录镜像
    1.3. 插入U盘
    1.4. 用UltralISO打开iso文件
    1.5. 选择启动 -> 写入硬盘镜像
    1.6. 格式化U盘,再点写入
    1.7. 在BIOS中选择从USB启动之后就可以用U盘启动系统,进行安装了。

    2、正式安装

    2.1. BIOS启动选择U盘启动。
    2.2.
     启动系统 boot

    gentoo nox

    2.3. 磁盘分区

    使用fdisk或cfdisk磁盘管理工具对磁盘分区。

    这里本人对磁盘分区如下:

    设备 大小 挂载点

    /dev/sda1 30G NFTS

    /dev/sda2 300M /boot

    /dev/sda3 60G /

    /dev/sda5 2G swap

    /dev/sda6 60G /home

    fdisk详细使用如下,摘自官方文档Gentoo安装过程中fdisk的使用

    2.5 挂载分区

    mount /dev/sda3 /mnt/gentoo/
    mount /dev/sda2 /mnt/gentoo/boot
    mount /dev/sda6 /mnt/gentoo/home

    2.6 下载解压stage3

    cd /mnt/gentoo
    然后使用
    wget http://mirrors.sohu.com/gentoo/releases/x86/current-stage3/stage3-i686-20111129.tar.bz2
    或者使用links命令,点击对应的链接进行下载。(之前得配置网络:使用net-setup eth0

    解压

    tar xvjpf stage*

    2.7 安装Portage

    和上面一样,下载http://mirrors.sohu.com/gentoo/snapshots/portage-latest.tar.bz2

    并解压到/mnt/gentoo/usr/下

    2.8 配置编译选项

    打开make.conf文件

    nano -w /mnt/gentoo/etc/make.conf

    设置CFLAGS和CXXFLAGS如下

    CFLAGS="-O2 -march=nocona -pipe"
    # 两个变量使用相同的设置
    CXXFLAGS="${CFLAGS}"  
    CHOST="i686-pc-linux-gnu"
    MAKEOPTS="-j3"
    USE="-gtk -gnome3 qt3qt4 kde alsa cdr"
    GENTOO_MIRRORS="http://mirrors.sohu.com/gentoo"

    三、安装Gentoo基本系统

    3.1 COPY  DNS信息并挂载proc和dev文件系统

    # cp -L /etc/resolv.conf /mnt/gentoo/etc/
    # mount -t proc none /mnt/gentoo/proc
    # mount -o bind /dev /mnt/gentoo/dev

    3.2 进入新的Gentoo环境

    # chroot /mnt/gentoo /bin/bash
    # env-update
    >> Regenerating /etc/ld.so.cache...
    # source /etc/profile
    # export PS1="(chroot) $PS1"

    3.3 更新Portage树

     emerge --sync

    3.4 选择profile

    # eselect profile list
    # eselect profile set n

    3.5 设置LOCALE

    # nano -w /etc/locale.gen

    添加如下:

    en_US ISO-8859-1
    en_US.UTF-8 UTF-8
    
    zh_CN GB18030
    zh_CN.GBK GBK
    zh_CN.GB2312 GB2312
    zh_CN.UTF-8 UTF-8

    运行locale-gen


    3.6 安装源码

    emerge gentoo-sources

    3.7 配置内核

    make menuconfig


    这里根据自己的电脑特点来选择,比如本人将内核选项中的CPU类型家族改成CORE2,由于不是大内存(大于4G),这里将支持大内存的功能删除,将PAE功能裁剪掉,还可以根据自己的硬件类型适当修改硬件的驱动,建议如果明确可以修改,不是很明确的地方保持默认。配置内核对以后系统的性能有很大影响。

    3.8 然后编译内核和驱动,并安装驱动

    make && make modules_install

    3.9 安装内核

    cp arch/x86/boot/bzImage /boot/kernel-3.0.6-gentoo

    注意修改内核的名字对应自己的内核版本


    四、配置系统

    4.1 修改/etc/fstab

    # /etc/fstab: static file system information.
    #
    # noatime turns off atimes for increased performance (atimes normally aren't 
    # needed); notail increases performance of ReiserFS (at the expense of storage 
    # efficiency).  It's safe to drop the noatime options if you want and to 
    # switch between notail / tail freely.
    #
    # The root filesystem should have a pass number of either 0 or 1.
    # All other filesystems should have a pass number of 0 or greater than 1.
    #
    # See the manpage fstab(5) for more information.
    #
    
    # <fs>			<mountpoint>	<type>		<opts>		<dump/pass>
    
    # NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
    /dev/sda2		/boot		ext3		defaults,noatime	1 2
    /dev/sda3		/		ext3		noatime		1 1
    /dev/sda5		none		swap		sw		0 0
    /dev/sda6		/home		ext3		defaults,noatime	1 2
    /dev/cdrom		/mnt/cdrom	auto		noauto,ro	0 0



    4.2 配置网络

    # nano -w /etc/conf.d/hostname
    
    (将HOSTNAME的变量值设定为主机名)
    HOSTNAME="yan-laptop"
    
    
    # nano -w /etc/conf.d/net
    
    (设定dns_domain的变量值为你的域名)
    dns_domain_lo="homenetwork"
    
    config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
    routes_eth0=( "default via 192.168.0.1" )
    config_eth0=( "dhcp" )
    # cd /etc/init.d
    # ln -s net.lo net.eth0
    # rc-update add net.eth0 default
    
    
    # nano -w /etc/hosts
    127.0.0.1 localhost  yan-laptop
    

    最后安装一个DHCP客户端,让机器自动配置网络

    emerge dhcpcd

    五、安装GRUB引导

    emerge grub -av

    5.1 修改/boot/grub/grub.conf

    nano -w /etc/boot/grub/grub.conf
    文件内容如下:

    # This is a sample grub.conf for use with Genkernel, per the Gentoo handbook
    # http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2
    # If you are not using Genkernel and you need help creating this file, you
    # should consult the handbook. Alternatively, consult the grub.conf.sample that
    # is included with the Grub documentation.
    
    default 0
    timeout 5
    #splashimage=(hd0,0)/boot/grub/splash.xpm.gz
    
    title Gentoo Linux 3.0.6
    root (hd0,1)
    kernel /boot/kernel-3.0.6-gentoo root=/dev/sda3
    
    title Windows 7
    rootnoverify(hd0,0)
    makeactive
    chainloader +1
    
    # vim:ft=conf:

    5.2 创建mtab

    grep -v rootfs /proc/mounts > /etc/mtab

    5.3 安装grub

    grub-install --no-floppy /dev/sda

    重启,选择Gentoo,启动成功,基本系统安装完成。

    有空将KDE桌面装上。不过编译得有一天的时间。这就是Gentoo的特点,高度的定制性,才能获得高的效率。这就是Gentoo的Philosopy。


    后记:

    由于最近新换了电脑,为了享受Gentoo的编译速度,特地买了四核主机,重新安装了Gentoo。

    我的分区信息如下:

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1              63   106496062    53248000    7  HPFS/NTFS/exFAT
    /dev/sda2   *   106498048   107112447      307200   83  Linux
    /dev/sda3       107112448   149055487    20971520   83  Linux
    /dev/sda4       149055488   976773167   413858840    5  Extended
    /dev/sda5       149057536   295858175    73400320   83  Linux
    /dev/sda6       295860224   316831743    10485760   83  Linux
    /dev/sda7       316833792   327319551     5242880   83  Linux
    /dev/sda8       327321600   335710207     4194304   82  Linux swap / Solaris
    /dev/sda9       335712256   765628415   214958080   83  Linux
    /dev/sda10      765630464   976773167   105571352    7  HPFS/NTFS/exFAT
    

    挂载点分别是:

    /dev/sda2		/boot		ext3		defaults,noatime	1 2
    /dev/sda3		/			ext3		defaults		1 0
    /dev/sda5		/usr		ext3		defaults		1 0
    /dev/sda6		/var		ext3		defaults		1 0
    /dev/sda7		/tmp		ext3		defaults		1 0
    /dev/sda8		none		swap		sw				0 0
    /dev/sda9		/home		ext3		defaults		1 0

    由于我的CPU是AMDX4 750K,所以make.conf的配置如下:

    # When compiler flags are unset, many packages will substitute their own
    # implicit flags. For uniformity, use an empty string as the default.
    CFLAGS="-march=k8 -O2 -pipe -fomit-frame-pointer"
    CXXFLAGS="${CFLAGS}"
    
    SYNC="rsync://mirrors.163.com/gentoo-portage"
    GENTOO_MIRRORS="http://mirrors.163.com/gentoo"
    
    
    USE="gnome X dbus v4l v4l2 qt3 qt4 gtk -laptop samba bindist -kde -arts consolekit policykit udev alsa -cdr -cups bluetooth"
    
    LINGUAS="en_US en en_GB uk zh zh_CN"
    
    CHOST="x86_64-pc-linux-gnu"
    
    MAKEOPTS="-j5"



    展开全文
  • Gentoo Linux安装注意事项

    千次阅读 2012-01-23 15:47:29
    今天想安装gentoo,其实以前是安装过的,但是每一次都是在 grub地方卡住了,所以这次心想趁着寒假的时间再次实践一下,把每一步都记录下来。 1.下载ISO镜像文件。可以从官方网站下载...
  • 记录给我的老笔记本安装gentoo linux

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,751
精华内容 700
热门标签
关键字:

gentoolinux安装教程

linux 订阅