LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: EricNeon

Debian From Scratch深入研究

[复制链接]
 楼主| 发表于 2004-7-13 15:57:53 | 显示全部楼层

修改了连接位置

谢谢faint的提醒!
发表于 2004-7-13 16:02:49 | 显示全部楼层
你可以把guccio翻译的那个部分链接过来,不要把这样的帖子沉下去:-)
 楼主| 发表于 2004-7-13 16:42:07 | 显示全部楼层

继续

接着是加载文件系统,也就是加载格式化好的分区。这个加载的顺序是有讲究的。必须先把/分区挂上去,然后在/分区下建里其他目录,然后依次挂载所有独立分区(如果你有分好几个分区的话)。否则以后的安装可能会有错误。
#mount /dev/hda1 /mnt
#swapon /dev/hda2
swap分区一般可以直接这样启用。
如果你还分了几个分区,请先在/mnt下建几个目录
#mkdir /mnt/boot
#mount /dev/hda? /mnt/boot
#mkdir /mnt/home
#mount /dev/hda? /mnt/home
...
而如果你的硬盘上本来就有分区,并且已经被初始化过,则在mount时加上参数如下:
#mount -t fstype /dev/hd?? /mnt/xxx
强烈建议独立建一个proc目录,并
#mount -t proc none /mnt/proc

到这里,我们可以开始真正把DFS CD上的镜像释放到你的硬盘里了。在gentoo中,我们是这样用的:
#cd /mnt/gentoo
#tar xvjpf /cdrom/stages/stage?-*.tar.gz

而在DFS中,有个更方便的方式:
#cdebootstrap sid /mnt file:///opt/packages
会出现如下安装过程
p: unpackge xxxxx
p: configure xxxxx
...
这个过程结束后,一个基本的debian系统已经安装到你的/mnt目录下了:)
#ls /mnt 可以看见一个完整的新系统
为了新系统中的网络也可以正常使用,我们要把live下的一些状态复制到新系统中。
#cp /etc/resolv.conf /mnt/etc/
#cp /etc/network/interfaces /mnt/etc/network/
#cp /etc/apt/sources.list /mnt/etc/apt/sources.list
#cp /etc/fstab /mnt/etc/fstab
然后进入新环境
#chroot /mnt /bin/bash

由gentoo的经验得知,进入新系统后的第一件事是更新环境变量,使新系统不依赖live-CD,并确认apt源可用
#source /etc/profiles
#nano /etc/sources.list
一般加入如下几行:
deb http://mirrors.geekbone.org/debian sid main
deb http://debian.cn99.net/debian sid main
deb http://debian.okey.net/debian-uo sid misc ustc firefly rareware
deb ftp://ftp.linuxpl.org/fvwm-crystal/debian ./
 楼主| 发表于 2004-7-13 16:47:08 | 显示全部楼层

已经把guccio的翻译连接过来了

在第一贴中做了修正

啊呀,我实在写都来不及啊,我是边装边写的。
发表于 2004-7-13 22:20:30 | 显示全部楼层
顶顶顶,eric,我们24号那天再切磋一下dfs,哈
发表于 2004-7-13 22:54:43 | 显示全部楼层
原来你们还在切磋dfs。切磋后有什么成果呢?
发表于 2004-7-14 09:15:31 | 显示全部楼层
dfs也是一个发行?类似LFS?那不是很有意思?
 楼主| 发表于 2004-7-14 09:19:39 | 显示全部楼层
有可能的话,如果大家都有兴趣,我们完全可以做一个类似gentoo-Universal LiveCD那样的debian-liveCD,何况hiweed兄不是也想过做liveCD吗?而且,我们可以在liveCD中加入桌面环境,而启动方式可以用DFS这样。而关键可能在于DFS中的几个脚本,以及利用DFS制作个性化live-CD的便捷性,我们可以让所有人都很方便地作出自己的linux。
完整制作一次linux的过程就是对linux体系最好的学习过程,就像大家都在lfs一样,我选择DFS就是因为它更方便。
发表于 2004-7-14 09:56:55 | 显示全部楼层
最初由 gentooo 发表
dfs也是一个发行?类似LFS?那不是很有意思?


