LinuxSir.cn,穿越时空的Linuxsir!

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

[Gentoo小组]GENTOO另类安装参考

[复制链接]
发表于 2004-5-25 17:14:10 | 显示全部楼层 |阅读模式
原文:
http://www.gentoo.org/doc/en/altinstall.xml


GENTOO另类安装参考大全:

1。关于此文档
如果通过LIVE-CD引导安装的办法无法成功或者你不喜欢, 这个文档可以给你帮助。此文档是为了那些需要通过非一般另类安装的用户提供了后备参考方案。也希望你能提供你自己的奇特安装方案的地方, 或者你找到个更加具有“娱乐性”的安装GENTOO的方案, 别质疑, 欢迎你写信给我。

2。用Smart BootManager 来引导LIVE-CD
下载SMART BOOTMANAGER
http://btmgr.sourceforge.net/index.php3?body=download.html.  LINUX源码包, 二进位文件和WINDOWS的EXE版本都可以在以上网站寻找到, 并且包含各种语言包。但是, 就目前来讲, 比较好的方法是下载二进位文件, 因为源码不会被新版的NASM所编译。
编译源码包和直接执行二进位文件, 你可以选择任意两个格式。当你要建立引导磁盘的时候还有不同的选择, 请看以下:

code:
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]

   -t theme     select the theme to be used, in which the theme could be:
                   us = English theme       de = German theme
                  hu = Hungarian theme     zh = Chinese theme
                  ru = Russian theme       cz = Czech theme
                  es = Spanish theme       fr = French theme
                   pt = Portuguese theme

                 
  -d drv       set the drive that you want to install Smart BootManager on;
                for Linux:
                  /dev/fd0 is the first floppy driver,
                  /dev/hda is the first IDE harddisk driver.
                   /dev/sda is the first SCSI harddisk driver.
                for DOS:
                   0   is the first floppy drive
                   128 is the first hard drive;

   -c             disable CD-ROM booting feature;

   -b backup_file backup the data that will be overwritten for
                  future uninstallation;

   -u backup_file uninstall Smart BootManager, should be used alone;

   -y             do not ask any question or warning.

code:
# sbminst -t us  -d /dev/fd0

注意:如果你的软盘不是fd0, 请更换你自己的软盘名称。

现在你可以将磁盘放入来引导LIVECD启动了, 同时记得把LIVECD放入你的光盘机, 启动电脑。
当启动完成后, 你会件到SMART BOOTMANAGER的对话窗, 选择你的CDROM后摁ENTER来启动LIVECD。当引导正常后, 你可以按照一般安装指南来进行安装了
详细关于SMART BOOTMANAGER的讯息可以参考以下网站:
http://btmgr.sourceforge.net/

3。KNOPPIX的LIVE-CD来安装GENTOO

当你编译GENTOO的时候用KNOPPIX的LIVE-CD来做引导可以提供完善的LINUX系统。当你等待BOOTSTRAP的编译时候TUX RACER 将会帮你打发时间。
从KNOPPIX的CD引导可以非常准确有效的侦测到你的硬件, 当然你可能要在添加引导选项(BOOT OPTIONS)。
KNOPPIX的LIVE-CD会默认进入KDE3。0的桌面。而进去后我第一件事情就是开启KONSOLE并且输入sudo passwd root。这样系统可以让你设置KNOPPIX的ROOT口令了。
跟着我用su切换直ROOT, 并输入“usermod  -d  /root  -m”。 这个可以让你在/root下建立用户的家目录。如果你不这么做的话, 你会在emerging /home/root的时候看到错误讯息“/home/root: not found”, 或者其他因为这样而引起的错误。
接着我输入exit, 并且用su切换回ROOT。这样可以恢复因为usemode指令所带来的改变值。 接着用mkdir建立 /mnt/gentoo 的挂载点.

code:
# mkdir /mnt/gentoo
到现在, 你可以打开一般安装文件的第四章, 但是要注意, 当你要挂载proc系统的时候, 请按以下指令更换:
code:
# mount -o bind /proc /mnt/gentoo/proc

4。不用网络从stage1开始安装
刻录一张LIVECD:
下载GENTOO-LIVE-CD的ISO并刻录
http://distro.ibiblio.org/pub/li ... s/gentoo/snapshots/ 或你自己喜爱的镜像点下载portage的快照。你可以将它置放在现有的分区或者直接将它刻录在CD里。

接着按照GENTOO的一般安装指南的步骤进行直到第八个步骤“chroot /mnt/gentoo”。如果你是用两张CD, 一张LIVE-CD, 一张快照的话, 记得使用cdcache功能, 这样你可以在安装的时候卸载LIVE-CD, 再挂载快照CD了。

用alt-F2开启另一个终端,我们将继续按照一般安装指南直到运行bootstrap.sh的脚本的时候。

警告:当你执行passwd的命令的时候旧的LIVE-CD会需要你在手动登入前改变口令。
(Warning: Older realeases of the livecd required you to change the password using the passwd command, before logging in manually.)

用alt-F1不需要chroot可以转回到第一个终端, 接着将第二张光碟挂载到/mnt/gento/mnt/cdrom2. 复制portage的tarball到/mnt/gentoo/usr/portage并解压缩。

code:
# umount /mnt/cdrom
# mkdir /mnt/gentoo/mnt/cdrom2
# mount /dev/cdroms/cdrom0 /mnt/gentoo/mnt/cdrom2
# cp /mnt/gentoo/mnt/cdrom2/portage-$date.tar.bz2 /mnt/gentoo/usr/portage
# cd /mnt/gentoo/usr/portage
# tar xvjpf portage-$date.tar.bz2
接着用Alt-F2在回到第二个终端。 如果现在你执行bootstrap.sh会失败, 因为现在系统还不能下载任何文件。我们将从其他地方“得到”这些文件并将他们置放在/usr/portage/distfiles(这些都会在第二个终端F2上执行)

我们需要关于stage1的软件包如下:
glibc, baselayout, texinfo, gettext, zlib, binutils, gcc, ncurses 和他们的依赖包。

注意:你的portage版本要和你的portage树吻合。


code:
(不要忘了>之前有个2)
# emerge -fp glibc baselayout texinfo gettext zlib binutils gcc ncurses 2> stage1.list
# mount -t vfat /dev/fd0 /mnt/floppy
# cp /mnt/gentoo/stage1.list /mnt/floppy
# umount /mnt/floppy

放入一张干净的磁盘到电脑。如果你自己的看stage1的清单文件, 你会看到它提供不少URL的网址用做下载。但很可惜, 不少提供的网址里不是全部都是你想要的软件包。所以去掉所有的网址, 只留下一个:
code:
(这个脚本的输出格式是依赖emerge的,所以请小心使用)
# cut -f 1 -d ' ' stage1.list > stage1.download
现在我们可以用wget来获得所有的清单上的文件
code:
# wget -N -i stage1.list
当你获得所有的文件后, 将他们复制到/mnt/gentoo/usr/portage/distfiles/, 这样你就可以执行bootstrap.sh, 当你执行到stage2 和stage3的时候, 重复刚刚wget来获得文件。

5。无光盘无软盘通过PXE引导安装方案:
装备需求:
你需要一张网卡在你的客户端,而这个客户端将用PXE协定来引导, 像很多3com的网卡一样。而且你的BIOS必须支持PXE引导。
服务端假设:
建立一个目录:第一件事情就是建立一个目录用作无盘系统的存储夹。我们可以设置为/diskless, 而里面再给每个客户端建立一个子目录。我们后面的指南就集中在用户目录的ata子目录了。
code:
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
DHCP和TFTP的架设:用户端将通过DHCP来获得引导讯息并通过TFTP来下载所有相应的文件。现在你只需要emerge DHCP并且配置他作为基本的安装需求。接着, 在/etc/dhcp/dhcpd.conf里加上以下的源码:

注意:这里提供的是一个静态IP位置和PXE引导镜像(pxegrub)的路径给客户端. 你必须换成客户端的乙太卡的MAC位置和你置放客户端文件的目录。

code:
option option-150 code 150 = text ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}

用emerge app-admin/tftp-hpa来获得TFTP。 在/etc/conf.d/in.tftpd加入以下的源码:
code:
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"

建立GRUB:我用GRUB来执行PXE的引导。你必须自己编译使得启动PXE的映像编译功能。这个非查功能容易。第一, 获得最新的GRUB源码 (emerge -f grub会下载grub的tar-ball到你的/usr/portage/distfiles). 再来复制tarball到你的tarball到/diskless并且编译成pxe的二进位文件。当二进位文件建立完毕,将他复制到diskless用户的boot目录下。接着编辑grub.lst文件。
code:
# tar zxvf grub-0.92.tar.gz
# cd grub-0.92
# ./configure –help

