geetoo编译安装
关于Gentoo发行版的介绍请看:全球最受欢迎的十大Linux发行版(图)
Host机环境:Win2008 + VMware 7.1
下载安装包
下载安装 CD 和 stage3 包:
http://www.gentoo.org/main/en/where.xml
我用的是 x86平台的:
http://distfiles.gentoo.org/releases/x86/autobuilds/current-iso/
wget -c http://distfiles.gentoo.org/releases/x86/autobuilds/current-iso/install-x86-minimal-20100216.iso
wget -c http://distfiles.gentoo.org/releases/x86/autobuilds/current-iso/stage3-i686-20100216.tar.bz2
wget -c http://distfiles.gentoo.org/snapshots/portage-20100617.tar.bz2
最新的stage3包在这里:http://distfiles.gentoo.org/releases/x86/autobuilds/current-stage3/
开始安装
将安装 CD 插入虚拟机,默认引导进入终端。
先配置好网络,之后的操作可以全部通过 ssh 连接来操作。
ifconfig eth0 192.168.80.133(我这里VM已经自动分配了这个内网IP了。)
route add default gw 192.168.80.2(注:如果上不了外网,一般都是找不到这个网关地址,可以手动添加!)
echo nameserver 8.8.8.8 > /etc/resolv.conf
echo nameserver 8.8.4.4 > /etc/resolv.conf
设置 root 用户密码:
passwd root
启动 sshd 服务:
/etc/init.d/sshd start
在windows上用SecureCRT或PuTTY连接虚拟机操作。
磁盘分区
先分区,建议使用cfdisk,先查看分区情况:
cfdisk /dev/sda
我的分区表(/boot分区我单独分出来),/dev/sda2是/根分区,/dev/sda3是swap分区:
格式化分区:
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda2
mkswap /dev/sda3
激活swap交换分区:
swapon /dev/sda3
将分区信息写入fstab配置文件:(注:gentoo-minimal没带vi编辑器,只带有nano编辑器。)
nano -w /etc/fstab
写入下面的分区信息:
/dev/sda1 /boot ext3 noauto,noatime 1 2
/dev/sda2 / ext3 noatime 0 1
/dev/sda3 none swap sw 0 0
解压 stage3 和 portage
创建基本目录结构:
mount /dev/sda2 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
cd /mnt/gentoo
使用WinSCP或CuteFTP 上传 stage3 软件包到 /mnt/gentoo下,然后解压:
(注:上面标签的地址之前没改过来,实际地址是192.168.80.133)
tar jxvf stage3-i686-20100608.tar.bz2
rm -f stage3-i686-20100608.tar.bz2
上传 portage 包到 /mnt/gentoo/usr,然后解压:
tar jxvf portage-20100617.tar.bz2
rm -f portage-20100617.tar.bz2
切换系统
cd /
mount -t proc proc /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
env-update && source /etc/profile
主机域名设置
cd /etc
echo "127.0.0.1 gentoo.at.home gentoo localhost" > hosts
sed -i -e 's/HOSTNAME.*/HOSTNAME="gentoo"/' conf.d/hostname
hostname gentoo
编译安装内核
lsmod
找到网卡驱动模块:
floppy 55736 0
rtc 7960 0
tg3 103228 0
libphy 24952 1 tg3
e1000 114636 0
fuse 59344 0
jfs 153104 0
raid10 20648 0
下载源码,配置内核:
emerge --sync
emerge gentoo-sources
cd /usr/src/linux
make menuconfig
注:如果显示乱码请运行一下:export LANG=zh_CN.UTF-8
在配置界面输入/e1000,搜索 e1000,找到驱动所在位置:
| Symbol: E1000 [=y]
| Prompt: Intel(R) PRO/1000 Gigabit Ethernet support
| Defined at drivers/net/Kconfig:2020
| Depends on: NETDEVICES && NETDEV_1000 && PCI
| Location:
| -> Device Drivers
| -> Network device support (NETDEVICES [=y])
| -> Ethernet (1000 Mbit) (NETDEV_1000 [=y])
(这里一定要注意,选对内核的网卡驱动!)
虚拟机的硬盘使用的 SCSI 适配器为 LSI Logic。
需要增加对 Fusion MPT base driver 的支持(见 dmesg 日志):
Device Drivers —>
— Fusion MPT device support
<*> Fusion MPT ScsiHost drivers for SPI
<*> Fusion MPT ScsiHost drivers for FC
<*> Fusion MPT ScsiHost drivers for SAS
(128) Maximum number of scatter gather entries (16 – 128)
<*> Fusion MPT misc device (ioctl) driver
必须添加这个驱动,否则系统启动时可能出现类似以下错误:
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device “sda2”or unknown-block(2,0)
Please append a correct “root=” boot option; here are the available partitions:
0b00 1048575 sr0 driver: sr
Kernel panic – not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
增加对 ext4文件系统的支持:
File systems —>
<*> Second extended fs support
[*] Ext4 extended attributes
[*] Ext4 POSIX Access Control Lists
[*] Ext4 Security Labels
[*] Ext4 debugging support
开始编译内核:
make -j2
make modules_install
cp arch/x86/boot/bzImage /boot/kernel
安装配置 grub
emerge grub
grub
> root (hd0,0)
> setup (hd0)
> quit
编辑启动配置文件grub.conf:
nano -w /boot/grub/grub.conf
grub.conf 内容如下:
default 0
timeout 9title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/sda2
系统配置
文件系统挂载点:
nano -w /etc/fstab
/dev/sda1 /boot ext3 noauto,noatime 1 2
/dev/sda2 / ext3 noatime 0 1
/dev/sda3 none swap sw 0 0
网络设置:
echo ‘config_eth0=( “192.168.80.133″ )’ >> /etc/conf.d/net
echo ‘routes_eth0=( “default via 192.168.80.2″ )’ >> /etc/conf.d/net
SSH服务设置:
rc-update add sshd default
时区设置:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
nano -w /etc/conf.d/clock
TIMEZONE=”Asia/Shanghai”
设置 root 密码:
passwd root
重启,完成安装
exit
umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo/boot /mnt/gentoo
reboot
如图,Gentoo启动成功:
补充:如果要使用DHCP客户端自动分配IP,请执行以下操作:
emerge dhcpcd
rc-update add dhcpcd default
OK,完成!
参考文档:
http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
http://www.gentoo.org/doc/zh_cn/gentoo-x86-quickinstall.xml
geetoo编译安装的更多相关文章
- Centos6.5下编译安装mysql 5.6
一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...
- CENTOS 6.5 平台离线编译安装 PHP5.6.6
一.下载php源码包 http://cn2.php.net/get/php-5.6.6.tar.gz/from/this/mirror 二.编译 编译之前可能会缺少一些必要的依赖包,加载一个本地yum ...
- Linux下编译安装Vim8.0
什么是Vim? Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本.它增加了许多功能,包括:多级撤销.格式高亮.命令行历史.在线帮助.拼写检查.文件名补完.块操作.脚本支持,等等.除了字符界面版 ...
- OpenSUSE下编译安装OpenFoam
在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...
- 不要着急改代码,先想想--centos 6.8下编译安装tmux
诸位读者新年好,2017开年第一篇博客,请允许我先问候一下看到这篇博客的诸位.写博客是我2017年定下的目标之一,希望我会坚持下去. 最近打算尝试一下tmux这个神器,于是有了这一篇关于思维方式的Bl ...
- protobuf的编译安装
github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装. github上有详细的安装说明: ...
- 编译安装mysql
参考:http://www.centoscn.com/CentosServer/www/2015/0422/5245.html 安装mysql5.6.17 1.按照标准需要给mysql创建所属用户和用 ...
- 编译安装zabbix3.2
1.1 环境准备 系统环境准备:redhat 6.6 64位mysql-5.6.34php-5.6.28zabbix-3.2.1配置前先关闭iptables和SELINUX,避免安装过程中报错. # ...
- centos系统编译安装nginx+php环境另加独立mysql教程
以前看过的安装nginx+php环境都带了mysql数据库了,这个是因为很多站长都是nginx+php+mysql都在同一台服务器了,那么今天我们是单独处理了,一个是nginx+php环境,然后mys ...
随机推荐
- Hibernate一对一双向关联映射
关键原因在于对象模型具有方向性: 单向:一端只能加载另一端,不能反过来. 双向:两端都可以加载另一端. 问题来了:如何我们想从身份证端(IdCard)加载人(Person),怎么办呢? 下面我们开始介 ...
- c语言指针用法
一.指针 int t 定义整型变量 int *p p为指向整型数据的指针变量 int a[n] 定义整型数组a,它有n个元素 int *p[n] 定义指针数组p,它由n个指向整形数据的指针元素组成 i ...
- C#网络编程(1)
1.Purpose 1.什么是网络编程 2.TCP/IP协议 3.什么是套接字 4.多线程深入理解 二.Basic Concept 1.网络编程:主要实现进程(线程)相互之间的通信和基本的网络应用原理 ...
- oracle 表空间、用户名 相关语句
一.oracle查询表空间文件所在路径 select * from dba_data_files t where t.tablespace_name='FLW' 二.计算出表空间各相关数据 SELE ...
- 两年的坚持,最后还是决定将ISoft开源
还记得2011年9月份,我在上大四,本来想着考研能上个好点的学校,可我怎么就不愿去自习室上自习.每天晚上睡觉前都告诉自己明天早晨一定早起去上自习,但又每次醒来都不想起床啊,懒,没办法.睡到不想再睡了才 ...
- C# Windows - Button 控件
.Net Framework提供了一个派生于Control的类System.Windows.Forms.ButtonBase,它实现了Button控件所需的基本功能. System.Windows.F ...
- 利用开源项目使discus论坛与java应用同步登录和注册
最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块(评论啊,反馈啊)来减轻负担,甚至提到了要给每个资源开一帖的功能..使我十分怀疑到底是减轻负担还是增加负担...不过怀疑归怀疑, ...
- 1047: [HAOI2007]理想的正方形 - BZOJ
Description 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小.Input 第一行为3个整数,分别表示a,b,n的值第二行至第a ...
- ASP + ACCESS 上传图片到数据库与将图片读出数据库显示之实现
1.uppic.asp:上传图片程序 <% dim rs dim formsize,formdata,bncrlf,divider,datastart,dataend,mydata formsi ...
- JSON用法简介
[JSON简介] jsoncpp 主要包含三种类型的 class:Value.Reader.Writer.jsoncpp 中所有对象.类名都在 namespace Json 中,包含 json.h 即 ...