Xen/cdrom: Ubuntu 16.04 VM read the content from CD-ROM abnormally

From: Ken
Date: Fri Dec 09 2016 - 03:21:56 EST


Hi all,

I run the Ubuntu 16.04 server (2 vcpu/2G, Linux 4.4.0) on the Xen-4.1.2, and installed gcc through the CDROM used by 16.04 iso file, when I installed gcc that depends deb packages to decompress failed. But uploaded the ISO files into the VM are mounted by loop or used as CDROM for other VM (Fedora 24) transport these abnormal files to 16.04 are available. So the 16.04 ISO file should be correct.

Then I went to try to fix this problem, the steps are as follows:
First of all, I was worried because the Hypervisor version is too old to cause this problems, so I upgraded to the Xen upstream and found that there are the problem still.

Then, I went to attempted to upgrade the VM kernel, by dichotomy to find the smallest available kernel, but found that the kernel patch has nothing to do the cdrom or isofs driver, Linux kernel committed history has nothing to do these, combined with the Fedora within Linux 4.4.0 have no problem, so I inferred the kernel had no this defective.

The above comparison can not troubleshoot the problem, so I analyzed the Linux CD-ROM device loading process to confirm that the problem is encountered before the mount. and I found the following three strange phenomenon:
1. Using Ubuntu 14.04.5 udevadm, re-packaged the init-ramfs of 16.04, reboot the VM, read the content of CD-ROM successfully, but compile the system-204 from the 14.04.5 and installed on 16.04, the problem still can not be resolved, some abnormal logs as blow:
random: udevadm: uninitialized urandom read (16 bytes read, 28 bits of entropy available)

2. found that the VM registers dmi failed at startup, so I removed the dmi driver, reboot the VM, read the content of CD-ROM successfully, and from the kernel dmi_scan_machine code, it should not affect to use the CD-ROM, The failed logs as blow:
ioremap error for 0xfc001000-0xfc002000, requested 0x2, got 0x0
dmi: Firmware registration failed.

3. Deploy the VM within 8 vcpus, 8G memory, read the content of CD-ROM successfully.

Therefore, I inferred this anomaly that has several problems, but can not focus it, there are other people have encountered this same anomaly? Do anyone have any suggests to
debug it next step?

Thanks.