# Gentoo自动安装脚本（更新一）

## bishop1

因为要配置内核（默认的内核配置是官方认为绝大多数人需要的，因此几乎不需要自己配置）和显卡，还有dispatch-conf是个非交互式命令（这个命令，即使是使用  here文档或者yes命令  也没用），因此不能说全自动。

这篇文章适合安装gentoo系统2次以上的人，无论是失败还是成功！

根据自己的情况稍加修改

本机为lenovo G450 （core 2  +  nvidia G210）

原脚本下载：https://9aeagq.sn2.livefilestore.com/y1poBzBOCS5TWc31kvC9cddfEj0hx6iindpz7Zby5M-Kjpf_xUEw6BtLqlDnX8nELRl_M_16NBc2ogoQn3uTgdoJw/gentoo%e5%ae%89%e8%a3%85%e8%84%9a%e6%9c%ac.tar.gz

>>>>>>>>step1_stage.sh<<<<<<<<

# !/bin/bash

# 4. Preparing the Disks

# /dev/sda2为ROOT所在分区	

  # root分区和swap分区自己修改

mkfs.ext3 /dev/sda2                                    # 如果要格式化为ext4格式，就要在配置内核时开启ext4文件系统格式	

mkswap /dev/sda1 && swapon /dev/sda1

mount /dev/sda2 /mnt/gentoo

# 5. Installing the Gentoo Installation Files

# 事先下载stage和portage包，存放在/media/sda4/gentoo_package目录下面

PACKAGE_PATH=/media/sda4/gentoo_package                              # 自己更改存放路径

STAGE_PATH=$PACKAGE_PATH/stage*.tar.bz2

PORTAGE_PATH=$PACKAGE_PATH/portage*.tar.bz2

tar xvjpf $STAGE_PATH -C /mnt/gentoo

tar xvjf $PORTAGE_PATH -C /mnt/gentoo/usr

# CPU核数+1

echo -e '\nMAKEOPTS="-j3"' >> /mnt/gentoo/etc/portage/make.conf	

# 6. Installing the Gentoo Base System

# 设置搜狐镜像源

echo -e '\nGENTOO_MIRRORS="http://mirrors.sohu.com/gentoo/"\nSYNC="rsync://rsync.cn.gentoo.org/gentoo-portage"' >> /mnt/gentoo/etc/portage/make.conf	

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

mount -t proc /proc /mnt/gentoo/proc

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

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

# 切换环境前，先复制安装脚本文件到/root。

SCRIPT_PATH=/media/sda3/shell_脚本/gentoo安装脚本                           # 自己更改存放路径

cp $SCRIPT_PATH/step* /mnt/gentoo/home

# ！！！随后手动执行chroot命令，切换到另一个环境！！！

# chroot /mnt/gentoo /bin/bash                                             # 手动执行！！！

>>>>>>>>step2_kernel.sh<<<<<<<<

# !/bin/bash

# 6. Installing the Gentoo Base System --- continue

env-update && source /etc/profile

# 选择gnome profile

eselect profile set 4                # 将profile设置为gnome

# 自己配置USE（不能有太多USE标记，否则后面依赖关系难以解决）

echo -e '\nUSE="-qt4 -kde gtk X gnome dbus"' >> /etc/portage/make.conf

echo 'LINGUAS="zh_CN"' >> /etc/portage/make.conf

# 7. Configuring the Kernel

# 设置时区UTC                        # 设置为UTC，简化配置（反正所有软件都是以GMT同步时间）

cp /usr/share/zoneinfo/UTC /etc/localtime		

echo "UTC" > /etc/timezone

emerge gentoo-sources

cd /usr/src/linux

# cpu + ext4 + vesa                        

make menuconfig	               # 配置内核，记住要选择cpu类型（酷睿以后的处理器都为core 2），其他的可以在以后配置

# 从这一步开始，你可以去干别的事，大概过了3个半小时后，系统就安装好了，就会出现一个gnome桌面环境的登录桌面。

make && make modules_install

cp arch/x86/boot/bzImage /boot/kernel

# 8. Configuring your System

sed -i -e 's;/dev/ROOT;/dev/sda2;' -e 's;/dev/SWAP;/dev/sda1;' /etc/fstab           # 这个不配置也可以

sed -i 's/localhost/bishop/' /etc/conf.d/hostname

# 去掉域名显示

sed -i 's/\.\\O//' /etc/issue

echo -e '\nconfig_eth0="dhcp"' >> /etc/conf.d/net                          # 设置网络为dhcp

