[haiku-bugs] Re: [Haiku] #14475: Boot from VMWare ESXi: PANIC: did not find any boot partitions!

  • From: "Haiku" <trac@xxxxxxxxxxxx>
  • To: undisclosed-recipients: ;
  • Date: Tue, 11 Sep 2018 21:24:50 -0000

#14475: Boot from VMWare ESXi: PANIC: did not find any boot partitions!
-----------------------------+----------------------------
   Reporter:  markh          |      Owner:  nobody
       Type:  bug            |     Status:  new
   Priority:  normal         |  Milestone:  Unscheduled
  Component:  System/Kernel  |    Version:  R1/Development
 Resolution:                 |   Keywords:
 Blocked By:                 |   Blocking:
Has a Patch:  0              |   Platform:  x86
-----------------------------+----------------------------

Comment (by waddlesplash):

 Total guess of what's going on, by reading the code: You have two BFS
 partitions, the one from the anyboot and another on a disk. The partition
 scanner
 
(http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#276)
 checks if a partition is bootable by calling IsBootDevice with
 strict=false, which returns true, so that function returns true, so the
 calling function thinks it's found a boot device and so halts the search.
 Then it
 
http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#403
 calls IsBootDevice now with strict=true, which
 
http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#223
 probably returns false, and so it doesn't have any partitions.

 So there are two potential solutions here:
  1) Don't call IsBootDevice with strict=false and then strict=true; pick
 one or the other.
  2) Don't stop searching for boot partitions after we found one candidate
 (unknown performance impact?)

 I vote for # 1, but, I'm not an expert here.

-- 
Ticket URL: <https://dev.haiku-os.org/ticket/14475#comment:1>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.

Other related posts: