下载地址http://mirrors.163.com/gentoo/releases/amd64/12.0/livedvd-x86-amd64-32ul-2012.iso
#启动的时候tab键加nox
#net-setup eth0
#passwd
/etc/init.d/sshd     start
#fdisk /dev/sda
#n
#+500M
#n
#+10G
#n
#wq
mkfs.reiserfs   /dev/sda1 #y
mkswap /dev/sda2
swapon /dev/sda2
mkfs.reiserfs /dev/sda3 #y
mount   /dev/sda3     /mnt/gentoo
mkdir    /mnt/gentoo/boot
mount   /dev/sda1     /mnt/gentoo/boot
#du  /mnt/static/   -sh
cp -rfp   /mnt/static/*   /mnt/gentoo/
cd /
mount  -t  proc  proc    /mnt/gentoo/proc
mount  -o  bind  /dev    /mnt/gentoo/dev
cp  -L  /etc/resolv.conf /mnt/gentoo/etc/
cp  -L  /etc/conf.d/net  /mnt/gentoo/etc/conf.d/net
chroot   /mnt/gentoo     /bin/bash
env-update && source     /etc/profile
cp /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime
#date 022615322012
#/etc/hosts   /etc/conf.d/hostname   hostname 名称 && hostname -f
passwd
grub
# root (hd0,0)
#setup (hd0)
#quit
echo -e "/dev/sda1 /boot                         reiserfs noatime 1 2\n/dev/sda2 none                          swap     sw      0 0\n/dev/sda3 /                             reiserfs noatime 0 1" >/etc/fstab
cd /etc/conf.d/
#echo 'config_eth0=( "192.168.16.202 broadcast 192.168.16.255 netmask 255.255.255.0" )' >> /etc/conf.d/net
#echo 'routes_eth0=( "default via 192.168.16.1" )'  >> /etc/conf.d/net
cd /etc/init.d
cp net.lo net.eth0
rc-update add net.eth0 default
rc-update add sshd default
time emerge syslog-ng vixie-cron
emerge reiserfsprogs
time emerge grub
cp /usr/src/linux/System.map  /boot/System.map-genkernel-x86-3.1.5-gentoo-r5
cp /usr/src/linux/arch/x86/boot/bzImage  /boot/kernel-genkernel-x86-3.1.5-gentoo-r5
genkernel ramdisk
echo -e "default 0\ntimeout 30\nsplashimage=(hd0,0)/boot/grub/splash.xpm.gz\ntitle Gentoo Linux 3.1.5-r5\nroot (hd0,0)\nkernel /boot/kernel-genkernel-x86-3.1.5-gentoo-r5 root=/dev/ram0 real_root=/dev\n/sda3initramfs-genkernel-x86-3.1.5-gentoo\ninitrd /boot/\n" > /boot/grub/grub.conf
echo -e 'sshd_enable="YES"' >>/etc/rc.conf
exit
umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo

 

注释:高级用户: 当 LiveCD 启动后,出于安全原因,root的登录密码是随机设定的,如果你要使用sshd来进行远程登录LiveCD,你必须键入passwd,根据提示来重新设定 Live CD 的 root 登录密码,否则你将无法通过网络远程登录 LiveCD。

       你应该也注意到 # 上方有一些说明文字, 这些文字将告诉你如何设定你的网络连接以及光盘里 Gentoo Linux Stage 压缩包和其它软件包的位置。

vim  /etc/init.d/autoconfig  找到以下内容,注释掉就OK

 ##svcs="${svcs} $(check_svc ${PASSWD} pwgen)"
----------------------------------------------------------------
                        ##passwd=*)
                        ##      PASSWD="no"
                        ##      PASSWORD="${x#*=}"
                        ##;;
-----------------------------------------------------------------
                ##if ! yesno "${PASSWD}"
                ##then
                ##      echo "root:${PASSWORD}" | chpasswd  > /dev/null 2>&1
                ##fi
                ##if yesno "${SSHD}"
               
##then
                        # If we have passwd= on the command line, we do not run pwgen and we
                        # set the root password to PASSWORD.
                        ##if yesno "${PASSWD}"
                        ##then
                        ##      ewarn "WARNING: You are starting sshd with a scrambled root password!!!"
                        ##      ewarn "WARNING: You need to set a root password to be able to login remotely."
                        ##fi
                ##fi
---------------------------------------------------------------------
同时系统默认会从桌面启动更改X11="no"  就直接启动到命令行了
 
 
 
安装snmp服务
#emerge --ask net-snmp
 
 

Gentoo Linux 内核更新指南

内容: 1. 简介 2. 为什么更新内核? 3. 通过Portage获取新的内核 4. 更新/usr/src/linux符号链接 5. 配置、编译并安装新的内核 6. 重新安装外部模块 7. 重启到新的内核 8. 运行多个内核 9. 删除旧的内核 10. 高级:用你旧.config文件配置新内核 11. 更新内核后出现问题?

1.  简介

内核是Portage树中少数几个需要部分人工介入方可完成更新的包之一。Portage会为你下载并安装内核源码,但需要你手动编译新的内核,才能让更改生效。

这份指南是关于如何从一个内核版本更新到另一个版本的,然而,对希望切换到另一个内核包的用户同样有用。

本文使用gentoo-sources作为例子,然而,这里的操作适用于我们树中的其他内核包。

2.  为什么更新内核?

一般而言,小的内核版本更新不会带来什么巨大的差别。更新内核有若干原因,包括使用最新驱动或某个最新特性,免受安全漏洞威胁,或仅仅是为了保持系统始终处于最新和健康的状态。

即使你选择不是每次有新的内核版本都去更新,我们也建议你时不时的更新到最新的内核。当新内核解决了某个安全问题时,则强烈建议你更新到这一版本。

3.  通过Portage获取新的内核

更新内核源码和更新其他包一样:使用emerge工具。当在world更新列表中看到新的内核版本时,你或许希望做一次内核更新。例如:

代码 3.1: 新内核源码出现在更新列表

# emerge -Dup worldCalculating dependencies ...done![ebuild    NS ] sys-kernel/gentoo-sources-2.6.9-r2 [2.6.8-r5]

注意: 上面输出中的"NS"标志意味着,新的内核将会安装到新的slot中,也就是说旧内核源码会保留下来,直到你手动移除它。

你可以继续下去,执行更新,例如:

代码 3.2: 更新你的内核源码

# emerge -u gentoo-sources

这样,内核源码就会被安装到/usr/src的某个子目录中。对于上面的例子,新内核源码会安装在/usr/src/linux-2.6.9-gentoo-r2

4.  更新/usr/src/linux符号链接

Gentoo要求符号链接/usr/src/linux指向正在运行的内核的源代码。

当你emerge新内核源码时,Portage能自动更新这个链接。你需要做的是将symlink标志添加到/etc/make.conf中的USE变量中。

代码 4.1: /etc/make.conf中USE变量示例

(添加关键字symlink)USE="symlink x86 3dnow 3dnowex X aac aalib adns alsa apache2"

你也可以选择使用app-admin/eselect来修改该符号链接。

代码 4.2: 用eselect管理符号链接

(如果还没有则安装eslect)# emerge eselect(查看可用内核列表)# eselect kernel listAvailable kernel symlink targets:  [1]   linux-2.6.9-gentoo-r1  [2]   linux-2.6.9-gentoo-r2(选择正确的内核)# eselect kernel set 1

要是你真的想要自己做,下面的例子说明如何将链接指向linux-2.6.9-gentoo-r2

代码 4.3: 手动更新/usr/src/linux符号链接

# cd /usr/src# ln -sfn linux-2.6.9-gentoo-r2 linux

5.  配置、编译并安装新的内核

对下面的每一种方式,你都应参考Gentoo手册中关于配置内核配置引导程序的指示。以下是所需操作的概述:

方式一:用Genkernel自动设置内核

如果你是genkernel用户,你只需重复执行第一次安装内核时所做的步骤就可以了。

正常运行genkernel就行了:

代码 5.1: 运行genkernel

# genkernel all

通过附加参数,你可以使用genkernel的其他功能。例如,如果你希望用menuconfig配置额外的内核选项,并自动更新grub引导程序配置,可以如下启动genkernel:

代码 5.2: 运行genkernel时附加常用参数

# genkernel --menuconfig --bootloader=grub all

更多详情,参看Gentoo Linux Genkernel指南,或者参考Gentoo手册。许多选项可以在genkernel的配置文件/etc/genkernel.conf中指定。

方式二:手动配置

首先,使用内核代码树中的menuconfig工具:

代码 5.3: 运行menuconfig

# cd /usr/src/linux# make menuconfig

请选择你的硬件和操作环境所需的选项。更多关于内核配置的信息,参见Gentoo手册中题为配置内核的章节。

接下来,编译你的内核并复制到启动分区中。同样,请参考Gentoo手册配置引导程序一章所列出的步骤。如果/boot是一个单独的分区,在复制编译好的内核前,确认它已挂载!否则,你就无法启动系统运行新的内核。

代码 5.4: 编译并安装新的内核

# make && make modules_install# mount /boot# cp arch/i386/boot/bzImage /boot/bzImage-2.6.9-gentoo-r2

最后,你应该更新引导程序配置文件,增加新内核的条目(先不要删除旧的!),然后卸载/boot分区。同样,参阅Gentoo手册,了解这个过程更详细的指示。

6.  重新安装外部模块

如果你使用了不包含在内核代码树,而是由Portage中其他地方提供的内核模块(例如ALSA驱动,以及NVIDIA或ATI显示驱动),那么更新内核后,你需要重新安装这些模块。很简单,只需重新emerge涉及到的包即可。更多信息,参考Gentoo手册中关于配置内核的章节。

我们为你提供了一个简易的工具(sys-kernel/module-rebuild),它能重新编译你安装的所有独立的(与/usr/src/linux的内核使用不同的ebuild)内核模块。它的用法非常直观。安装后,运行module-rebuild populate生成一个数据库,其中包含所有更新内核后需要重新编译的包的列表。当你完成更新并重新编译内核后,运行module-rebuild rebuild重新编译对应新内核的驱动。

更多信息,请不带参数运行module-rebuild,这会显示支持的命令列表。

7.  重启到新的内核

接着,关闭所有应用程序并重启系统。如果上面的步骤没有做错,那么引导程序菜单中将会出现新内核的条目。选择新的内核并启动系统。

一切顺利的话,新内核成功启动,登录后你可以继续工作了。这样的话,更新就宣告完成了。

如果你犯了错误,新内核无法启动,那么重启系统,在引导程序中选择上次可以运行的内核。接着你可以重新配置,编译并安装新内核,对错误做出适当的修正。某些情况下,你甚至无需重启就可以进行这些操作,例如少安装了声卡驱动、网卡驱动等等。

8.  运行多个内核

你可能已经注意到了,当安装新内核的源代码时,现有内核的源码没有被删除。这是有意为之的,这样你就可以很方便的在运行不同内核间切换。

在多个内核间切换非常简单。你只需保留/usr/src/中的内核源代码,并保留/boot分区中的二进制文件bzImage就可以了,后者会与引导程序配置中的一项相对应。每次启动时,你都有机会选择启动到哪个内核。

9.  删除旧的内核

接着上一节,你或许对新内核感到满意,不再需要保留旧内核了。要想删除除了最新内核外的其他版本内核源码,你可以利用emerge中的prune选项。下面是针对gentoo-sources的例子:

代码 9.1: 删除旧版本

# emerge -P gentoo-sources

一般情况下,编译过程中产生的临时文件仍然会保留在/usr/src下的对应目录中。你可以安全的用rm删除这些文件。

你也可以安全的删除所有旧内核使用的模块。这能通过删除/lib/modules/目录下与删除的内核版本相应的子目录来完成。小心不要删除了还在使用的内核的模块!

最后,你可以挂载/boot分区,删除你刚才卸载的内核的bzImage文件。你还应该编辑引导程序的配置,删去对应已卸载内核的项。

10.  高级:用你旧.config文件配置新内核

有时,配置新内核时重用旧内核的配置文件能够节省时间。需要注意的是,一般这是不安全的——每次版本更新都会带来很多改变,使得这种更新途径并不可靠。

唯一适用于这种方法的场合,是从一个Gentoo内核修订版升级到另一个。例如,从gentoo-sources-2.6.9-r1gentoo-sources-2.6.9-r2的改变会非常微小,所以一般可以使用下面的方法。然而,这种方法不适用于本文中一直使用的例子,即从2.6.8更新到2.6.9。官方发行版本之间的改动太多,下面叙述的方法没有向用户提示足够的相关信息,这经常会导致用户因禁用了本不想禁用的选项而出现问题。

利用你旧有的.config文件,只需把它复制过来,并运行make oldconfig即可。下面的例子里,我们使用gentoo-sources-2.6.9-r1的配置文件,并用在gentoo-sources-2.6.9-r2中。

代码 10.1: 重用旧配置

# cd /usr/src/linux-2.6.9-gentoo-r2# cp ../linux-2.6.9-gentoo-r1/.config .# make oldconfig

代码 10.2: 对genkernel重用旧配置

# cd /etc/kernels# cp kernel-config-x86-2.6.9-gentoo-r1 kernel-config-x86-2.6.9-gentoo-r2# genkernel all

这时,你需要回答若干个问题,以决定在两个版本之间改变的那些配置选项。完成之后,你就可以正常编译并安装内核,不用再进行menuconfig的配置过程。

一个更加安全的办法是,同样方法复制你的配置文件,接着运行make menuconfig。这能够上面提到的make oldconfig的问题,因为make menuconfig会在菜单中中显示这个旧配置文件中尽可能多的内容。现在你所需做的就是浏览每个菜单,寻找新的选项,删除了的选项等等。通过使用menuconfig,你可以了解所有改变的相关内容,可以更容易的查看新的选择和了解帮助信息。你甚至可以用这种方法来完成例如从2.6.8到2.6.9的更新,只需保证你仔细的查看了每个选项。完成之后,正常编译并安装内核。

11.  更新内核后出现问题?

Linux内核发展迅速,版本更新带来的改变可能会引起一些问题,这是无法避免的。如果你在最新版本Gentoo支持的内核中发现了什么问题,请一定报告给我们。

genkernel --menuconfig --bootloader=grub all

cpu type 4GB--64GB

make && make modules_install
http://www.gentoo.org/doc/zh_cn/kernel-upgrade.xml