Gentoo安装提示和技巧

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Gentoo installation tips and tricks and the translation is 47% complete.

Outdated translations are marked like this.
Other languages:
English • ‎español • ‎italiano • ‎português do Brasil • ‎русский • ‎српски (ћирилица)‎ • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어

Gentoo 安装允许非常灵活地使用各种安装方法。由于几乎不可能在安装说明中插入每个提示或技巧,因此本文档将尝试处理所有已提交的提示和技巧,以供参考。


介绍

准备工作

本文档包含有关 Gentoo/x86 安装的各种提示和技巧。它们中大多都集中地进行了讨论——它们只是安装说明的附录,而不是替代品。

高级安装

软件磁盘阵列 (Software RAID)

Note
如果您不熟悉软件 RAID,请阅读软件 RAID HOWTO

Once you are booted from the Installation CD, load the appropriate RAID modules. For instance, if you plan on using RAID-1:

root #modprobe raid1

When you partition your disks, make sure that your partitions use fd (Linux RAID autodetect) as Partition Type instead of 83 (Linux native). You can alter the partition type using the t command in fdisk.

Now before we start creating the RAID arrays, we need to create the metadevice nodes:

root #mknod /dev/md1 b 9 1
root #mknod /dev/md2 b 9 2
root #mknod /dev/md3 b 9 3

After partitioning, create the /etc/mdadm.conf file (yes, indeed, on the Installation CD environment) using mdadm, an advanced tool for RAID management. For instance, to have your boot, swap and root partition mirrored (RAID-1) covering /dev/sda and /dev/sdb, you can use:

root #mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1
root #mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda2 /dev/sdb2
root #mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 /dev/sdb3
Important
You should not use any form of striping such as RAID-0 or RAID-5 on the partition you boot from. Also, the --metadata=0.90 is only necessary for these critical file systems. Other filesystems can use more recent metadata formats.

The Linux Software RAID driver will start creating the metadevices. You can see its progress in /proc/mdstat. Wait until the metadevices are completely finished before proceeding.

root #mdadm --detail --scan > /etc/mdadm.conf

From now onwards, use /dev/md1 for the boot partition, /dev/md2 for the swap partition and /dev/md3 for the root partition.

Right before chrooting, don't forget to copy over /etc/mdadm.conf to /mnt/gentoo/etc.

When you're configuring your kernel, make sure you have the appropriate RAID support in your kernel and not as module.

When installing extra tools, emerge sys-fs/mdadm as well. Note that this isn't available on all Installation CDs so you might not be able to install Gentoo on a Software RAID when using a networkless installation!

When configuring your bootloader, make sure it gets installed in the MBR of both disks if you use mirroring.

ATA RAID using 2.4 kernels

Make sure you boot your Installation CD using the doataraid option. Once booted, check the contents of /dev/ataraid. It should contain various disc* directories for each hard disk available in the ATA RAID. An entire disk is displayed as disc while partitions are part*.

