[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: