- 论坛徽章:
- 0
|
![]()
OpenBSD 4.2 安装指南(5)
新一篇: OpenBSD 4.2 安装指南(大结局)
4.12 - 常见的安装问题
4.12.1 - 我的 Compaq只能识别16M RAM
一
些 Compaq 机器存在这样的问题,OpenBSD 的第二级启动加载程序(boot loader)不能正常探测出系统的全部内存,
只有16M内存能被 OpenBSD 识别并使用. 这个bug可以通过建立/修改 /etc/boot.conf 文件来修正, 或者在
OpenBSD 引导前的 "boot>" 提示符下输入一条命令命令. 如果你的机器有 64M RAM,但是 OpenBSD
一开始只能认出 16M, 你要用的命令就是:
![]()
machine mem +0x3000000@0x1000000
将 48M (0x3000000) 加到之前的 16M (0x1000000). 同样, 如果你的机器有同样的问题,
你可以在安装软盘/CD-ROM 的 boot> 提示符前输入上面的命令, 载入系统, 重启, 建立 /etc/boot.conf
文件并加入上面的那条语句这样以后启动的时候系统就能认出所有的内存了.
也曾有报告说对 “有些系统”的ROM升级能解决这个问题.
4.12.2 - 我的 i386 在安装后不能启动
你的安装看上去没什么问题, 但是在第一次启动的时候, 你没看到任何 OpenBSD 启动的迹象. 对于这个问题一般有这么几个原因:
* 分区中没有一块被 fdisk(8) 标示为活动分区. 为了修正它, 用启动软盘或其它媒介重启机器,将一块分区标示为 "active" (bootable). 看一下
这里
和
这里
。
* 磁碟上没有有效的引导器. 如果在安装时你对 "Use entire disk for OpenBSD?" 回答"Y", 或者使用了
fdisk 的 "reinit" 选项 , 那么 OpenBSD 的启动记录就会被安装在磁碟的主启动记录区; 不然,
原先的主启动代码是不会被修改的. 如果没有引导记录的话那是会出问题的. 一种解决方法就是重新用安装媒介启动, 进入控制台在 fdisk
下用命令行对 MBR 升级一下:
![]()
# fdisk -u wd0
注意: "update" 选项如果是在互动模式("-e")下的fdisk不会写入使磁碟可启动的标识性代码.
* 在一些罕见的例子中, 在第二阶段启动器安装的时候可能会有一些问题.
这里
有一些关于第二阶段启动器的讨论.
4.12.3 - 我的 (老式的,运行慢的) 机器启动了,但是在ssh-keygen(创建SSH密钥)这一步死机了。
很
可能你的机器运行得很好, 只不过需要点时间来完成 ssh key 的生成.一台 SPARCStation2 或者 Macintosh
Quadra 可能需要45分钟或者更长来完成ssh-keygen(1) 的三个步骤, 有的机器可能还要长. 就等着它弄完吧;
每次安装只运行一次.
从OpenBSD3.8开始,缺省的密钥大小增加了,因此创建密钥的时间会比以前长的多。如果你的机子很慢的话,你也可以在其他的机器上生成这个密钥,然后将它放在site42.tgz中,和其他的安装文件(file set)一起安装。
4.12.4 - 我安装的时候看到了这样的一条信息 "Failed to change directory"(无法改变目录)。
在 OpenBSD 开发小组的工作周期运行到发布新版本的 beta 阶段,如果你用FTP安装它的预览版(snapshot)的话, 你可能会看到:
![]()
![]()
Do you want to see a list of potential FTP servers? [yes] Enter
![]()
Getting the list from 192.128.5.191 (ftp.openbsd.org)... FAILED
![]()
Failed to change directory.
![]()
Server IP address or hostname?
![]()
这是一个很正常的在预备发布期间可以预料到的一个情况. 安装程序会到FTP列表中的主要FTP服务器中去查询安装包的信息,但是那里的包直到新版本正式发布后才会更新, 所以你才会看到那些信息.
查看一下 FTP 列表中的镜像选择你常用的 FTP 镜像, 在提示符出现后手工输入它.
注意: 如果你是从 CD-ROM 安装应该不会看到这个错误信息.
4.12.5 -我的fdisk分区表被毁了或者被清空了!
很
少的情况下, 一个用户发现他的系统是可以使用的, 但是在运行 fdisk wd0 后,
他们发现分区表里什么都没了(有时侯只留了点没用的东西). 这通常是因为他们在用 fdisk(8)
建立分区的时候只使用了0扇区的空间做分区修正(offset), 而不是需要的一个磁道的补偿 (注意: 这里的假设是针对 i386 or
amd64 平台的. 不同的平台有不同的补偿要求, 有的还不需要补偿). 系统会通过 PBR 引导, 而不是
MBR。即使这样配置好的系统也能工作, 但仍然会给后期维护带来问题因而需要修正. 为了修复它, 这块磁盘上的文件系统必须要被重建
(即使你完全意识到你在做什么, 你能做的也只是重新建立你的 disklabel 和 MBR, 从而只丢失并重建这块磁碟上的第一块
OpenBSD 分区).
4.12.6 - 我的i386机子无法从官方的CDROM启动
我们发现一些旧的机器无法从官方的第一张CDROM启动。这个问题对于从install42.iso,cd42.iso或者cdemu42.iso制作成的CDROM没有影响。只是官方的CD。一个比较容易的办法是使用第二张CD中的amd64的boot loader:
1. 插入CD2并设置机器从中启动
2. 当boot>提示符出现,按空格键停止自动启动过程
3. 拿掉CD2,插入CD1
4. 去掉你为了停止自动启动而输入的字符,然后输入:
boot /4.2/i386/bsd.rd
然后按回车键
是的,这个方法在非amd64的机子上真的有效!
4.13 - 自定义安装过程
siteXX.tgz file
OpenBSD
安装/升级脚本中允许用户自己配置的套件叫 "siteXX.tgz", XX 就是发行版本号 (e.g. 42). siteXX.tgz
文件就是,和其它文件集(file set)一样, 一个位于根目录(/)下的gzip(1) 压缩的 tar(1) 包, 像其它包一样用
-xzphf 选项 解压. 在所有其它包安装好之后这个包才能安装.
这个文件能让用户增加、删除或者是覆盖正常文件集中的软件包从而用它来自定义安装或者升级.
你也可以创建一个用于特定主机名的安装文件,siteXX-.tgz,比如“site42-puffy.tgz”。这使得为每个主机自定义安装,升级和灾难恢复变得很容易。
一些 siteXX.tgz 的使用例子:
* 新建一个 siteXX.tgz ,里面包含了你第一次安装 OpenBSD 后的文件修改信息. 然后, 如果你要重新安装系统的话你只要很简单的选择 siteXX.tgz 那你之前做过的修改就会自动复制到你的新主机上.
* 对每个主机都制作一个目录,里面放上含有针对这一特定机型的siteXX.tgz文件,那么一种类型的主机系统安装 (e.g. 使用不同显卡的主机) 只要选择对应系统伤制作的的 siteXX.tgz 就能完成所有的工作.
* 把一些经常更改的文件以相同或者相似的方式放进siteXX.tgz,-- /etc/skel, /etc/pf.conf, /var/www/conf/httpd.conf, /etc/rc.conf.local, 等等.
install.site/upgrade.site
脚本作为安装或升级过程最后的一步, 安装脚本会在新安装或者升级系统的根目录中寻找 install.site 或者 upgrade.site,
根据当前的安装进程, chroot 到新安装或者升级的 root 目录中,在chroot的环境中运行脚本.
记得,升级是在一个启动了的文件系统上完成的, 所以你的目标文件系统应该被挂载到 /mnt.
然而,由于这个chroot,你的脚本可以像正常的root环境一样去写。由于脚本是在所有软件都装好后运行的,
你几乎拥有了一个完整系统的全部功能(只是在单用户模式下)。
注意: install.site 脚本必须被包含在 siteXX.tgz 中, 尽管 upgrade.site script 可以在升级前放置于 root 文件夹或者放置于 siteXX.tgz 中.
这个脚本可以用于完成很多事:
* 可以移除一些已经装在或升级到系统上但是你不想要的文件。
* 可以移除一些已经装在或升级到系统上但是你不想要的软件包。
* 马上备份/归档新的系统,在它为外界所知以前
* 使用rdate(8)设定系统时间
siteXX.tgz和install.site/upgrade.site文件的存在就是要赋予用户自定义的能力而无需创建他们自己的安装集
注意:如果你是以http方式进行安装,你需要把你的siteXX.tgz文件加入到源目录的index.txt文件中安装程序才可以找到。FTP或其他的方式则不需要。
----待续---
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/8598/showart_574025.html |
|