[OpenBIOS] Fail to boot a macosx 10.5 disk image

Cédric Le Goater clg at kaod.org
Sun Jun 12 17:24:47 CEST 2016


On 06/12/2016 12:37 PM, Mark Cave-Ayland wrote:
> On 11/06/16 18:32, Cédric Le Goater wrote:
> 
>> On 06/08/2016 11:55 PM, Mark Cave-Ayland wrote:
>>> On 08/06/16 20:38, Cédric Le Goater wrote:
>>>
>>>> Hello Mark, 
>>>>
>>>> On 06/08/2016 08:52 PM, Mark Cave-Ayland wrote:
>>>>> On 08/06/16 14:48, Cédric Le Goater wrote:
>>>>>
>>>>>> So it is hd:3 and then, openbios dies directly :  
>>>>>>
>>>>>> 	...
>>>>>> 	IN: 
>>>>>> 	0xfff0d6c8:  mr      r28,r3
>>>>>> 	0xfff0d6cc:  add     r30,r30,r3
>>>>>> 	0xfff0d6d0:  add     r31,r31,r3
>>>>>> 	0xfff0d6d4:  b       0xfff0d6a0
>>>>>>
>>>>>> 	IN: 
>>>>>> 	0xfff0d6a0:  mr      r3,r29
>>>>>> 	0xfff0d6a4:  li      r5,0
>>>>>> 	0xfff0d6a8:  mr      r6,r30
>>>>>> 	0xfff0d6ac:  bl      0xfff279e8
>>>>>>
>>>>>> 	IN: 
>>>>>> 	0x00000300:  .long 0x0
>>>>>>
>>>>>> 	IN: 
>>>>>> 	0x00000700:  .long 0x0
>>>>>>
>>>>>> which is this loop in bootcode_load() :
>>>>>>
>>>>>>     ...
>>>>>>     bootcode = loadbase;
>>>>>>     offset = 0;
>>>>>>     
>>>>>>     while(1) {
>>>>>>         if (seek_io(fd, offset) == -1)
>>>>>>             break;
>>>>>>         count = read_io(fd, (void *)bootcode, 512);
>>>>>>         offset += count;
>>>>>>         bootcode += count;
>>>>>>     }
>>>>>>     ...
>>>>>
>>>>> Hi Cédric,
>>>>>
>>>>> As a starting point, can you provide the contents of the root of the HD
>>>>> image as given with:
>>>>>
>>>>> dir hd:3,\
>>>>
>>>> 0 > dir hd:3,\
>>>>       7065 2006-11-05 15:39:15  .\debugdata\debug.txt
>>>>          0 2006-01-10 13:37:45  .com_symantec_symfs_private\
>>>>      12292 2002-05-16 10:37:41  .DS_Store
>>>>     458752 2005-10-20 18:00:21  .hotfiles.btree
>>>>    8388608 2005-07-12 03:37:09  .journal
>>>>       4096 2005-07-12 03:37:09  .journal_info_block
>>>>          0 2005-07-12 04:48:20  .Spotlight-V100\
>>>>          0 2006-01-09 10:49:19  .symSchedScanLockxz
>>>>          0 2005-07-12 04:53:28  .Trashes\
>>>>          0 2005-03-22 00:01:29  .vol\
>>>>          0 2005-07-11 09:36:46  Applications\
>>>>          0 2005-07-11 17:21:58  Applications (Mac OS 9)\
>>>>        512 2005-12-28 17:51:55  Auth-DigitalPerformer 4.0
>>>>          0 2005-12-02 17:25:12  automount\
>>>>          0 2005-07-11 10:28:40  bin\
>>>>          0 2005-05-28 17:05:33  cores\
>>>>     133120 2005-07-12 04:48:01  Desktop DB
>>>>     715698 2005-07-12 04:48:01  Desktop DF
>>>>          0 2003-10-32 14:57:45  Desktop Folder\
>>>>          0 2005-05-28 17:05:33  dev\
>>>>          0 2008-09-07 00:40:24  Developer\
>>>>          0 2005-11-15 13:13:52  Dossier Systeme\
>>>>         11 2005-07-12 03:37:16  etc
>>>>   21579557 2006-09-19 08:26:22  gmon.out
>>>>         60 2005-12-02 11:59:32  Guides de lutilisateur et informations
>>>>        297 2005-01-09 16:29:43  Installer Log File
>>>>          0 2005-07-11 10:22:09  Library\
>>>>          9 2015-05-28 12:06:55  mach
>>>>     604360 2015-05-28 12:06:55  mach.sym
>>>>    4352200 2007-10-12 01:26:11  mach_kernel
>>>>          0 2005-11-17 19:04:29  Macintosh HD
>>>>   13027540 2006-01-09 10:48:44  NAVMac800QSFile
>>>>          0 2005-05-28 17:05:33  Network\
>>>>      29150 2005-01-18 09:35:39  Office 2004 11.1.0 Update Log
>>>>          0 2005-07-11 10:19:09  private\
>>>>          0 2005-07-11 10:28:00  sbin\
>>>>          0 2006-11-02 08:15:23  sblibng.log
>>>>          0 2005-07-11 09:36:30  System\
>>>>          0 2004-10-02 10:23:16  TheVolumeSettingsFolder\
>>>>         11 2005-07-12 03:37:52  tmp
>>>>          0 2005-03-21 23:57:33  Users\
>>>>          0 2005-07-11 09:39:44  usr\
>>>>         11 2005-07-12 03:37:59  var
>>>>          0 2005-03-22 00:01:29  Volumes\
>>>>          0 2005-07-12 03:30:28  HFS+ Private Data\
>>>>  ok
>>>> 0 > 
>>>>
>>>> That system was updated from Mac OS 9. That might be the issue.
>>>
>>> Ah that could be it indeed. I've heard reports from people that
>>> installing Classic mode into a QEMU OS X causes it to fail to boot, but
>>> no-one has been able to provide an image to date. But it definitely
>>> looks like the right partition.
>>>
>>>>> (it's much easier to cut/paste if you run qemu-system-ppc with
>>>>> -nographic). This is just to ensure that a HFS+ FS isn't accidentally
>>>>> getting picked up as a HFS filesystem (some driver partitions are set up
>>>>> this way).
>>>>>
>>>>>> How do I add more logging with openbios ? 
>>>>>
>>>>> You should find that in -nographic mode Forth errors are logged to the
>>>>> console - does anything obvious stand out? If not, you'd probably have
>>>>> to look at modifying OpenBIOS to dump out the 10.5 bootloader to see
>>>>> what it's trying to do.
>>>>
>>>> yes. I will look into that next.
>>>>
>>>> Using -nographic, I get more info : "Not a bootable ELF image". That's 
>>>> something to look for ! 
>>>
>>> That just means that OpenBIOS scanned through its list of recognised
>>> binaries and didn't match on ELF - presumably from your previous email
>>> it is a bootcode image, i.e. XML, possibly with a payload, so it would
>>> have subsequently recognised and matched on that.
>>>
>>> You could try seeing if just loading the binary succeeds without
>>> invoking the failure on seek, and then follow this up with a go to
>>> execute the image directly:
>>>
>>> load hd:3,\\:tbxi
>>> go
>>>
>>> If it freezes on go then that means its something in the bootloader
>>> failing in which case you may get further information by either enabling
>>> debug in the device tree:
>>>
>>> cd /
>>> ffffffff encode-int " AAPL,debug" property
>>> boot
>>>
>>> or perhaps passing the verbose parameter via the QEMU command line, e.g.
>>>
>>> -prom-env 'boot-args=-v'
>>
>> FYI, I had to specify the path of BootX to get running. 
> 
> Oh great! Is this something that could be added to the list of paths
> OpenBIOS searches for an executable on boot? If you can suggest a
> suitable place in the ordering, the patch to add it is fairly trivial.
> 

