[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