//在选择项里你会看到所有支持的网卡驱动。选择一个和你网卡想吻合的。这里我们用$nic

# ./configure --enable-diskless --enable-$nic
# make
# cd stage2
# cp pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst
code(grub.lst):
default 0
timeout 30

title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
//nfsroot的选项里, Ip位置是服务端的IP而目录是diskless客户文件的所在的目录。(服务端上)


架设NFS: NFS的配置很简单。唯一你要做的就是在/etc/exports的配置文件里加上一行:

code(/etc/exports)
# nano -w /etc/exports
NFS file systems being exported. See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)

更行你的hosts文件:编辑/etc/hosts 文件
code(/etc/hosts):
127.0.0.1 localhost

192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma

在服务端建立系统:
从新启动服务端, 并用GENTOO的LIVECD引导。按照一般安装指南步骤安装除了以下的地方和安装指南不同外: 当你挂载文件系统的时候, 按照以下的源码执行(hdaX是/diskless目录下的分区)。你不用在挂载其他的分区, 所有的文件都将在/diskless/eta目录里。


code(挂载分区):
# mount /dev/hda3 /mnt/gentoo

Stage的tarball和chroot: 这个例子用stage3的tarball。挂载/proc到你的diskless目录下并且chroot, 然后继续安装。接着按照一般安装指南安装一直到内核配置(编译前)

警告: 当你解压缩tarball的时候要很小心,不能中断解压缩程序。

code(解压缩tarball):
# cd /mnt/gentoo/diskless/eta/
# tar -xvjpf  /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta/ /bin/bash
# env-update
# source /etc/profile

内核配置: 当你开始make menuconfig的时候, 不要忘了将以下几个选项加入:

ccode(内核配置)
Your network card device support

