免费注册 查看新帖 |

Chinaunix

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

[FreeBSD] 在命令模式下安装FreeBSD [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-09-03 16:13 |只看该作者 |倒序浏览
安装步骤:
1.拥有一张BSD类的Live CD(不是安装CD!)
2.设置安装环境
3.分区
4.创建文件系统和挂载
6.下载安装基本系统
7.引导启动

这种安装方法是利用FreeBSD Live CD (FreeSBIE)来做宿主系统,在这基础上,利用网络安装方法来安装FreeBSD,好处有:
1.拥有的是一张FreeBSD Live CD,而不是纯粹的安装CD,里面包含了一个桌面系统的完整可用的FreeBSD环境。
2.Live CD 不会因为安装版本的升级而被淘汰,理论上,这张 Live CD 可以安装 BSD 类操作系统。
3.LiveCD 拥有可配置的完善的网络环境,只要你连接了Internet,就可以使用网络连接安装方式来安装FreeBSD
4. 唯一的缺点是:不能使用sysinstall图形安装界面,完成安装后,你会觉得这是一个非常好的缺点。
5.拥有更高的可控制性

FreeSBIE下载:http://www.freesbie.org/
感觉大家忽视了 BSD类的Live cd作用,Linux的Live cd非常多,有中文的,一张好用的Live CD既可防身,又可安装,真是妙用无穷.

进入安装环境

下载FreeSBIE Live CD 光盘映像文件,把iso文件刻录成光盘,然后,启动,进入shell界面,进行安装环境设置:
切换用户为root,以获取相应的权限:

  1. % su -
复制代码


设置域名解析地址
编辑宿主系统的 /etc/resolv.conf 文件,添加:

  1. nameserver xxx.xxx.xxx.xxx
复制代码


设置 pppoe
了解网络接口情况和设备名称:

  1. #ifconfig -a
复制代码

网卡是 rl0 ,并处于可使用状态。使用ADSL上网,需要设置pppoe,编辑 /etc/ppp/ppp.conf 文件(注意格式):

  1. default:
  2. set log phase tun command
  3. enable dns

  4. adsl:
  5. set device PPPoE:rl0
  6. set speed sync
  7. set dial
  8. set login
  9. add default HISADDR
  10. set authname xxxxxx
  11. set authkey 123456
复制代码


运行pppoe:

  1. # ppp -ddial adsl
复制代码

论坛徽章:
0
2 [报告]
发表于 2007-09-03 16:26 |只看该作者
此时,网络环境就处理好了,下一步是硬盘分区.

硬盘分区有两种方法
1.FreeBSD 命令行方式,这种方法对于将整个硬盘划分为FreeBSD分区是非常方便,对于多操作系统来说,就比较麻烦.
2.Linux下的fdisk分区,我使用这种方式来划分分区.

(下面的分区是预先在Linux环境下进行的)
进入分区:

  1. #fdisk /dev/hda
复制代码


显示分区情况:

  1. Command (m for help): p

  2. Device Boot      Start         End      Blocks   Id  System
  3. /dev/hda1               1       15502     7812976+  83  Linux
  4. /dev/hda2           15503       31004     7813008   83  Linux
  5. /dev/hda3           31005       31063       29736   83  Linux
  6. /dev/hda4           31064       77545    23426928    5  Extended
  7. /dev/hda5           31064       32056      500440+  83  Linux
  8. /dev/hda6           32057       55308    11718976+  83  Linux
  9. /dev/hda7           55309       77545    11207416+  83  Linux
复制代码


设置分区属性:

  1. Command (m for help): t
  2. Partition number (1-7): 1
复制代码


列出分区属性表:

  1. Hex code (type L to list codes): L

  2. 选择FreeBSD分区:
  3. Hex code (type L to list codes): a5
  4. Changed system type of partition 1 to a5 (FreeBSD)

  5. 列出分区信息:
  6. Command (m for help): p

  7. Disk /dev/hda: 40.0 GB, 40020664320 bytes
  8. 16 heads, 63 sectors/track, 77545 cylinders
  9. Units = cylinders of 1008 * 512 = 516096 bytes

  10.    Device Boot      Start         End      Blocks   Id  System
  11. /dev/hda1               1       15502     7812976+  a5  FreeBSD
  12. /dev/hda2           15503       31004     7813008   83  Linux
  13. /dev/hda3           31005       31063       29736   83  Linux
  14. /dev/hda4           31064       77545    23426928    5  Extended
  15. /dev/hda5           31064       32056      500440+  83  Linux
  16. /dev/hda6           32057       55308    11718976+  83  Linux
  17. /dev/hda7           55309       77545    11207416+  83  Linux
复制代码



分区属性就选择好了,我去运动运动,回头再写

[ 本帖最后由 抽烟斗的狗 于 2007-9-4 11:36 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-09-03 17:36 |只看该作者
在fdisk 命令下,有一个b选项,相当于FreeBSD的disklabel命令.
进入FreeBSD区域,进行分区:

  1. Command (m for help): b
  2. Reading disklabel of /dev/hda1  at sector 64.
  3. /dev/hda1  contains no disklabel.
  4. Do you want to create a disklabel? (y/n) y
  5. # /dev/hda1 :
  6. type: ST506
  7. disk:
  8. label:
  9. flags:
  10. bytes/sector: 512
  11. sectors/track: 63
  12. tracks/cylinder: 16
  13. sectors/cylinder: 1008
  14. cylinders: 77545
  15. rpm: 3600
  16. interleave: 1
  17. trackskew: 0
  18. cylinderskew: 0
  19. headswitch: 0           # milliseconds
  20. track-to-track seek: 0  # milliseconds
  21. drivedata: 0
  22. 4 partitions:
  23. #       start       end      size     fstype   [fsize bsize   cpg]
  24.   c:        1*    15502     15501*    unused        0     0
  25.   d:        1     77545     77545     unused        0     0
复制代码


FreeBSD分区可用命令列表:

  1. BSD disklabel command (m for help): m
  2. Command action
  3.    d   delete a BSD partition
  4.    e   edit drive data
  5.    i   install bootstrap
  6.    l   list known filesystem types
  7.    m   print this menu
  8.    n   add a new BSD partition
  9.    p   print BSD partition table
  10.    q   quit without saving changes
  11.    r   return to main menu
  12.    s   show complete disklabel
  13.    t   change a partition's filesystem id
  14.    u   change units (cylinders/sectors)
  15.    w   write disklabel to disk
  16.    x   link BSD partition to non-BSD partition
复制代码

看到这里,相信大家也会分区了吧,选择n(创建一个新分区),然后选择a,为根分区

创建根分区(100m):

  1. BSD disklabel command (m for help): n
  2. Partition (a-p): a
  3. First cylinder (1-15502, default 1):
  4. Using default value 1
  5. Last cylinder or +size or +sizeM or +sizeK (1-15502, default 15502): +100M

  6. BSD disklabel command (m for help): p

  7. 4 partitions:
  8. #       start       end      size     fstype   [fsize bsize   cpg]
  9.   a:        1       195       195     unused        0     0
  10.   c:        1*    15502     15501*    unused        0     0
  11.   d:        1     77545     77545     unused        0     0

  12. BSD disklabel command (m for help): t
  13. Partition (a-d): a
  14. Hex code (type L to list codes): L

  15. 0  unused           5  4.1BSD           9  4.4LFS           d  boot
  16. 1  swap             6  Eighth Edition   a  unknown          e  ADOS
  17. 2  Version 6        7  4.2BSD           b  HPFS             f  HFS
  18. 3  Version 7        8  MS-DOS           c  ISO-9660        10  AdvFS
  19. 4  System V
  20. Hex code (type L to list codes): 7

  21. BSD disklabel command (m for help): p

  22. 4 partitions:
  23. #       start       end      size     fstype   [fsize bsize   cpg]
  24.   a:        1       195       195     4.2BSD        0     0     0
  25.   c:        1*    15502     15501*    unused        0     0
  26.   d:        1     77545     77545     unused        0     0
复制代码


创建swap分区,如此类推,swap分区的类型是swap.

注意:
分区的扇区是首尾相连,一个分区的扇区结束,在下一个分区时,开始扇区是上一个分区结束扇区+1.
按照默认分区分割完毕后,进入格式化分区时,总会报出一个 i/o 错误,出错信息是xxxxxx个扇区里有错,这个扇区数比你分出的扇区少一,间接说明通常分区出来的FreeBSD分区是比要求的多了一个单位,要重新调节,减少一个单位.

[ 本帖最后由 抽烟斗的狗 于 2007-9-3 20:08 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2007-09-03 17:48 |只看该作者
创建文件系统

列出分区信息:

  1. # disklabel ad0s1
复制代码


划分了 BSD 分区,建立必要的文件系统 Slice 空间之后,就可以在新建4.2BSD类型的空间上真正建立文件系统,这需要使用 newfs 格式化命令:

  1. # newfs -U /dev/ad0s1a     #大写U参数,打开Enable soft updates
复制代码


执行 fsck检查刚建立的磁盘分区有无错误:

  1. # fsck -y /dev/ad0s1a
复制代码


使用swapon命令可使该交换分区立即生效:

  1. # swapon /dev/ad0s1b
复制代码


挂载文件系统

在宿主系统里建立挂载点,在Live cd 的目录里,好像只有少数几个目录有写权限,挑选/tmp目录是不错选择:

  1. # cd /tmp
  2. # mkdir freebsd
  3. # mkdir freebsd/var tmp usr home
复制代码



挂载分区:

  1. #mount /dev/ad0s1a /tmp/freebsd/
  2. #mount /dev/ad0s1d /tmp/freebsd/var
  3. .......
复制代码

论坛徽章:
0
5 [报告]
发表于 2007-09-03 17:57 |只看该作者
下载架构
FreeBSD架构由两大部分组成:base和kernel,这也是最少化安装FreeBSD的构成.base和kernel可以在FreeBSD官方网站下载,它们是一些以base或kernel开头命名的一系列文件,这些文件分割成1.4M大小,以便于软盘储存.

下载:

  1. #cd /tmp/freebsd
  2. #wget -r [url]ftp://ftp.freebsd.org/pub/FreeBSD/releases/i3b6/6.2-RELEASE/base[/url]
  3. #wget -r [url]ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/6.2-RELEASE/kernels[/url]
复制代码


解压base:

  1. #cat base.?? | tar --unlink -xpzf - -C ../
复制代码

这时整个FreeBSD就出现了

解压内核,内核有两种,一种是generic普通型 ,一种是smp,都是在kernel目录里,解压generic内核

  1. #cat generic.?? | tar --unlink -xpzf - -C ..boot/
复制代码

产生出一个generic文件夹,把它放在boot分区里,改名为kernel,这就是内核.
smp内核是kernel.smp

把宿主的dev目录复制到新系统(这一步不知是否是必要,还请前辈们指点.因为这次安装经过好多次实验,有时候不能明确那一步有效)

  1. #cp -r /dev /tmp/freebsd/dev
复制代码

[ 本帖最后由 抽烟斗的狗 于 2007-9-3 20:57 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2007-09-03 18:03 |只看该作者
编辑etc/fstab文件,我安装只用两个分区.一个是根,一个是swap,根据自己情况调整

  1. /dev/ad0s1b   none    swap    sw       0       0
  2. /dev/ad0s1a   /           ufs        rw       1       1
复制代码


使用grub引导启动

  1. # For booting FreeBSD
  2. title  FreeBSD
  3. root   (hd0,0,a)
  4. kernel /boot/loader
复制代码


FreeBSD终于出来了,简单吧!

记得进入新系统后,执行

  1. passwd
复制代码

改root密码

[ 本帖最后由 抽烟斗的狗 于 2007-9-4 11:50 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2007-09-03 18:48 |只看该作者
弄个livecd来用

论坛徽章:
0
8 [报告]
发表于 2007-09-03 19:37 |只看该作者
用一张Live cd 做宿主系统来安装系统,在Linux里面gentoo和LFS最著名的,习惯了这种安装方式后,面对安装界面,有不知如何下手的感觉,命令行是最简单最直接的方法,看见网络上千编一样的说法,觉得不该如此墨守成规,FreeBSD比你想象要好玩,可以玩出很多名堂.
下一步,用重头构建的方式来安装FreeBSD,用jail ,chroot方式,这才叫正中的构建系统方式,希望广大fan多点idea,BSD圈子有点沉闷,其实BSD很好玩,只是你没发现而已.
几年没玩BSD了,现在重新回来了~~~~~

论坛徽章:
0
9 [报告]
发表于 2007-09-03 20:33 |只看该作者
谢谢,livecd已经下载

论坛徽章:
0
10 [报告]
发表于 2007-09-03 20:46 |只看该作者
原帖由 atyu30 于 2007-9-3 20:33 发表
谢谢,livecd已经下载



谁人把它汉化一下,那就好了,哈哈~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP