LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 3709|回复: 19

GENTOO之路-现场直播

[复制链接]
发表于 2003-5-14 20:02:37 | 显示全部楼层 |阅读模式
最近比较闲懒,上一次安装LFS是2002年的事了,
对于GENTOO,本来没有打算,但是最近想学DEBIAN,突然发现从GENTOO开始学DEBIAN可能更好。
好吧,反正有的是时间。

那就开始吧

我的机器:
CPU:celeron 1.7G
RAM:256MB SDRAM
HD: 40G SEAGATE + 120G IBM
ERTHER CARD  :RTL8029
MORTHER BOARD:SIS 645
VIEDO  CARD  :GEFORCE 3 TI

整个机器就硬盘大,120G是刚买的,分了10G给WINDOWS专用,20G空置,其他90G用存放各种数据了(文件格式是FAT32,这样WINDOWS和LINUX都可以共用)
用来装GENTOO的地方是那个40G的硬盘,先给大家看看:
(对了,我现在是用笔记本登陆上去给大家现场直播)
[root@BLARD-BASE root]# fdisk /dev/hda
Disk /dev/hda: 255 heads, 63 sectors, 15017 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1       498   4000153+   b  Win95 FAT32
/dev/hda2           499     15017 116623867+   f  Win95 Ext'd (LBA)
/dev/hda5           499      1287   6337611    b  Win95 FAT32
/dev/hda6          1288     13825 100711453+   b  Win95 FAT32
/dev/hda7         13826     15017   9574708+   7  HPFS/NTFS
[root@BLARD-BASE root]# fdisk /dev/hdb
Disk /dev/hdb: 255 heads, 63 sectors, 4865 cylinders
Units = cylinders of 16065 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdb1   *         1       638   5124703+   7  HPFS/NTFS
/dev/hdb2           639      4865  33953377+   f  Win95 Ext'd (LBA)
/dev/hdb5          3441      3822   3068383+  83  Linux
/dev/hdb6          3823      4204   3068383+  83  Linux
/dev/hdb7          4205      4269    522081   82  Linux swap
/dev/hdb8          4270      4652   3072000+  83  Linux
/dev/hdb9          2169      2179     88326   83  Linux
/dev/hdb10         2180      3440  10128951   83  Linux
/dev/hdb11          639      1439   6434001   83  Linux
[root@BLARD-BASE root]# cat /etc/fstab
LABEL=/                 /                       ext3    defaults        1 1
none                    /dev/pts                devpts  gid=5,mode=620  0 0
none                    /proc                   proc    defaults        0 0
none                    /dev/shm                tmpfs   defaults        0 0
LABEL=/usr              /usr                    ext3    defaults        1 2
/dev/cdrom              /mnt/cdrom              iso9660 noauto,owner,kudzu,ro 0 0
/dev/hda1               /mnt/system             vfat    iocharset=cp936,owner,rw 0 0
/dev/hda5               /mnt/prog               vfat    iocharset=cp936,owner,rw 0 0
/dev/hda6               /mnt/share              vfat    iocharset=cp936,owner,rw 0 0
/dev/hda7               /mnt/web                ntfs    iocharset=cp936,owner,rw 0 0
/dev/hdb1               /mnt/sys2               ntfs    iocharset=cp936,owner,rw 0 0
/dev/hdb7               swap                    swap    defaults        0 0
/dev/hdb8               /mnt/lfs                ext2    defaults        0 0
/dev/hdb9               /mnt/rh9b               ext3    defaults        0 0
/dev/hdb10              /mnt/rh9                ext3    defaults        0 0
/dev/hdb11              /mnt/gentoo             ext3    defaults        0 0
[root@BLARD-BASE root]# mount
/dev/hdb5 on / type ext3 (rw)
none on /proc type proc (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw)
/dev/hdb6 on /usr type ext3 (rw)
/dev/hda1 on /mnt/system type vfat (rw,nosuid,nodev,iocharset=cp936)
/dev/hda5 on /mnt/prog type vfat (rw,nosuid,nodev,iocharset=cp936)
/dev/hda6 on /mnt/share type vfat (rw,nosuid,nodev,iocharset=cp936)
/dev/hdb9 on /mnt/rh9b type ext3 (rw)
/dev/hdb10 on /mnt/rh9 type ext3 (rw)
/dev/hdb11 on /mnt/gentoo type ext3 (rw)
/dev/hdb8 on /mnt/lfs type ext2 (rw)

