Using anyboot image with Parallels Desktop for Mac

Does anyone know why Parallels Desktop for Mac doesn’t seem to work with the anyboot iso?

These steps work with most operating systems:

Create the empty virtual machine.
Set the iso as the boot “CD” image.
Boot up the VM.

But for some reason, Haiku sits on the fourth icon and just doesn’t proceed.

Does anyone know what is happening that might be preventing the booting from proceeding past the fourth icon in the boot sequence?

Did you follow this guide?
https://www.haiku-os.org/guides/virtualizing/parallels-desktop/

I’ll read it again, but I don’t remember it answering my question. I would really like to understand the problem which requires the workarounds to get it working.

I have done the steps, and got it to work by using the workarounds, but I’d like the see the problem fixed so that using the anyboot iso with the normal Parallels flow works fine.

Apparently something goes wrong when booting from a CD in Parallels. Did someone try that with on-screen debugging enabled to see what happens in the syslog?

So the workaround is to boot from hard disk instead.

1 Like

I don’t run Haiku in Parallels anymore but I think you need to add acpi=false or something like that. Try to boot using 1 virtual cpu also.

How do I put it into on-screen debugging? I tried holding down either shift or spacebar when booting, but it seems I can’t quite get it into any kind of boot loader options mode. It is like it is happening too fast or something.

So one of the options I found in Parallels Desktop was the ability to add a serial port that could output to a file. So I did that, then I found that the file was filled with output as the OS booted. I assume this is a log of sorts, so that may provide some idea about what is going wrong during the boot sequence?

get_boot_partitions(): boot volume message:
KMessage: buffer: 0xffffffff8200ccb0 (size/capacity: 315/315), flags: 0xa
  field: "booted from image" (BOOL): true
  field: "partition offset"  (LLNG): 0 (0x0)
  field: "boot method"       (LONG): 1 (0x1)
  field: "boot drive number" (LLNG): 0 (0x0)
  field: "disk identifier"   (RAWT): data at 0xffffffff8200cd9c, 79 bytes
