第 26.1 节 安装

release 安装

下载镜像

以 OpenBSD 7.3,AMD 64 位架构为例,访问:https://cdn.openbsd.org/pub/OpenBSD/7.3/amd64 获取系统镜像。若是刻录 U 盘安装,就下载 install73.img (同时支持 UEFI+BIOS);若是虚拟机体验,请下载 install73.iso(ISO 镜像不支持 UEFI 启动,只支持 BIOS)。(注:截止 OpenBSD 7.3 时,请不要使用 ventoy 引导实体机安装。)

安装模式

安装过程

首先按照 TC/BSD 的安装过程(见 31.2 节),创建两个 VHD 硬盘,大小分别为 1GB、100MB,分别写入 install73.imgminiroot73.img,并开启 vm 虚拟机的 UEFI 选项。

Welcome to the OpenBSD/amd64 7.3 installation program.

(I)nstall, (U)pgrade or (S)hell? i

选择 i 进行安装

Choose your keyboard layout ('?', or 'L' for list) [default]?

选择键盘格式,回车 选择默认的美国键盘即可。

System hostname? (short form, e.g. 'foo') ykla

系统主机名,可以选择一个字母少的,将来会显示 ykla.DHCP 这样的主机名。

Available network interfaces are: em0 rtwn0.

Which network interface do you wish to configure? (or 'done') [em0]

这一步选择网络连接。为免去不必要麻烦,请尽量选择有线网络。可先输入 ,详细了解网络名称后再选择。如本例中 em0 为有线网络,rtwn0 为无线网络。

后续配置直接 回车键 确认即可。

Password for root account? (will not echo)

设置 root 账号密码,输入后回车确认(密码不会在屏幕上显示)。

Password for root account? (again)

再次输入一遍 root 账号密码,回车键确认。

Start sshd(8) by default? [yes] yes

开启 ssh:

Do you want the X Windows System to be started by xenodm(1)? [no] yes

打开 xenodm 以运行 X

Setup a user? (enter a lower-case loginname, or 'no') [no] ykla

设置用户名。

Full user name for ykla?

用户全名,可随意输入或者回车默认。

Password for ykla account? (will not echo)

为该账号设置密码(密码不会显示在屏幕上)。

Password for ykla account? (again)

再次输入该用户名的密码。

Allow root ssh login?(yes, no, prohibit-password)[no] yes

输入 yes 以允许 root 登录 ssh。

What timezone are you in? ('?' for list) [US/Eastern] Asia/Shanghai

设置时区。

Available disks are: sd0. sd1 sd2 Encrypt the root disk? (disk, 'no' or '?' for details) [no]

回车,不加密磁盘。

Available disks are: sd0 sd1 sd2 Which one is the root disk? (or 'done') [wd0] ?

输入 ? 查看硬盘:

Which disk is the root disk? (‘?‘ for details) [sd0] ?
sd0: NVMe, VMware Virtual N, 1.3 (80.0G)
sd1: NVMe, VMware Virtual N, 1.3 (1.0G)
sd2: NVMe, VMware Virtual N, 1.3 (0.1G)
Available disks are: sd0 sdl sd2.
Which disk is the root disk? (‘?‘ for details) [sd0]

这一步是选择要将系统安装在哪一块硬盘。按 ? 列出识别的所有硬盘。请务必记住所有的盘符。然后输入需要安装的位置,如我们这里选择 sd0。输入 sd0 回车。

Use (W)hole disk MBR, whole disk (G)PT or (E)dit? [gpt]

回车。

Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a]

这里我们直接回车,选择系统默认分区。(文末附有自定义分区设置,仅供参考,不推荐新用户尝试。)

Available disk are: sd0.Which disk do you wish to initialize? (or 'done') [done] 直接回车。

Let's install the sets! Location of sets? (cd disk ftp http or 'done') [cd] disk

软件地址,选择 disk。这里我们选择安装盘为软件地址。

Is the disk partition already mounted? [yes] no

需要提示一点的是,系统询问是否已识别 U 盘时,一定要选择否,否则系统不会识别。如不确定 U 盘编号,可输入 ? 查看。

Which disk contains the install media? (Cor 'done') [sd1] 选择 sd1
a: 1358848 1024 2048 16384 16142
i: 960 64 MSDOS
Available sd1 partitions are: a i.
Which wdo partition has the install sets? Cor 'done') [a] 回车
Pathname to the sets? Cor 'done') [7.3/amd64] 回车
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, name pattern or 'all'. Selected sets are labelled `[X]`

[X] bsd      [X] bsd.rd        [X] comp73.tgz   [X] game73.tgz  [X] xshare73.tgz  [X] xserv73.tgz
[X] bsd.mp   [X] base73.tgz    [H] man73.tgz    [X] xbase73.tgz [X] xfont73. tgz


Set name(s)? (or 'abort' or 'done') [done] -game*

这里我们可输入 -game* 来取消 game73.tgz,其它都勾选。也可以直接回车。

注:即使不使用桌面,也请勾选 X11 相关选项,否则部分软件可能无法正常运行。

Set name(s)? (or 'abort' or 'done') [done] 输入 -game*

[X] bsd      [X] bsd.rd        [X] comp73.tgz   [ ] game73.tgz  [X] xshare73.tgz  [X] xserv73.tgz
[X] bsd.mp   [X] base73.tgz    [H] man73.tgz    [X] xbase73.tgz [X] xfont73. tgz

Set name(s)? (or 'abort' or 'done') [done] 回车
Directory does not contain SHA256sig. Continue without verification? [no] 输入 yes

Location of sets? (cd disk ftp http or 'done') [done]

继续回车确认。此后开始安装系统。约 5 分钟后,会出现如下提示:

CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter 'reboot' at the command prompt.
When you login to your new system the first time,
please read your mail using the 'mail' command.

自动安装的分区如下:

ykla# cat /etc/fstab                                                                                            
798e155a2c1de208.b none swap sw
798e155a2c1de208.a / ffs rw 1 1
798e155a2c1de208.l /home ffs rw,nodev,nosuid 1 2
798e155a2c1de208.d /tmp ffs rw,nodev,nosuid 1 2
798e155a2c1de208.f /usr ffs rw,nodev 1 2
798e155a2c1de208.g /usr/X11R6 ffs rw,nodev 1 2
798e155a2c1de208.h /usr/local ffs rw,wxallowed,nodev 1 2
798e155a2c1de208.k /usr/obj ffs rw,nodev,nosuid 1 2
798e155a2c1de208.j /usr/src ffs rw,nodev,nosuid 1 2
798e155a2c1de208.e /var ffs rw,nodev,nosuid 1 2
ykla# disklabel -h sd0
# /dev/rsd0c:
type: SCSI
disk: SCSI disk
label: VMware Virtual N
duid: 798e155a2c1de208
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 10443
total sectors: 167772160 # total bytes: 81920.0M
boundstart: 532544
boundend: 167772127

16 partitions:
#                size           offset  fstype [fsize bsize   cpg]
  a:          1024.0M           532544  4.2BSD   2048 16384 12960 # /
  b:          3343.4M          2629696    swap                    # none
  c:         81920.0M                0  unused                    
  d:          4096.0M          9477056  4.2BSD   2048 16384 12960 # /tmp
  e:          9268.1M         17865664  4.2BSD   2048 16384 12960 # /var
  f:          8567.8M         36846784  4.2BSD   2048 16384 12960 # /usr
  g:          1024.0M         54393600  4.2BSD   2048 16384 12960 # /usr/X11R6
  h:         11625.7M         56490752  4.2BSD   2048 16384 12960 # /usr/local
  i:           260.0M               64   MSDOS                    
  j:          2913.5M         80300160  4.2BSD   2048 16384 12960 # /usr/src
  k:          6144.0M         86267104  4.2BSD   2048 16384 12960 # /usr/obj
  l:         33653.4M         98850016  4.2BSD   2048 16384 12960 # /home

恭喜!系统已成功安装,重启后可进入系统。

附录:自定义分区

系统分区时,选择 C,即 自定义设置

p m(注意之间的空格)

输入 p m 来显示硬盘。其它选项如下表:

代码作用

p m

查看分区大小

A

自动分区

a

增加分区

d

删除分区

z

删除全部分区

q

确认分区

假设有 80GB 的容量,可设分区: EFI 260MB/ 75G、swap 为剩下的全部容量。顺序不可动,否则无法启动!必须先分一个 /,再分 swap。基本思路:自动分区——>删去除了 i 分区以外的分区——>分 /——>分 swap

z 先删除现有的分区

A 先自动分区

删去多余分区,保留 i 分区这个 EFI 分区。即:

p m
OpenBSD area: 532544-167772127; size: 81660.0M; free: 81660.0M
#       size        offset    fstype [fsize bsize  cpg]
 c:    81920.0M          0    unused
 i:      260.0M         64    MSDOS

a

partition: [d]

offset: [532544]

size: [167239583] 75G

FS type: [4.2BSD]

mount point: [none] /

这里设置了 75GB 的 / 分区。

a

partition: [b]

offset: [157822560]

size: [9949567]

FS type: [swap]

p m
OpenBSD area: 532544-167772127; size: 81660.0M; free: 81660.0M
#             size            offset    fstype   [fsize bsize  cpg]
 a:      76801.8M           532544      4.2BSD    2048 16384    1  #   /  
 b:       4858.2M        157822560        swap
 c:      81920.0M                0      unused
 i:        260.0M               64       MSDOS

注意 size 一栏里我们并未输入数值,而是直接回车,意味着上步余下的全部容量都给了该分区,即 swap 分区。

配置完毕,记得输入 q 确认。

q

以上,分区完毕。

从 release 升级到 stable 或 current

OpenBSD 不建议从 release 升级到 current,建议直接使用快照版本(即预构建的 current)。

经过测试如果直接从 release 升级到 current 会卡在这里:

===> sbin/shutdown
install -c -s  -o root -g _shutdown  -m 4550 shutdown /sbin/shutdown
install -c -o root -g bin -m 444  /usr/src/sbin/shutdown/shutdown.8 /usr/share/man/man8/shutdown.8
install: unknown group _shutdown
*** Error 1 in target 'realinstall'
*** Error 1 in sbin/shutdown (<bsd.prog.mk>:157 'realinstall')
*** Error 2 in sbin (<bsd.subdir.mk>:48 'realinstall')
*** Error 2 in . (<bsd.subdir.mk>:48 'realinstall')
*** Error 2 in . (Makefile:97 'do-build')
*** Error 2 in /usr/src (Makefile:74 'build'
  • current:

$ cd /usr
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -P src
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -P xenocara
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -P ports
  • 7.3 -stable

$ cd /usr
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -rOPENBSD_7_3 -P src
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -rOPENBSD_7_3 -P xenocara
$ cvs -qd anoncvs@anoncvs.jp.openbsd.org:/cvs checkout -rOPENBSD_7_3 -P ports
# cd /sys/arch/$(machine)/compile/GENERIC.MP  # 要 cvs 拉取完才有该路径
# make obj
# make config
# make -j4 && make install # 编译内核
# cd /usr/src
# make obj && make -j4 build # 编译基本系统
# sysmerge
# cd /dev && ./MAKEDEV all
# cd /usr/xenocara
# make bootstrap 
# make obj
# make build # 编译 xorg

参考文献

最后更新于