netbsd:如何读取 cdrom 标签

netbsd:如何读取 cdrom 标签

我正在尝试创建一个 NetBSD 映像以在我的 opennebula 云上使用,并且为了对其进行上下文化,我需要查找标有“CONTEXT”的磁盘,实际上它是一个 cdrom,通常在 debian 上我会在 /dev/disk/by-label 上查找它,但在 NetBSD 中情况似乎有所不同,我尝试使用 disklabel,但我只在 cdrom 上找到了“虚构的”标签: NetBSDImage# disklabel /dev/cd0 # /dev/cd0d: type: ATAPI disk: iso partition label: fictitious flags: removable bytes/sector: 2048 sectors/track: 100 tracks/cylinder: 1 sectors/cylinder: 100 cylinders: 2 total sectors: 181 rpm: 300 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0

4 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 181 0 ISO9660 0 # (Cyl. 0 - 1*) d: 181 0 UDF # (Cyl. 0 - 1*) disklabel: boot block size 0 disklabel: super block size 0 disklabel: partitions a and d overlap

我不明白如何在 NetBSD 上执行相同操作,检查是否有任何名为“CONTEXT”的磁盘来安装它。计划 B 就是安装 cdrom(如果可用)并检查是否有名为 context.sh 的文件,但我更愿意以正确的方式执行此操作,即检查磁盘名称。

答案1

您可以使用文件(1)CD-ROM 设备上的命令。

例如,我的 CD-ROM 驱动器中有一个 NetBSD 7 iso:

$ sudo file -s /dev/cd0d
/dev/cd0d: # ISO 9660 CD-ROM filesystem data 'NETBSD_70_BETA' (bootable)

此处的卷 ID 是“NETBSD_70_BETA”

您还可以从 pkgsrc(sysutils/cdrtools)安装 isoinfo 并 sed/grep 您需要的数据:

$ sudo isoinfo -d -i /dev/cd0d
CD-ROM is in ISO 9660 format
System id: NetBSD
Volume id: NETBSD_70_BETA
Volume set id: 
Publisher id: THE_NETBSD_PROJECT
...

更多信息可以参见维基百科

相关内容