get_boot_partitions(): boot method type: 1
partitioning system: partitioning_systems/intel/extended/v1
KDiskDeviceManager::_AddDiskSystem(partitioning_systems/intel/extended/v1)
intel: ep_std_ops(0x1)
intel: ep_std_ops(0x2)
KDiskDeviceManager::_AddDiskSystem() done: No error
partitioning system: partitioning_systems/session/v1
KDiskDeviceManager::_AddDiskSystem(partitioning_systems/session/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
partitioning system: partitioning_systems/intel/map/v1
KDiskDeviceManager::_AddDiskSystem(partitioning_systems/intel/map/v1)
intel: pm_std_ops(0x1)
intel: pm_std_ops(0x2)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/devfs/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/devfs/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/attribute_overlay/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/attribute_overlay/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/rootfs/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/rootfs/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/packagefs/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/packagefs/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/iso9660/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/iso9660/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/write_overlay/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/write_overlay/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
file system: file_systems/bfs/v1
KDiskDeviceManager::_AddDiskSystem(file_systems/bfs/v1)
KDiskDeviceManager::_AddDiskSystem() done: No error
number of disk systems: 10
KDiskDeviceManager::_Scan(/dev/disk)
PCI-ATA: Controller in legacy mode: cmd 0x1f0, ctrl 0x3f6, irq 14
PCI-ATA: init channel...
PCI-ATA: channel index 0
PCI-ATA: bus master base 0xe000
PCI-ATA: init channel done
ata 0: _DevicePresent: device 0, presence 1
ata 0: _DevicePresent: device 1, presence 1
ata 0: deviceMask 3
ata 0: probing device 0
ata 0: signature of device 0: 0x0000
ata 0-0: model number: Haiku-0 SSD                             
ata 0-0: serial number: H4D77C4YSFSMB4Q9YR03
ata 0-0: firmware rev.: F.2VJJ9M
ata 0-0 error: more than one DMA mode selected, not using DMA
ata 0: identified ATA device 0
ata 0: probing device 1
ata 0: signature of device 1: 0xeb14
atapi 0-1: model number: Virtual DVD-ROM [1]                 ÿ
atapi 0-1: serial number:   - 31415B265       
atapi 0-1: firmware rev.: FWR1ÿ
atapi 0-1 error: more than one DMA mode selected, not using DMA
ata 0: identified ATAPI device 1
publish device: node 0xffffffff82baa468, path disk/ata/0/master/raw, module drivers/disk/scsi/scsi_disk/device_v1
ata 0-0 error: invalid target lun 1 for ATA device
ata 0-0 error: invalid target lun 2 for ATA device
ata 0-0 error: invalid target lun 3 for ATA device
ata 0-0 error: invalid target lun 4 for ATA device
ata 0-0 error: invalid target lun 5 for ATA device
ata 0-0 error: invalid target lun 6 for ATA device
ata 0-0 error: invalid target lun 7 for ATA device
publish device: node 0xffffffff82baa008, path disk/atapi/0/slave/raw, module drivers/disk/scsi/scsi_cd/device_v1
atapi 0-1 error: invalid target lun 1
atapi 0-1 error: invalid target lun 2
atapi 0-1 error: invalid target lun 3
atapi 0-1 error: invalid target lun 4
atapi 0-1 error: invalid target lun 5
atapi 0-1 error: invalid target lun 6
atapi 0-1 error: invalid target lun 7
ata 0 error: invalid target device
Last message repeated 12 times.
PCI-ATA: Controller in legacy mode: cmd 0x170, ctrl 0x376, irq 15
PCI-ATA: init channel...
PCI-ATA: channel index 1
PCI-ATA: bus master base 0xe008
PCI-ATA: init channel done
ata 1: _DevicePresent: device 0, presence 0
ata 1: _DevicePresent: device 1, presence 0
ata 1: deviceMask 0
ata 1: ignoring device 0
ata 1: ignoring device 1
ata 1 error: target device not present
ata 1 error: target device not present
ata 1 error: invalid target device
Last message repeated 12 times.
KDiskDeviceManager::_Scan(/dev/disk/ata)
KDiskDeviceManager::_Scan(/dev/disk/ata/0)
KDiskDeviceManager::_Scan(/dev/disk/ata/0/master)
KDiskDeviceManager::_Scan(/dev/disk/ata/0/master/raw)
  found device: /dev/disk/ata/0/master/raw
DMAResource@0xffffffff82baa3c8: low/high 0/100000000, max segment count 512, align 2, boundary 65536, max transfer 33553920, max segment size 33554432
slab memory manager: created area 0xffffffff90001000 (518)
slab memory manager: created area 0xffffffff90801000 (551)
KDiskDeviceManager::_Scan(/dev/disk/atapi)
KDiskDeviceManager::_Scan(/dev/disk/atapi/0)
KDiskDeviceManager::_Scan(/dev/disk/atapi/0/slave)
KDiskDeviceManager::_Scan(/dev/disk/atapi/0/slave/raw)
  found device: /dev/disk/atapi/0/slave/raw
DMAResource@0xffffffff82bbcf10: low/high 0/100000000, max segment count 512, align 2, boundary 65536, max transfer 524288, max segment size 134217728
slab memory manager: created area 0xffffffff91001000 (554)
KDiskDeviceManager::_ScanPartition(/dev/disk/ata/0/master/raw)
intel: ep_std_ops(0x1)
  trying: partitioning_systems/intel/extended/v1
  returned: -1
intel: ep_std_ops(0x2)
  trying: partitioning_systems/session/v1
  returned: -1
intel: pm_std_ops(0x1)
  trying: partitioning_systems/intel/map/v1
intel: pm_identify_partition(0, 0: 0, 137438953472, 512)
  returned: -1
intel: pm_std_ops(0x2)
  trying: file_systems/devfs/v1
  returned: -1
  trying: file_systems/attribute_overlay/v1
  returned: -1
  trying: file_systems/rootfs/v1
  returned: -1
  trying: file_systems/packagefs/v1
  returned: -1
  trying: file_systems/iso9660/v1
identify(0, 0xffffffff80efefa8)
  returned: -1
  trying: file_systems/write_overlay/v1
  returned: -1
  trying: file_systems/bfs/v1
  returned: -1
KDiskDeviceManager::_ScanPartition(/dev/disk/atapi/0/slave/raw)
intel: ep_std_ops(0x1)
  trying: partitioning_systems/intel/extended/v1
  returned: -1
intel: ep_std_ops(0x2)
  trying: partitioning_systems/session/v1
raw_command: 
  returned: -1
intel: pm_std_ops(0x1)
  trying: partitioning_systems/intel/map/v1
intel: pm_identify_partition(0, 1: 0, 638386176, 2048)
ata 0 error: device still expects data transfer

Does this provide enough information to get a better idea of why the normal booting from “CD” doesn’t work in Parallels?

NOTE: I couldn’t post the whole log due to length restrictions here… so perhaps important parts are missing?

Maybe it’s a better idea to handle this on the bugtracker at dev.haiku-os.org where you can attach it as a file without length restrictions then.