It is a pretty standard path :

	-prom-env 'boot-device=hd:3,\System\Library\CoreServices\BootX'

Here are some traces below,

Cheers,

C.


>> =============================================================
>> OpenBIOS 1.1 [Jun 9 2016 11:48]
>> Configuration device id QEMU version 1 machine id 1
>> CPUs: 1
>> Memory: 1024M
>> UUID: 00000000-0000-0000-0000-000000000000
>> CPU type PowerPC,G4
milliseconds isn't unique.
Welcome to OpenBIOS v1.1 built on Jun 9 2016 11:48
Trying hd:,\\:tbxi...
>> MAC-PARTS: macparts_probe 4552 ?= 4552
>> MAC-PARTS: macparts_open ',\\:tbxi'
>> MAC-PARTS: parstr: <NULL>  argstr: \\:tbxi  parnum: -1
>> MAC-PARTS: want_bootcode 0
>> MAC-PARTS: macparts_open -1
>> MAC-PARTS: mac-parts: counted 4 partitions
>> MAC-PARTS: found partition 1 type: Apple_partition_map with status 3
>> MAC-PARTS: found partition 2 type: Apple_Free with status 0
>> MAC-PARTS: found partition 3 type: Apple_HFS with status 40000033
>> MAC-PARTS: Located Apple OF fallback partition 3
>> MAC-PARTS: found partition 4 type: Apple_Free with status 0
>> MAC-PARTS: Selected partition 3
>> MAC-PARTS: mac-parts: about to probe for fs
>> MAC-PARTS: mac-parts: done fs probe
>> MAC-PARTS: mac-parts: filesystem found on partition 3 with ph fff51010 and args \\:tbxi
>> MAC-PARTS: macparts_seek 400:
>> MAC-PARTS: macparts_seek parent offset 8008400:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 948a55c00:
>> MAC-PARTS: macparts_seek parent offset 950a5dc00:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek d01000:
>> MAC-PARTS: macparts_seek parent offset 8d09000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek ec9000:
>> MAC-PARTS: macparts_seek parent offset 8ed1000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek eca000:
>> MAC-PARTS: macparts_seek parent offset 8ed2000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a87e000:
>> MAC-PARTS: macparts_seek parent offset 152886000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a87f000:
>> MAC-PARTS: macparts_seek parent offset 152887000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a826000:
>> MAC-PARTS: macparts_seek parent offset 15282e000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a827000:
>> MAC-PARTS: macparts_seek parent offset 15282f000:
>> MAC-PARTS: macparts_read
>> search_files(): :tbxi
>> MAC-PARTS: macparts_probe 4552 ?= 4552
>> MAC-PARTS: macparts_open ',\\:tbxi'
>> MAC-PARTS: parstr: <NULL>  argstr: \\:tbxi  parnum: -1
>> MAC-PARTS: want_bootcode 0
>> MAC-PARTS: macparts_open -1
>> MAC-PARTS: mac-parts: counted 4 partitions
>> MAC-PARTS: found partition 1 type: Apple_partition_map with status 3
>> MAC-PARTS: found partition 2 type: Apple_Free with status 0
>> MAC-PARTS: found partition 3 type: Apple_HFS with status 40000033
>> MAC-PARTS: Located Apple OF fallback partition 3
>> MAC-PARTS: found partition 4 type: Apple_Free with status 0
>> MAC-PARTS: Selected partition 3
>> MAC-PARTS: mac-parts: about to probe for fs
>> MAC-PARTS: mac-parts: done fs probe
>> MAC-PARTS: mac-parts: filesystem found on partition 3 with ph fff51010 and args \\:tbxi
>> MAC-PARTS: macparts_seek 400:
>> MAC-PARTS: macparts_seek parent offset 8008400:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 948a55c00:
>> MAC-PARTS: macparts_seek parent offset 950a5dc00:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek d01000:
>> MAC-PARTS: macparts_seek parent offset 8d09000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek ec9000:
>> MAC-PARTS: macparts_seek parent offset 8ed1000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek eca000:
>> MAC-PARTS: macparts_seek parent offset 8ed2000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a87e000:
>> MAC-PARTS: macparts_seek parent offset 152886000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a87f000:
>> MAC-PARTS: macparts_seek parent offset 152887000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a826000:
>> MAC-PARTS: macparts_seek parent offset 15282e000:
>> MAC-PARTS: macparts_read
>> MAC-PARTS: macparts_seek 14a827000:




More information about the OpenBIOS mailing list