- Under "Networking options" :
  • TCP/IP networking
  • IP: kernel level autoconfiguration
  • IP: DHCP support
  • IP: BOOTP support


    - Under "File systems --> Network File Systems" :

    <*> NFS file system support
  • Provide NFSv3 client support
  • Root file system on NFS

    接下来配置diskless目录下的/etc/fstab:
    code(/etc/fstab):
    # nano -w /etc/fstab
    /dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
    proc /proc proc defaults 0 0
    tmpfs /dev/shm tmpfs defaults 0 0

    注意:不要安装任何的引导装置因为你已经有一个了:pxegrub。简单的完成安装后重新启动服务端。启动你需要的服务可以让用户端引导的:DHCP,TFTPD,和NFS。


    code(启动服务):
    # /etc/init.d/dhcp start
    # /etc/init.d/tftpd start
    # /etc/init.d/nfs start
    启动引导新的客户:
    为了让客户端启动引导正常,你需要配置BIOS和网卡, 这样可以让PXE先引导。网卡必须配置DHCP并且通过TFTP下载GRUBPXE 映像。接着, 你应该可以看到一个黑白的GRUB启动菜单了, 而这里可以让你选择内核引导, 接着你摁ENTER。如果一切顺利的话, 内核将会通过NFS挂载根目录并且提供登入菜单。


    6。在其他LINUX发行版内安装GENTOO方案:
    需求:
    要在你现有的LINUX发行版里安装GENTOO, 你需要安装chroot指令和一份GENTOO安装tarball或者ISO映像文件。如果你想获得更多的文件安装, 你需要有网路支持。(tarball的后缀是tbz或者tar.gz). 我是用REDHAT 7。3做为“母体”操作系统, 当然这些不重要, 我们现在开始安装!

    安装概要:
    我们需要首先在现有的LINUX分区下划分一个分区给GENTOO, 然后挂载并将tarball解压缩后放置里面。然后用chroot进入虚拟系统并且开始安装。当bootstrap的程序完成后, 我们就进行最后的撇之接着可以启动GENTOO系统。

    如何划分分区给GENTOO呢?
    根分区是被挂载在/下。我们可以用df来检查看看根分区还有多少空间剩余并且怎样在里面划分出空间给GENTOO。要注意的是划分现有的根分区不是一定要的。你也可以划分其他的分区。我会等会在来说明的。

    code(文件系统的资讯):
    # mount
    /dev/hdb2 on / type ext3 (rw)
    none on /proc type proc (rw)
    none on /dev/pts type devpts (rw,gid=5,mode=620)
    none on /dev/shm type tmpfs (rw)
    # df -h
    Filesystem           Size Used Avail Use% Mounted on
    /dev/hdb2            4.0G 1.9G  2.4G  82% /
    none                  38M    0    38M   0% /dev/shm

    好像上面我们看到得一样,/dev/hdb2有2。4G剩余, 挂载在/下。在我的例子里, 我会分从新分配使得我原来的根分区变成400M的剩余而拨给GENTOO 2G的空间。看上去分配得好像还不错, 因为我有很多东西要安装。

    重新分配分区:
    Parted is an utility supplied by the GNU foundation, an old and respectable huge project whose software you are using in this very moment. There is one tool, however, that is extremely useful for us at the moment. It's called parted, partition editor and we can get it from http://www.gnu.org/software/parted/

    注意:有很多支持重新分配分区大小的软件, 如PARTITION-MAGIC, 这里我没有详细了解过, 诉以读者可以按照自己的喜好来选择分区软件。
    用刚刚上面的方法查询一下文件系统类型并且确认你现有的分区是可挂载的。 如果不行, 你必须要重新删除你现有的分区, 等非配完后, 以后再安装回来。现在有个小问题, 如果我们要重新分配现有的根分区, 就必须要建立一个能够引导并且足够小的开机磁盘。当然, 如果你要重新划分的分区不是根分区并且可以卸载的话, 你可以不必照以下步骤作。下面的是我如何在我的系统下完成的:
    切记:确定你现有的分区可以挂载。

    Important: Make sure that the operations you want to do on your partition are supported by parted!
    下载一张从http://freshmeat.net/tomsrtbt 的开机引导磁盘。请按照软件附带的度我文档制作开机引导磁盘。
    code(建立引导磁盘):
    # mkfs.minix /dev/fd0
    480 inodes
    1440 blocks
    Firstdatazone=19 (19)
    Zonesize=1024
    Maxsize=268966912

    我们现在要开是分割分区,首先要作的是执行以下的命令建立一个工具磁盘:

    code(建立工具磁盘):
    #  mkdir /floppy; mount -t minix /dev/fd0 /floppy && export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure && make && cp parted/parted /floppy && umount /floppy
    现在你可以重新开机并且划分分区了。重新在一个较大的硬盘上划分分区大概要用上30分钟, 所以要给点耐心。重新启动后, 用tomsrtbt的引导磁盘引导, 当你登入以后, 换成刚刚完成的工具磁盘, 输入:mount /dev/hd0 /floppy来挂载。接着执行parted你就可以重新划分分区了。当划分结束, 我们就可以开始安装GENTOO。重新启动系统进入老的LINUX里,准备安装GENTOO。


    code(重新划分分区)
    # mount /dev/fd0 /floppy
    # cd /floppy; ./parted [drive you wish to operate on]
    (parted)  print
    Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
    Disk label type: msdos
    Minor    Start       End     Type      Filesystem  Flags
    1          0.031   2953.125  primary   ntfs        
    3       2953.125   3133.265  primary   linux-swap  
    2       3133.266   5633.085  primary   ext3        
    4       5633.086   9787.148  extended              
    5       5633.117   6633.210  logical               
    6       6633.242   9787.148  logical   ext3        
    (parted)  help resize
      resize MINOR START END        resize filesystem on partition MINOR

            MINOR is the partition number used by Linux.  On msdos disk labels, the
            primary partitions number from 1-4, and logical partitions are 5
            onwards.
            START and END are in megabytes
    (parted)  resize 2 3133.266 4000.000

    接着就可以按照一般安装指南上的进行安装了。到chrooting的时候, 请用以下指令清除你现有的环境:
    code:
    # env -i /usr/sbin/chroot /mnt/gentoo /bin/bash
  • 发表于 2004-5-25 18:50:55 | 显示全部楼层
    好险,差点重复翻译了。
    有点小问题问一下:
    1,翻译的文章是放入Gentoo版,还是英文精品翻译文档版?
    2,怎么避免重复翻译?
    3,qing说的那个newsletter真不错,咱么能不能组织一个小组?一方面可以翻译那个newsletter,一方面可以高效组织,避免重复翻译。
     楼主| 发表于 2004-5-25 18:54:23 | 显示全部楼层
    悄悄的告诉你, 如果是大篇的文章, 放到这来, 如果是比较短篇的就直接放在GENTOO版里了, 在这里标题前面加上[gentoo],如果是在我们版里, 标题前加[翻译]。

    至于重复翻译的问题嘛。。。我考虑在翻译处加多个帖子, 将翻译好的文章列出来, 翻译前先去那看看有没有被人翻译过, 没有在翻译, 我明天做这件事情。

    至于QING说的, 我现在实在是抽不出空了, 但真的可以考虑考虑。。我想在GENTOO版建立翻译小组了, 你是非池中人哦, 别逃哦。。。。
    发表于 2004-5-25 19:32:11 | 显示全部楼层
    版主一声令下,版民哪敢不从

    既然有成立翻译小组的意思,我就说说我的想法。
    1,我也知道你很忙的,组长就可以找个别人,如hauser,qing都不错,他们长期在forums.gentoo.org逛。
    2,gentoo翻译小组可以同时隶属freewiill小组和gentoo版,gentoo翻译小组还是由gentoo版主统一管理
    3,我们在freewill.linuxsir.cn里争取一个版面为gentoo栏,hauser和qing等常在那边,发现好文章,贴到那个版面,我们去领任务,重复翻译现象应该好解决了。当然我们也可以自个找文章翻译,不过可以先去freewill.linuxsir.cn里有没有重复翻译和提交的。
    4,置顶区的那个翻译区就只需要给出链接到freewill.linuxsir.cn的具体翻译文章就可。
    5,说下我自己,我现在做毕设,也挺忙的,一天只能翻译1~3篇文章。毕设答辩后就会好点了。
     楼主| 发表于 2004-5-25 19:36:13 | 显示全部楼层
    最初由 hvj 发表
    版主一声令下,版民哪敢不从

    既然有成立翻译小组的意思,我就说说我的想法。
    1,我也知道你很忙的,组长就可以找个别人,如hauser,qing都不错,他们长期在forums.gentoo.org逛。
    2,gentoo翻译小组可以同时隶属freewiill小组和gentoo版,gentoo翻译小组还是由gentoo版主统一管理
    3,我们在freewill.linuxsir.cn里争取一个版面为gentoo栏,hauser和qing等常在那边,发现好文章,贴到那个版面,我们去领任务,重复翻译现象应该好解决了。当然我们也可以自个找文章翻译,不过可以先去freewill.linuxsir.cn里有没有重复翻译和提交的。
    4,置顶区的那个翻译区就只需要给出链接到freewill.linuxsir.cn的具体翻译文章就可。
    5,说下我自己,我现在做毕设,也挺忙的,一天只能翻译1~3篇文章。毕设答辩后就会好点了。


    讲得太好了, 果然和我想的一样。。。我赞成, 其实我已经在管理版发了帖子, 既然你已经有了那么好的规划了, 我一百个支持你!!!

    PS:你是第二个荣誉版民了
    发表于 2004-5-26 09:10:20 | 显示全部楼层
    最初由 hvj 发表
    版主一声令下,版民哪敢不从

    既然有成立翻译小组的意思,我就说说我的想法。
    1,我也知道你很忙的,组长就可以找个别人,如hauser,qing都不错,他们长期在forums.gentoo.org逛。
    2,gentoo翻译小组可以同时隶属freewiill小组和gentoo版,gentoo翻译小组还是由gentoo版主统一管理
    3,我们在freewill.linuxsir.cn里争取一个版面为gentoo栏,hauser和qing等常在那边,发现好文章,贴到那个版面,我们去领任务,重复翻译现象应该好解决了。当然我们也可以自个找文章翻译,不过可以先去freewill.linuxsir.cn里有没有重复翻译和提交的。
    4,置顶区的那个翻译区就只需要给出链接到freewill.linuxsir.cn的具体翻译文章就可。
    5,说下我自己,我现在做毕设,也挺忙的,一天只能翻译1~3篇文章。毕设答辩后就会好点了。

    兄弟说得太好了!
    就这么办!!
    毕竟很多事情不是一个巴掌拍得响得!
    而且,Linux也不是一个版本!

    Ed.
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

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