cd /etc/init.d

ln -s net.lo net.eth0

rc-update add net.eth0 default                         # 将eth0添加到默认运行级

# 设置root密码为root

# 使用here文档。它允许一条命令在获得输入数据时，就好像在读取一个文件或键盘一样，而实际上是从脚本程序中得到输入数据。	

# 可以用在passwd和login等程序，但不能用在su程序

passwd << PASSWD                         # 密码开始

root                                           # 输入密码

root                                       # 确认输入密码

PASSWD                                         # 密码结束

cat /usr/share/i18n/SUPPORTED | grep zh_CN.UTF-8 >> /etc/locale.gen

locale-gen		

env-update && source /etc/profile

# 9. Installing Necessary System Tools

emerge syslog-ng

rc-update add syslog-ng default

emerge vixie-cron

rc-update add vixie-cron default

emerge dhcpcd

rc-update add dhcpcd default

emerge grub

# 修改grub配置文件

sed -i -e 's/^timeout.*/timeout 1/' -e 's/^#title.*/title Gentoo Linux/' -e 's/^#root.*/root (hd0,1)/' -e 's;^#kernel.*;kernel /boot/kernel root=/dev/sda2;' /boot/grub/grub.conf			

grub << GRUB

root (hd0,1)                        # 注意：这里的分区要自己修改

setup (hd0)

quit

GRUB

# 增加用户bishop，并设置密码为avalon

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

passwd bishop << PASSWD

123

123

PASSWD

env-update && source /etc/profile

###############################################

echo -e "#! /bin/bash\nbash /home/step3_xorg.sh" > /etc/local.d/step.start

chmod 777 /etc/local.d/step.start

reboot

>>>>>>>>step3_xorg.sh<<<<<<<<

#! /bin/bash

# evdev为事件驱动。mouse和keyboard是在中文文档中出现的，没用

echo -e '\nINPUT_DEVICES="evdev"\nVIDEO_CARDS="nvidia"' >> /etc/portage/make.conf

emerge --keep-going xorg-server >> /var/xorg-server.log 2>&1             # 将安装日志定向到/var/xorg-server，方便于安装后查看（Messages from package部分）

env-update && source /etc/profile

###############################################

echo -e "#! /bin/bash\nbash /home/step4_gnome.sh" > /etc/local.d/step.start

reboot

>>>>>>>>step4_gnome.sh<<<<<<<<

#! /bin/bash

emerge --keep-going gnome-light >> /var/gnome-light.log 2>&1

emerge --keep-going gdm >> /var/gdm.log 2>&1

env-update && source /etc/profile

###############################################

echo -e "#! /bin/bash\nbash /home/step5_config.sh" > /etc/local.d/step.start

reboot

>>>>>>>>step5_config.sh<<<<<<<<

#! /bin/bash

################ 开始配置 xorg ################

# nvidia-xconfig会修改由Xorg生成的配置文件

Xorg -configure

cp xorg.conf.new /etc/X11/xorg.conf

rm xorg.conf.new

# nvidia            # ATI显卡和其他显卡的要注意

export PATH=$PATH:/opt/bin

nvidia-xconfig --add-argb-glx-visuals

nvidia-xconfig --allow-glx-with-composite

nvidia-xconfig --composite

nvidia-xconfig --render-accel

nvidia-xconfig --render-extension

nvidia-xconfig --no-logo

# 添加到模块

echo 'modules="nvidia"' >> /etc/conf.d/modules

gpasswd -a bishop video

eselect opengl set nvidia

eselect opencl set nvidia

env-update && source /etc/profile

################ 开始配置 gnome ################

gpasswd -a bishop games

gpasswd -a bishop plugdev

rc-update add dbus default

rc-update add xdm default

# gnome桌面

sed -i 's;DISPLAYMANAGER="xdm";DISPLAYMANAGER="gdm";' /etc/conf.d/xdm

env-update && source /etc/profile

###############################################

rm /etc/local.d/step.start

reboot

================================ 萎缩的分割线 ================================

本人对gentoo的观点：

赞成： 简洁的配置文件、非常漂亮的终端、无以伦比的定制方案、非常稳定

反对： 耗时的编译、内核配置资料非常少

建议： 应该提供基于genkernel的常用的预编译软件（尤其是桌面环境）、内核配置方面的文档应该稍微多一点

我的VGA视频输出驱动一直没配置好，找了很多资料，几乎没有相关的。  :Mad:  我要上台演示啊！

----------

## misya

mark, 修改下以后安装就方便啦, 哈哈

----------