对,是很有意思。

Debian From Scratch (DFS) is a single CD that is a full rescue CD
capable of working with all major filesystems, LVM, software RAID,
and even compiling a new kernel.

And, it's a cdebootstrap-based install CD that can install i386 woody,
i386 sarge, i386 sid, and amd64 sid directly from CD, and whatever
else from the 'net. The installation can best be described as
"Gentoo-like". Documentation is not yet very complete, but updates
will be posted at the URL below.
 楼主| 发表于 2004-7-14 10:37:18 | 显示全部楼层

继续

如DFS官方文档中所说的那样,现在我们要更新软件依赖树。
#apt-get update

然后我们就可以安装任何想要的工具了。文档中建议安装module-init-tools、grub、ppp,如果你用不到宽带拨号,可以不用安装ppp。而要安装grub,我建议先检查一遍/etc/fstab,很可能根本就没有你所谓的分区,在以后安装grub和内核的过程中,可能会需要用到这个文件,所以我们先检查一次。
一个完整的fstab大致如下,如果你的有点不同,可以自行修改,注意文件系统格式和挂载的位置。
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hda1       /               reiserfs defaults        0       1
#/dev/hda1       /boot           reiserfs defaults        0       2
#/dev/hdc1       /dump           reiserfs defaults        0       2
#/dev/hda3       /home           reiserfs defaults        0       2
#/dev/hdc2       /osdiy          reiserfs defaults        0       2
#/dev/hdc3       /work           reiserfs defaults        0       2
/dev/hda2       none             swap    sw              0       0
/dev/hdd        /cdrom                 iso9660 ro,user,noauto  0       0
/dev/fd0        /floppy          auto    rw,user,noauto  0       0

现在我们就可以安装软件了
#apt-get install module-init-tools
#grub
安装完grub后,你一定要检查一下/boot目录下是否真的已经存在一个grub的目录。debian下grub的安装可能和gentoo下有点不一样,很可能grub已经安装好了,但/boot下没有这个目录。所以你可以自己创建这个目录,或打开第三个控制台,把光盘中的grub复制进来。还记得前面的切换控制台的方法么?
#mkdir /boot/grub
Alt-F3
#cp /boot/grub/* /mnt/boot/grub/
也许做过lfs和gentoo的人对我的这种方式很反感,因为这样可能会使新系统和live环境连带某种依赖性,破坏了新系统chroot环境的纯洁性和完整性。好吧,我们来安全点的。去第一控制台找找你的grub已经被安装到哪里了
#dpkg -L grub
可以发现grub在/lib目录下,就在这个新系统下复制不会影响到纯洁性。而且要注意,不要把i386-pc这个目录也复制喽:)
#cp /lib/grub/i386-pc/* /boot/grub/
grub的文件弄好了,但先不要急着配置grub,我们先把光盘中的内核安装进来吧,也许你喜欢自己从网上下载一个新的内核甚至2.4的内核,随你了。我们这里就先用光盘中自带的这个2.6.6内核的image。
进入第三控制台,
#cd /mnt/root
#dpkg-repack kernel-image-2.6.6
这个内核很小,安装速度应该很快,它会将光盘中的内核image释放在/mnt/root目录下,也就是你的新系统的/root目录下。我们再切换回第一控制台。
#cd /root
#ls 可以看见已经有一个kernel-image-2.6.6.deb的包。接下来安装它
#dpkg -i kernel-image-*
内核安装完成后,我们来配置grub启动程序。
#grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
# update-grub
更新一下grub配置文件
现在的新系统已经安装完成,可以安装重启了,我们来完成最后的收尾工作,为了安全起见,建议你再次检查一次网卡模块,最好把网卡模块先写入/etc/modules文件中,以免等会新系统又找不到网卡。
#lsmod
#nano -w /etc/modules
检查完毕,退出chroot环境……
#exit
#umount /mnt/*
#umount /mnt
#reboot
从光驱中取出光盘,等待机器启动到grub图形界面,立即开始新的旅程吧!

以后我们将开始深入探究DFS各种目录结构和脚本的用法。
(待续)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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