可以看到40G的硬盘装在IDE1(对应到/dev/hdb),120G的硬盘安装在IDE0(对应到/dev/hda)
而且40G上已经装了三套LINUX:
/dev/hdb10              REDHAT9
/dev/hdb5               REDHAT8(目前就在这个下面)
/dev/hdb8               LFS
另外还有一套WINDOWS2003在这个上面/dev/hdb1,对,分成了NTFS。
(BTW:WINDOWS2003真的不错,给人感觉就是稳定,安全)
我的GENTOO就准备安装到/dev/hdb11
介绍结束,
给大家留个题目,你能从上面的信息中看出些什么东西吗?
比如我的40G硬盘还剩多少空间可以用?
我的REDHAT9是怎么分的区?REDHAT8又是怎么分的?
 楼主| 发表于 2003-5-14 21:04:08 | 显示全部楼层
我的GENTOO使用EXT3文件格式
[root@BLARD-BASE mnt]# mke2fs -j /dev/hdb11
启动时文件系统已经通过FSTAB文件自动加载到了/mnt/gentoo
用这个命令也可以
[root@BLARD-BASE mnt]# mound /dev/hdb11 /mnt/gentoo
我下载的GENTOO是1.4RC4的ISO文件,也要通过下面命令加载
[root@BLARD-BASE mnt]# mount -o loop /mnt/share/iso/gentoo-3stages-x86-1.4_rc4.iso /mnt/tmp
然后就可以
[root@BLARD-BASE mnt]# cp /mnt/tmp/gentoo/stage3-x86-1.4_rc4.tar.bz2 /mnt/gentoo/
[root@BLARD-BASE mnt]# cd /mnt/gentoo/
[root@BLARD-BASE gentoo]# tar jxvf stage3-x86-1.4_rc4.tar.bz2
解压完成,准备chroot到gentoo
[root@BLARD-BASE gentoo]# mount -o bind /proc /mnt/gentoo/proc
[root@BLARD-BASE gentoo]# cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
[root@BLARD-BASE gentoo]#
[root@BLARD-BASE gentoo]# chroot /mnt/gentoo /bin/bash
OK
[bash 2.05]emerge rsync
开始更新Portage软件列表
顺便说一下,我的机器是通过局域网网关+DNS上的网,下载最快200KB/S
更新这个列表花了大概5分钟左右,趁这个时间我查了一下关于emerge命令的一些资料,大概了解如下:
http://www.linuxsir.cn/forum.php ... mp;highlight=emerge
Portage树是gentoo的一种软件管理机制,与BSD的包管理机制很相似。它下面有很多子目录,子目录下都是软件,当然这不是真的软件,而是一个目录列表,比如portage下面有个net-www,那么这个目录下就有关于www的所有软件,你会看到了mozilla,prozilla,netscape等等,那么如果你想装mozilla,该怎么办呢?答案很简单,当你的系统完全好了的时候,你输入如下“emerge net-www/mozilla”它就会开始安装了。关于portage树的更多信息,还是man吧。呵呵。
不错,照着办,下一步就是安装prozilla了
bash-2.05b# emerge net-www/prozilla
然后修改make.conf
bash-2.05b# nano -w /etc/make.conf
nano应该是一个编辑器吧,很简单,但是我用不惯,这里居然没有vi可用:(所以干脆用editplus的FTP功能从windows上编辑/mnt/gentoo/etc/make.conf
结果发现这个文件只要四行即可:
CHOST="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'

再执行完这两个命令:
bash-2.05b# env-update
>>> Regenerating /etc/ld.so.cache...
bash-2.05b# source /etc/profile
BLARD-BASE / #
好了,我要开始全面更新系统了
BLARD-BASE / # emerge -u world
发表于 2003-5-14 21:16:40 | 显示全部楼层
哈哈

来点图像

视频

还有声音

包眼福,包耳福啊!!!
 楼主| 发表于 2003-5-14 21:50:53 | 显示全部楼层
好啊,可惜都是文本的,还没有图像呢
上一步更新系统花了大概20分钟(出去看了会电视),广告之后再回来看到屏幕显示:
>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 49 info files.
* IMPORTANT: 2 config files in /etc need updating.
* Type emerge --help config to learn how to update config files.
有两个config需要更新,我不知道是那两个噢,怎么办,算了,以后再管吧,欢迎有知情的观众朋友为我们提供线索。

好了准备编译系统内核。
BLARD-BASE / # emerge gentoo-sources
下载内核源程序。
4% [==>                                                                               ] 1,197,872     13.36K/s    ETA 31:56
趁这时间,插播一段广告,请大家跟我一起阅读这个:
http://www.tldp.org/linuxfocus/C ... 02/article252.shtml
 楼主| 发表于 2003-5-14 22:07:08 | 显示全部楼层
中间网络断了一次,我又只好:
[root@BLARD-BASE root]# mount -o bind /proc /mnt/gentoo/proc
[root@BLARD-BASE root]# chroot /mnt/gentoo/ /bin/bash
bash-2.05b# env-update
>>> Regenerating /etc/ld.so.cache...
bash-2.05b# source /etc/profile
BLARD-BASE / # emerge gentoo-sources
>>> emerge (1 of 1) sys-kernel/gentoo-sources-2.4.20-r5 to /
>>> Resuming download...(断点续传)
>>> Downloading http://gentoo.oregonstate.edu//distfiles/linux-2.4.20.tar.bz2
--13:51:20--  http://gentoo.oregonstate.edu//distfiles/linux-2.4.20.tar.bz2
           => `/usr/portage/distfiles/linux-2.4.20.tar.bz2'
Resolving gentoo.oregonstate.edu... done.
Connecting to gentoo.oregonstate.edu[128.193.0.3]:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 27,421,046 (17,417,886 to go) [application/x-tar]

52% [==================>                  ] 14,505,792    14.77K/s    ETA 14:13
还没想到,居然是断点续传:)

关于http://www.tldp.org/linuxfocus/C ... 提到的方法make xconfig是基于xwindows,在GENTOO下目前可还没有这个条件。我们要用make menuconfig来配置内核。
因为以前装过LFS,所以这次是温习一遍。
 楼主| 发表于 2003-5-14 22:31:41 | 显示全部楼层
关于prozilla说几句:
第一次配置/etc/make.conf没有加这一行FETCHCOMMAND='/usr/bin/proz --no-getch -s ${URI} -P ${DISTDIR}'
结果等了半天,一加上发现居然可以多线程下载。
于是我又找到/etc/prozilla.conf把这一行threads改为=10,^_^,十线程下载,COOL!
另外我还设置了:
ftpsearch=OFF (不自动搜索下载镜像,用过FLASHGET的就知道这个什么意思)

开始编译内核:
#cd /usr/src/linux
#make menuconfig
基于ncurse的菜单式配置
Linux Kernel v2.4.20-gentoo-r5 Configuration                                 
───────────────────────────────────────
┌───────────── Main Menu ──────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->.      │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help.   │
│ Legend:
  • built-in [ ] excluded <M> module < > module capable   │
    │ ┌──────────────────────────────────┐ │
    │ │      Code maturity level options --->            │ │
    │ │      Loadable module support --->              │ │
    │ │      Processor type and features --->            │ │
    │ │      General setup --->                   │ │
    │ │      Memory Technology Devices (MTD) --->          │ │
    │ │      Parallel port support --->               │ │
    │ │      Plug and Play configuration --->            │ │
    │ │      Block devices --->                   │ │
    │ │      Enterprise Volume Management System --->        │ │
    │ │      Multi-device support (RAID and LVM) --->        │ │
    │ └───────────v(+)─────────────────────┘ │
    ├─────────────────────────────────────┤
    │          <Select>  < Exit >  < Help >           │
    └─────────────────────────────────────┘

    #make dep
    #make bzImage
    #make modules
    #make modules_install
    #cp /usr/src/linux/System.map /boot/System.map-2.4.20
    #cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.20

  • 发表于 2003-5-14 23:27:26 | 显示全部楼层
    ftpsearch=OFF (不自动搜索下载镜像,用过FLASHGET的就知道这个什么意思)

    这个可以嘛????


    在哪修改???
    发表于 2003-5-15 02:48:29 | 显示全部楼层
    有意思继续。
    发表于 2003-5-15 06:35:01 | 显示全部楼层
    不知道有没有注意到?proz到后面没掉了?变成wget在载了?嘿嘿,因为配置文件被改了!唉,可惜偶也没有注意什么时候变成这样的。。。于是有一段时间的代码是没有经过优化编译的。
    发表于 2003-5-15 09:24:46 | 显示全部楼层
    编译完后

    就编辑/etc/make.conf

    去掉前面的#在proz这一行

    就可以
    不用env-update.source /etc/profile

    这两步
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表