安装Gentoo基本环境
2016年05月10日

基本系统安装

镜像源文件位置

名称 下载路径
stage3 /gentoo/releases/x86/current-stage3/
portage /gentoo/releases/snapshots/current/
kernel /gentoo/distfiles/
iso file /gentoo/releases/x86/current-iso/

使用links 或者 elinks 访问镜像源,下载对应的文件

ssh 连接

# start ssh service [optional] 
/etc/init.d/sshd start 
# set livecd os passwd
passwd 

分区

查看分区信息

fdisk -l

重新分区

fdisk /dev/sda

fdisk help

命令 含义
m 帮助
n 添加一个分区
d 删除一个分区
p 输出分区表
t 改变分区系统id
l 列出已知的分区类型
82 swap
7 HPFS/NTFS/exFAT
w 保存分区表并退出

例如:

  • sda1 ntfs windows
  • sda5 ext boot
  • sda6 swap
  • sda7 ext /
fdisk /dev/sda
# windows 分区
    n		新建分区
    p		主分区
    enter	起始位置(默认)
    +50G	分区大小
    t		改变分区类型
    1		分区索引编号
    7		分区类型

# 扩展分区
    n		新建分区
    e		扩展分区
    enter	起始位置(默认)
    enter	全部剩余空间

# boot 分区
    n		新建分区
    l		逻辑分区
    enter	起始位置(默认)
    +1G	    分区大小

# swap 交换区
    n		新建分区
    l		逻辑分区
    enter	起始位置(默认)
    +2G		分区大小
    t		改变分区类型
    6		交换区分区索引号
    82		交换区分区类型

# root 根分区
    n		新建分区
    l		逻辑分区
    enter	起始位置(默认)
    +50G	大小

    p		预览

    w		保存退出

创建文件系统

ext4 分区

    mkfs.ext4 /dev/sda5
    mkfs.ext4 /dev/sda7

swap 交换区

    mkswap /dev/sda6

启用交换区

    swapon /dev/sda6

挂载分区

    mount /dev/sda7 /mnt/gentoo
    mkdir /mnt/gentoo/boot
    mount /dev/sda5 /mnt/gentoo/boot

解压缩

stage3

    cd /mnt/gentoo
    tar jvfx /path/of/stageball.tar.bz2

portage

    cd /mnt/gentoo/usr/
    tar jvfx /path/of/portageball.tar.bz2

挂载 livecd 文件

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

复制dns配置

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

切换root

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

配置字符集

    nano /etc/locale.gen
    en_US ISO-8859-1
    en_US.UTF-8 UTF-8
    zh_CN.GB18030 GB18030
    zh_CN.GBK GBK
    zh_CN.GB2312 GB2312
    zh_CN.UTF-8 UTF-8

更新编码

    locale-gen

更改locale

查看 locale

    # 查看 locale
    eselect locale list
    # 设置 locale
    eselect locale set INDEX

设置时区

cp /usr/share/zoneinfo/GMT /etc/localtime

配置编译安装选项

    nano /etc/portage/make.conf
    GENTOO_MIRRORS="http://mirrors.sohu.com/gentoo http://mirrors.163.com/gentoo"
    MAKEOPTS="-j3"
    USE="bindist zsh-completion vim-syntax -wxwidgets -bluetooth -cups"
#SYNC="rsync://mirrors.163.com/gentoo-portage"

设置主机名

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

    nano /etc/hosts
    127.0.0.1 [hostname].[domainname] [hostname] localhost

配置挂载

    nano /etc/fstab
    /dev/sda5	/boot		ext4	noauto,noatime		1 2
    /dev/sda7	/			ext4	noatime				0 1
    /dev/sda6	none		swap	sw					0 0

设置时钟

    nano /etc/conf.d/clock
    CLOCK="local"

同步软件源

    emerge --sync

安装内核

    emerge gentoo-sources
    # 复制内核编译配置文件
    cp /path/of/file/.config /usr/src/linux/
    
    # 应用新配置
    cd /usr/src/linux
    make nconfig

    F6		apply change
    
    # 编译
    make && make modules_install

部署内核

make install

dhcpcd 自动获取IP上网

``` bash
emerge dhcpcd

nano -w /etc/conf.d/net

modules=("dhcpcd")
config_eth0=("dhcp")
dhcpcd_eth0="-t 10"
dhcp_eth0="release nodns nontp nonis"

添加启动服务
rc-update add dhcpcd default

```

pppoe 拨号上网

内核配置

    -> Device Drivers
    -> Network device support
    <M> PPP (point-to-point protocol) support
[ ] PPP multilink support (EXPERIMENTAL)
    [ ] PPP filtering
    <M> PPP support for async serial ports
    < > PPP support for sync tty ports
    < > PPP Deflate compression
    < > PPP BSD-Compress compression
    < > PPP MPPE compression (encryption) (EXPERIMENTAL)
<M> PPP over Ethernet (EXPERIMENTAL)

安装 rp-pppoe

emerge rp-pppoe

编辑配置文件

系统日志程序

    emerge syslog-ng
    rc-update add syslog-ng default

grub引导

    emerge grub

写入MBR

    grub2-install /dev/sda

生成引导配置文件

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

添加 windows xp引导

    nano /boot/grub/grub.cfg
    # 在最后添加
    menuentry 'Windows XP' {
        set root='hd0,1'
            chainloader +1
    }

修改root密码

        passwd

退出chroot环境

    exit

卸载

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

重启

    reboot

扩展功能

ntfs支持

emerge -av ntfs3g

# 可选
ln -s /bin/ntfs-3g /sbin/mount.ntfs

添加新用户

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

设置用户组

usermod -G GroupName1,GroupName2 UserName

自动挂载其他分区

mkdir /mnt/c
nano /etc/fstab
/dev/sda1               /mnt/c          ntfs            defaults,dmask=000,fmask=111         0 0

改变profile全局配置

# 列出所有profile
eselect profile list
# 设置桌面profile
eselect profile set INXDEX

安装xorg和nvidia驱动

nano /etc/make.conf
INPUT_DEVICES="evdev keyboard mouse"
VIDEO_CARDS="nvidia"
emerge -av xorg-server

配置 xorg.conf

nvidia-xconfig

配置 opengl

eselect opengl set nvidia

为用户添加video组

gpasswd -a USERNAME video

测试

startx

如果没有 (EE) 就没问题了

声音支持

emerge alsa-utils

rc-update add alsasound boot

/etc/init.d/alsasound start

确保 SAVE_ON_STOP 是 yes

nano /etc/conf.d/alsasound

调节音量 确保 PCM 和 Master 不是静音

alsamixer

如果没有找到PCM音量,可以试着播放一些音频文件,然后再执行alsamixer命令

aplay /usr/share/alsa/xx.ogg

如果有一些噪音,可以把Front、Mis 和 Mic 静音