Write down the various /dev/ataraid/disc*/* device files that you use to install Gentoo on. You will need to substitute the /dev/sda examples in the installation with this path.

Before chrooting, bind-mount the /dev structure in the new environment:

root #mount --rbind /dev /mnt/gentoo/dev

When configuring your kernel, make sure you enable support for your ATA RAID chipset and options. For instance, a popular ATA RAID system is a Promise FastTrack built-in RAID in which case you definitely need Promise FastTrack Options built in into your kernel.

When configuring GRUB, you first have to create a GRUB bootdisk. This is not as hard as you think. First install GRUB as you would, but when you come to the part where GRUB is getting installed in the MBR, follow the following instructions:

root #cd /boot/grub
root #dd if=stage1 of=/dev/fd0 bs=512 count=1
root #dd if=stage2 of=/dev/fd0 bs=512 seek=1

You still need to write your grub.conf file. This is no different from the installation instructions, just make sure that your root= points to the ATA RAID device.

After finishing the installation, boot with your GRUB bootdisk. You will be greeted by a GRUB prompt. Now configure GRUB to boot from the ATA RAID device:

grub>root (hd0,x)
grub>setup (hd0)
grub>quit

Now reboot (with the GRUB bootfloppy removed).

LILO users can safely use the instructions mentioned in the installation instructions.

使用安装 CD 的内核

如果你不想自己编译内核,你可以把安装 CD 的内核复制到你的系统使用。当要求你编译内核时,请转到另一个终端(按 Alt + F2 ),然后使用你在开始安装时提供的 root 密码登录。

将内核和模块复制到你的 Gentoo 系统:

附注
${KN} 是内核名称,通常类似 'gentoo' 或 'smp'。
root #cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.igz /mnt/gentoo/boot
root #mkdir -p /mnt/gentoo/lib/modules
root #cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules

要在 Gentoo 系统启动期间,加载当前正在运行的所有模块(从安装 CD 启动),请从 chroot 环境中运行以下命令:

root #mkdir -p /etc/modules-load.d
root #cut -d ' ' -f 1 /proc/modules >> /etc/modules-load.d/local.conf

验证 /etc/modules-load.d/local.conf 的内容并且适当地更新。

简易安装

离开终端

Many people want to leave their system when it's compiling. In certain cases this is rather difficult as the installation is done in a public environment where you cannot trust everyone. If this is the case, you want to be able to perform the compilation in the background and log out from all terminals.

There are several possible solutions for this. The first one is to use screen. After booting the Installation CD, set your root password and start a screen session:

附注
并非所有安装 CD 都提供 screen。在这种情况下,你不得不使用本节中介绍的其他方法。
root #screen -S gentoo

Once inside the screen session you can perform the entire installation. When you want to leave your terminal, press Ctrl + a, d (that is, Ctrl and a at the same time, then followed by a d) to detach your screen session. You can now safely log out of your system.

若要重新访问你的终端,请使用 root 再次登录,并且“附加”到正在运行的 screen 会话:

root #screen -x gentoo

If you can't use screen, there is still a way to leave your terminal. Follow the installation instructions, but when you come to the point where a long-term compilation would be started (for instance the ./scripts/bootstrap.sh step), use nohup which allows for a process to continue even when you log out. Don't forget the trailing "&", otherwise the process won't be placed in the background! Remember where you are (the pwd command will show you that) as you will need to know this later on.

root #pwd
/usr/portage
root #nohup ./scripts/bootstrap.sh &

Now exit the chrooted environment (exit) and the Installation CD session. Your compilation will continue in the background.

When you want to check the compilation, log in as root (on the Installation CD) and chroot back into your environment and go to the directory where you left off:

root #chroot /mnt/gentoo /bin/bash
root #env-update && source /etc/profile
root #cd /usr/portage

Now use the less command on the nohup.out file that is situated inside that directory. The compilation will append its output to that file, so if you want to follow the compilation progress, run less nohup.out and press F to follow the changes. When the compilation is finished, you can continue with the next step of the installation instructions.

If you ever get tired of following the changes, press Ctrl + C followed by a q. This won't stop the compilation process, only the less process.

修复错误/问题

全面测试磁盘

If you think your disk needs to be thoroughly checked for consistency (bad sectors and such), you can use the -c (that's lowercase c) option while placing the ext2/ext3/ext4 filesystem on it (using mke2fs). This will format, perform a read-test and mark all bad blocks as such. If you are really paranoid, use -c -c to format your disk and perform an extensive read/write test.

root #mke2fs -j -c /dev/sda3

从故障的安装中恢复

If for some reason your Gentoo installation fails, you don't have to redo the installation all over again. Instead, you can safely "go" to the point where you think you made a mistake (or where you think the instructions are flawed) and try a different approach.

First of all you need to chroot back into your Gentoo Linux environment. Follow the instructions again, but ignore the partitioning steps as your partitions are already created and even populated. You can therefore immediately mount those partitions at /mnt/gentoo. You should also ignore the steps about stage extraction and modifying make.conf - you don't want to overwrite your files do you?

Once chrooted inside your Gentoo Linux environment, immediately go to the step where you think you should try a different approach. Don't redo all the steps like bootstrapping and such unless that is the place where you think things went wrong.

For instance, if you believe that you have a wrongly configured grub.conf, you can immediately fire up your editor to update /boot/grub/grub.conf.

Once you have tried a different approach for your situation, you should consider how much of the subsequent steps you need to perform again. If the subsequent steps are depending on your change, you will need to redo those.

例如,

  • if you have changed a variable inside make.conf you will need to do all subsequent compiling since those depend on the settings inside make.conf
  • if you have altered /boot/grub/grub.conf you can immediately exit the chrooted environment and reboot as no subsequent steps are depending on grub.conf
  • if you have recompiled your kernel you only need to make sure that your bootloader configuration points to the correct kernel image (double-check that you mounted your /boot!), then you can exit the chrooted environment and reboot
  • if you have altered /etc/fstab you can exit the chrooted environment and reboot

As you can see, for most recovery operations you can immediately reboot. Only in certain cases will you need to redo the subsequent installation steps.


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Xavier Neys, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.