Retrieving disk info from sunvdc using udevadm
Hi!
Some Debian users who are installing Debian for sparc64 in an LDOM run into
the problem that the debian-installer is unable to detect the installation
medium.
Digging through the sources of the responsible debian-installer module, it
turns out that d-i uses "udevadm info" to query information from all available
block devices listed in /sys/block. To detect a CD-ROM, it looks for "ID_CDROM=1"
or "ID_TYPE=cd".
Unfortunately, this fails with sunvdc with a virtual CD-ROM drive as the data
retrieved by "udevadm info" is very limited as compared to a standard PC with
a physical CD-ROM drive.
For comparison, on a SPARC T5, I get:
/sys/block # udevadm info -q env -p /sys/block/vdiskd
DEVLINKS=/dev/disk/by-uuid/2017-03-14-14-05-33-00 /dev/disk/by-label/Debian\x209.0\x20sparc64\x201
DEVNAME=/dev/vdiskd
DEVPATH=/devices/channel-devices/vdc-port-3-0/block/vdiskd
DEVTYPE=disk
ID_FS_LABEL=Debian_9.0_sparc64_1
ID_FS_LABEL_ENC=Debian\x209.0\x20sparc64\x201
ID_FS_TYPE=iso9660
ID_FS_USAGE=filesystem
ID_FS_UUID=2017-03-14-14-05-33-00
ID_FS_UUID_ENC=2017-03-14-14-05-33-00
ID_PART_TABLE_TYPE=sun
MAJOR=254
MINOR=24
SUBSYSTEM=block
USEC_INITIALIZED=634522
/sys/block #
Compare this to the output for a standard USB CD-ROM device on my laptop:
glaubitz@ikarus:/sys/block$ udevadm info -q env -p /sys/block/sr0
DEVLINKS=/dev/disk/by-path/pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-TSSTcorp_CDDVDW_SE-S084D_0j468695-0:0 /dev/dvdrw /dev/dvd /dev/cdrom
/dev/cdrw
DEVNAME=/dev/sr0
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2:1.0/host4/target4:0:0/4:0:0:0/block/sr0
DEVTYPE=disk
ID_BUS=usb
ID_CDROM=1
ID_CDROM_CD=1
ID_CDROM_CD_R=1
ID_CDROM_CD_RW=1
ID_CDROM_DVD=1
ID_CDROM_DVD_PLUS_R=1
ID_CDROM_DVD_PLUS_RW=1
ID_CDROM_DVD_PLUS_R_DL=1
ID_CDROM_DVD_R=1
ID_CDROM_DVD_RAM=1
ID_CDROM_DVD_RW=1
ID_CDROM_MRW=1
ID_CDROM_MRW_W=1
ID_FOR_SEAT=block-pci-0000_00_14_0-usb-0_2_1_0-scsi-0_0_0_0
ID_INSTANCE=0:0
ID_MODEL=CDDVDW_SE-S084D
ID_MODEL_ENC=CDDVDW\x20SE-S084D\x20
ID_MODEL_ID=1836
ID_PATH=pci-0000:00:14.0-usb-0:2:1.0-scsi-0:0:0:0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_0-scsi-0_0_0_0
ID_REVISION=TS00
ID_SERIAL=TSSTcorp_CDDVDW_SE-S084D_0j468695-0:0
ID_SERIAL_SHORT=0j468695
ID_TYPE=cd
ID_USB_DRIVER=usb-storage
ID_USB_INTERFACES=:080250:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=TSSTcorp
ID_VENDOR_ENC=TSSTcorp
ID_VENDOR_ID=0e8d
MAJOR=11
MINOR=0
SUBSYSTEM=block
SYSTEMD_READY=0
TAGS=:systemd:uaccess:seat:
USEC_INITIALIZED=16198574878
glaubitz@ikarus:/sys/block$
Would it be possible to extend sunvdc to display additional fields? In particular, it would be very useful
if sunvdc could indicate whether the virtual block device is a regular disk or a CD-ROM drive.
Thanks,
Adrian
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
Reply to: