免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1198 | 回复: 0
打印 上一主题 下一主题

Debian From Scratch深入研究 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-15 10:07 |只看该作者 |倒序浏览
Debian From Scratch深入研究

作者: EricNeon
来自: www.linuxsir.org
从今天起,我们一起来研究linux发行版的设计思路和制作方式。我个人一直想开发一个属于自己的操作系统,当然也不会局限于linux。只是因为
目前能力有限,所以把linux当作一个学习入门的途径,而这并不是目的和终点。在选择linux版本时,我也相当谨慎,以免陷入一种无限复杂的消耗战
中。在经历了数百次的成功失败之后,也尝试了包括Red Hat/ Mandrake/ Suse/ Debian/ Fedora/ Gentoo/
knoppix/ Morphix/ Turbo/ 红旗/
Magic等等版本之后,最终选择以Debian为主力方向学习操作系统的整合和制作。而同样有众多基于debian的发行版已经发布,我的学习避免重复
发布同样的东西,毕竟重复劳动在hacker原则中是明文反对的可耻行为。于是我选择了目前最具前瞻性的DFS(Debian Form
Scratch)来作为主攻点,也意在汲取LFS的先进思想和在社团中形成的经验。
注:有关DFS原先Guccio兄也有些讨论,我这前面部分与他翻译的基本一致,可以在这里访问到原帖子
http://www.linuxsir.org/bbs/showthr...fs&pagenumber=1
Debian From Scratch (DFS)是单一的CD,它是一张可以运行在所有主流文件系统、逻辑卷组、RAID软件上的完整系统拯救CD,甚至可以编译一个新的内核。
它是一张安装引导盘,可以安装i386平台的woody、sarge、sid以及amd64平台sid,甚至是任何基于网络安装的版本。 整个安装可以用“类Gentoo方式”来描述。 相关文档还不是很完善,但是也将被递交在以下URL中。
下载:
http://people.debian.org/~jgoerzen/...-0.6.5_i386.iso
  (单ISO可同时引导i386以及amd64内核)
文档:
http://people.debian.org/~jgoerzen/dfs/html/
把DFS的ISO刻录到光盘中,然后系统还是启动。出现三个选项:
Boot vmlinuz-2.6.6
Boot vmlinuz-2.6.6-amd64
Boot vmlinuz-2.6.6-amd64-scsi-sata
Debian From Scratch (DFS) 0.6.5 (Mon Jun 7 15:21:12 CDT 2004)    #此为注释行
我们选择第一个,回车后启动开始引导内核。然后会提示你输入“root”进入系统。
第一次进入系统后,系统会提示给你一列常用指令:
dfshelp                                 #访问主DFS文档
dfshints                                #显示此提示信息
reboot                                   #重启机器
elinks,lftp                             #网络浏览器、ftp客户端
/etc/init.d/lvm start              #探测LVM逻辑卷
/etc/init.d/descover start     #自动探测硬件
/etc/init.d/hotplug start        #自动探测和启用热插拔、USB支持
/etc/init.d/pcmcia start         #导入pcmcia子系统(笔记本移动设备支持)
nano,vim,joe,or emacs         #文本编辑器
Alt-F1 through Alt-F6             #切换其他虚拟控制台
Alt-F7,ALt-F8                          #显示log记录(F7)或者debug调试信息(F8)
我们现在需要安装一个新的系统了,但是该怎么安装呢?如果你也曾用过gentoo的引导盘,你会首先给root设置给新的passwd,以便于另开
一个控制台,获取文档信息,而我们的操作都仍在第一个控制台中执行。我们按Alt-F2打开第二个控制台,已经可以看到系统提示你输入“root”登录系
统。
login:root
#
这时候并不需要新的密码。ok,这比gentoo方便一些。现在我们可以获取DFS的文档,
#dfshelp
以下是文档的首页信息:
John Goerzen                      #开发者姓名
PLEASE NOTE: THIS DOCUMENTATION IS NOT YET ANYWHERE NEAR FINISHED.
FIXME: add copyright here
Table of Contents
Introduction to DFS             #DFS介绍
    DFS Features                    #DFS特性
Booting DFS                           #引导DFS
    Booting on i386 (PC)                                #在i386(PC)平台上引导
    Booting on Alpha                                      #在Alpha平台上引导
    Booting a Kernel                                       #引导一个内核
    Selecting CD-ROM device                         #选择一个光驱设备
    Detecting Hardware                                  #探测硬件设备
    Enabling Ethernet                                      #启用网络设备
        Wireless Networking                             #无线网络
    Dialup with PPP                                         #使用PPP(宽带拨号)
Installation                                                     #安装
Command Reference                                     #命令参考
    dfsbuild -- Generate custom Debian From Scratch CD images
#dfsbuild --生成自定义Debian From Scratch CD 镜像文件
我们通常习惯从网络安装debian,即便你是使用光盘安装,最好也先把网络启用一下。这里我们先看看文档中“Enabling Ethernet”这章怎么说的:
启用 Ethernet
如果你的网络硬件已经被探测到,而你的LAN使用的是DHCP,你可以简单得让ifup eth0。你的网络就可以运行了。
如果你的LAN没有使用DHCP,你可能需要编辑 /etc/networking/interfaces。你应该把eth0行删除,并重新写入以下这么几行:
iface eth0 inet static                               #设定eth0 设备为静态获取IP
    address 192.168.0.4                           #指定eth0 网卡设备的IP
    netmask 255.255.255.0                      #子网掩码
    gateway 192.168.0.1                          #网关
然后运行 ifup eth0。你也需要编辑 /etc/resolv.conf ,加入这么一行指定你的域名服务器:
nameserver 192.168.0.1。 (如果你运行了 DHCP,通常要当心,但你可能偶尔也会用到。)
无线网络
如果你是使用无线网络,首先确认你的硬件已经被探测到。有时设备名称不叫eth0;如果是这样,揣测一下你的设备名叫做什么。如果你的网络是开放的
——没有加密——你将可以像启用有线设备一样启用你的无线设备。否则,你就需要像DFS-live系统中/usr/share/doc/wireless
-tools/README.Debian文件中所描述的那样修改你的 /etc/network/interfaces文件。
这里我们一般使用DHCP,所以就简单地运行:
#ifup eth0
也有人用的是ADSL宽带拨号,所以我们有必要来启用PPP,先看看文档中的说明:
使用PPP宽带拨号
用PPP拨号上去,首先运行pppconfig设置你的访问. 命名你的连接“供应商”。现在,你可以使用pon去连接,或者使用poff中断连接。
注意一点:如我们前面所说的,我们要频繁地在几个控制台间进行切换,建议你始终在一个控制台中查看文档,而在另一个控制台中按部操作,以免以后发生
混乱。因为我们在以前gentoo的安装过程中可能就发生过这种困境——忘记了自己哪个控制台下的系统是chroot后的,而哪个是原始的live环境。
接下去我们开始安装过程了,和gentoo一样,DFS是标准的chroot安装方式。但是gentoo是使用tar来做解包,而DFS的环境是通过一个脚本实现的。
我们先看看第二控制台下官方文档关于安装是怎么写的:
安装
从DFS卷安装遵循以下通用步骤:
一、分区
二、初始化并加载swap
三、格式化并加载文件系统
四、安装基本系统
你可以这么做(假定你已经将你的分区加载到/mnt),使用命令: cdebootstrap sid /mnt file:///opt/packages。
(amd64平台:在“sid”前加一个-a amd64)
而且,我建议当CD已经制作完成后,或由于组件经常变动也许对你不再有用时,直接使用amd64镜像。
五、设置基本系统
你应该把/etc/resolv.conf复制到新的系统中。然后设置新系统的/etc/apt/sources.list以及/etc/network/interfaces。然后chroot /mnt并继续:
1、apt-get update  #更新软件树结构
2、i386平台: 安装module-init-tools、grub、ppp
alpha平台: 安装module-init-tools、aboot、ppp
3、安装appropriate、文件系统、对应你的文件系统的工具
4、i386平台: 创建目录/boot/grub;复制/usr/lib/grub/i386-pc/目录下所有文件到/boot/grub
注意: amd64直到最后检查时还没有grub包,不管怎样,你可以自己仿造一个;就是建个文件夹/mnt/boot/grub,从live CD镜像上复制/usr/lib/grub/i386-pc到新系统上的/boot/grub。
alpha平台:查看相关文档
六、安装内核
如果你喜欢DFS CD上的内核,你可以这么做:
进入/mnt/root; dpkg-repack kernel-image-2.6.6
然后chroot /mnt并且dpkg -i /root/kernel-image-*.
七、安装Grub
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
# update-grub
amd64用户:如果它没有起作用,尝试重新引导DFS cd。当你看见一个蓝色Grub列表时,按"c"键得到一个命令行。然后执行上述grub过程。
八、重启进入新系统
这个安装说明已经足够详细了,而且也够简单明了。
为了方便起见,我们现把硬盘分成一个/和一个swap,这是简单的实验环境。用cfdisk比fdisk好的方面仅在于cfdisk有个图形化的界面,看上去比较简单些。
#cfdisk /dev/hda
#mkreiserfs /dev/hda1   
#mkswap /dev/hda2
我们这里用reiserfs3.6这个强大而安全的文件系统,实际上DFS已经提供了新的reiser4文件系统。你可以自己选用这个文件系统,这比使用ext3文件系统要更好用点。(就暂时不说ext3的坏话了,我是不会再用它的。)
接着是加载文件系统,也就是加载格式化好的分区。这个加载的顺序是有讲究的。必须先把/分区挂上去,然后在/分区下建里其他目录,然后依次挂载所有独立分区(如果你有分好几个分区的话)。否则以后的安装可能会有错误。
#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
./

               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/2542/showart_67993.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP