最近电脑不错,服务器抢着用,配了台新机,装上Gentoo会好一些,好久都没装过了
上一次是去年了,日志也没记下,今天狠下一天,也先把系统搭建起来。
根据官方手册步骤,有些地方已经跟新了,安装过程自己修改,虚拟机应该是没办法装vm-tools的了
第一步
下载stage3的镜像,http://mirrors.xmu.edu.cn/gentoo/releases/x86/current-stage3/
第二步
创建虚拟机、linux2.6xx.64bit.加载stage3镜像运行
第三步
给root创建密码,开启ssh服务
直接键入:passwd 设置密码
开启ssh服务/etc/init.d/sshd start
配置完网络登录ssh
第四步
设置硬盘
fdisk /dev/sda
分区的时候boot分区没有从0开始,这个不影响启动,指定盘符就OK啦
分区第一个分区是boot
第二分区swap 内存两倍
第三分区其他。。。。。。
# mke2fs /dev/sda1
# mke2fs -j /dev/sda3
# mkreiserfs /dev/sda4
创建交换分区标志
# mkswap /dev/sda2
激活交换分区
swapon /dev/sda2
第五步 挂载
挂载
挂载分区
# mount /dev/sda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda1 /mnt/gentoo/boot
第六步 文件目录
cd /mnt/gentoo
下载文件
# links http://www.gentoo.org/main/en/mirrors.xml
解压文件
解开stage
# tar xvjpf stage3-*.tar.bz2
,打开snapshots/目录。然后选择最新的Portage快照(portage-latest.tar.bz2)并按D来下载它。
浏览Gentoo镜像列表
# links http://www.gentoo.org/main/en/mirrors.xml
解开Portage快照
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
第七步 修改make.config
# nano -w /mnt/gentoo/etc/make.conf
代码 4.2: 定义CFLAGS和CXXFLAGS变量
CFLAGS="-O2 -march=i686 -pipe"
# 两个变量使用相同的设置
CXXFLAGS="${CFLAGS}"
使用mirrorselect更新GENTOO_MIRRORS变量
mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
(*) rsync://rsync.cn.gentoo.org/genChina: Any available mirror - rsync.cn.gentoo.org
第八步、拷贝DNS信息
(参数"-L"是必须的,用来确保我们拷贝的不是一个符号链接)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
第九步、 挂载/proc和/dev
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
第十步、chroot到新环境里
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
成功进入新系统
新纪元
第一步、配置Portage
1)更新Portage树
# emerge --sync
(如果你在使用一个慢速终端比如一些帧缓冲或者是串口的控制台,你可以添加--quiet选项来加速这个过程:)
# emerge --sync --quiet
验证系统profile
# eselect profile list
Available profile symlink targets:
[1] default/linux/x86/13.0 *
[2] default/linux/x86/13.0/desktop
[3] default/linux/x86/13.0/server
(chroot) livecd / # eselect profile list
Available profile symlink targets:
[1] default/linux/x86/13.0 *
[2] default/linux/x86/13.0/selinux
[3] default/linux/x86/13.0/desktop
[4] default/linux/x86/13.0/desktop/gnome
[5] default/linux/x86/13.0/desktop/gnome/systemd
[6] default/linux/x86/13.0/desktop/kde
[7] default/linux/x86/13.0/desktop/kde/systemd
[8] default/linux/x86/13.0/developer
[9] hardened/linux/x86
[10] hardened/linux/x86/selinux
[11] hardened/linux/uclibc/x86
切换profile
eselect profile set 2
第二步、配置USE变量
1)查看可用的USE标记
# less /usr/portage/profiles/use.desc
2)打开/etc/make.conf
# nano -w /etc/make.conf
3) USE设置、添加
USE="-gtk -gnome qt3 qt4 kde dvd alsa cdr"
4)打开/etc/locale.gen
# nano -w /etc/locale.gen
5)指定你的locale
echo en_US ISO-8859-1 >> /etc/locale.gen
echo en_US.UTF-8 UTF-8 >> /etc/locale.gen
echo zh_CN GB18030 >> /etc/locale.gen
echo zh_CN.GB2312 GB2312 >> /etc/locale.gen
echo zh_CN.UTF-8 UTF-8 >> /etc/locale.gen
#locale-gen
配置内核
第一步、配置时区
# ls /usr/share/zoneinfo
(假设您要用GMT)
# cp /usr/share/zoneinfo/GMT /etc/localtime
第二步、安装源码
1)安装内核源码
# emerge gentoo-sources
==========================================================================================
这里开始分支、手动配置内核,自动配置内核
===========================================================================================
自动配置内核
1) 安装genkernel
emerge genkernel
2) 复制安装光盘的配置文件
# zcat /proc/config.gz > /usr/share/genkernel/arch/x86/kernel-config
3)运行genkernel
# genkernel all
===========================================================================================
* Kernel compiled successfully!
*
* Required Kernel Parameters:
* root=/dev/$ROOT
*
* Where $ROOT is the device node for your root partition as the
* one specified in /etc/fstab
*
* If you require Genkernel's hardware detection features; you MUST
* tell your bootloader to use the provided INITRAMFS file.
* WARNING... WARNING... WARNING...
* Additional kernel cmdline arguments that *may* be required to boot properly...
* With support for several ext* filesystems available, it may be needed to
* add "rootfstype=ext3" or "rootfstype=ext4" to the list of boot parameters.
* Do NOT report kernel bugs as genkernel bugs unless your bug
* is about the default genkernel configuration...
*
* Make sure you have the latest ~arch genkernel before reporting bugs.
==========================================================================================
(chroot) livecd src # ls /boot/
System.map-genkernel-x86-3.10.17-gentoo initramfs-genkernel-x86-3.10.17-gentoo kernel-genkernel-x86-3.10.17-gentoo lost+found
配置系统啦
第一步、文件系统信息
1)打开/etc/fstab
# nano -w /etc/fstab
2)/etc/fstab中/boot行的一个例子
/dev/sda1 /boot ext2 defaults 1 2
3)/etc/fstab的一个完整例子
/dev/sda1 /boot ext2 defaults,noatime 1 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
第二步、设定主机名
设定主机名
# nano -w /etc/conf.d/hostname
(将HOSTNAME的变量值设定为主机名)
HOSTNAME="tux"
打开/etc/conf.d/net准备编辑
# nano -w /etc/conf.d/net
默认的/etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d. To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).
手动为eth0设置IP信息
config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
routes_eth0=( "default via 192.168.0.1" )
在启动时自动启用网络
为了在启动时自动激活网络接口,你必须添加这些到default运行级别。
添加net.eth0到默认的运行级别
# rc-update add net.eth0 default
创建额外的启动脚本//一般用不着
# cd /etc/init.d
# ln -s net.lo net.eth1
# rc-update add net.eth1 default
记下网络信息
现在你需要告诉Linux有关你的网络的信息。这需要在/etc/hosts文件中定义,它将帮助你将那些无法被域名解析器解析的主机名解析成IP地址。你需要定义你自己的系统。如果你不想启用内部DNS系统的话,你也需要定义内部网络上的其它系统。
打开/etc/hosts
# nano -w /etc/hosts
代码 2.11: 填入网络信息
(这里定义的是现在的系统)
127.0.0.1 tux.homenetwork tux localhost
(定义你网络上的其它系统。如果你要用这种方式进行定义的话,它们必须有静
态IP。)
192.168.0.5 jenny.homenetwork jenny
192.168.0.6 benny.homenetwork benny
系统信息
Root密码
首先我们键入以设置root密码:
设置root密码
# passwd
系统信息
Gentoo使用/etc/rc.conf来做通用的、系统级的配置。打开/etc/rc.conf并好好读读这个文件中的注解:)
代码 3.2: 打开/etc/rc.conf
# nano -w /etc/rc.conf
安装一个系统日志工具
# emerge syslog-ng
# rc-update add syslog-ng default
文件索引
如果你想索引你的系统文件使得你能够使用locate工具很快定位它们,你需要安装sys-apps/slocate。
代码 3.1: 安装slocate
# emerge slocate
bootloader配置文件中加入一个video内核参数来激活Framebuffer
首先,您需要知道您使用的framebuffer设备。您应该使用uvesafb作为VESA驱动.
video语句用来控制framebuffer的显示参数。此语句中需指定欲使用的framebuffer驱动以及你想启用的控制语句。/usr/src/linux/Documentation/fb/uvesafb.txt文件里列出了所有变量。最常用的选项是:
控制选项
描述
ywrap
假设显卡支持显存回卷操作(也就是说显存里的数据填充到尽头的时候会接着从起始处继续)
mtrr:n
设置MTRR寄存器. n 可以是:
0 - 禁用
1 - 不使用cache
2 - write-back
3 - write-combining
4 - write-through
模式
设定分辨率,颜色深度和刷新率。 例如,1024x768-32@85对应的分辨率是1024x768,32位色深和85Hz的刷新率。
最后这个参数的内容可能类似这样
video=uvesafb:mtrr:3,ywrap,1024x768-32@85
将它记下来;很快您将用到它。
安装GRUB
要安装GRUB,首先让我们emerge它:
代码 2.1: 安装GRUB
# emerge grub
创建/boot/grub/grub.conf
# nano -w /boot/grub/grub.conf
使用genkernel的用户的grub.conf
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 3.3.8
root (hd0,0)
kernel /boot/kernel-genkernel-x86-3.3.8-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3
initrd /boot/initramfs-genkernel-x86-3.3.8-gentoo
# 只有在双启动的情况下才需要以下内容
title Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
如果您需要传递任何其他的参数给内核,简单地在内核命令后面加上它们就可以了。我们已经传递了一个参数(root=/dev/sda3或real_root=/dev/sda3),但您也可以加上其他的,例如我们前面讨论过的为framebuffer加上video参数。
=======================================================================================================
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo Linux 3.3.8
root (hd0,0)
kernel /boot/kernel-genkernel-x86-3.10.17-gentoo root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/sda3
initrd /boot/initramfs-genkernel-x86-3.10.17-gentoo
video=uvesafb:mtrr:3,ywrap,1024x768-32@85
=======================================================================================================
创建/etc/mtab
# grep -v rootfs /proc/mounts > /etc/mtab
现在我们就可以用grub-install来安装GRUB了:
代码 2.6: 执行grub-install
# grub-install --no-floppy /dev/sda
grub2-install --no-floppy /dev/sda
尼玛,这来还没有结束就reboot了,彤彤!!!
exit
cd
umount xxxxxxx
居然换到了grub2,跟之前的不一样了
grub>set root=(hd0,msdos1)
grub>linux /kernel-xxxx.xxx root=/dev/sda3
grub>initrd /initramfs-xxx
grub> boot
mount /boot
# grub2-install --grub-setup=/bin/true /dev/sda
# grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/kernel-3.2.12-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.2.12-gentoo
done
最后补充一点网卡名字变了,不再是eth0,Fedora之前也是如此
新添加分区 /dev/sdb
fdisk /dev/sdb
主分区、其他默认
mkfs.ext4 /dev/sdb1
修改/etc/fstab
添加/dev/dm-0 /home/android defaults 0 0
主要是不知道为何那个东西是/dev/dm-0 而不是dev/sdb1
在fdisk -l中看到的
在/etc/make.conf中添加源
SYNC="rsync://mirrors.163.com/gentoo-portage"
GENTOO_MIRRORS="http://mirrors.163.com/gentoo
ftp://mirror.lzu.edu.cn/gentoo"