Voodooprojects

Chameleon => General Discussion => Topic started by: rekursor on November 19, 2011, 03:00:54 AM

Title: ChameleonPrefPane revived
Post by: rekursor on November 19, 2011, 03:00:54 AM
Hi folks,
it's been a while I didn't have a look to our booter+preference pane app,

I'd like to get some feedback if possible on my recent changes, I'm currently implementing a new partition extractor engine based on more advanced objc API, so now I don't rely on diskutil anymore.

Now I can efficiently extract Volume UUID for each partitions,  but I noticed uuid implementation on chameleons is unfortunately not compatible for windows partitions with those uuids calculated for hfs partitions. it looks like only a 32 bits portion of  the uuid is stored internally at chameleon boot time making impossible to match these windows (i.e.) NTFS partitions uuids with the ones that are available on OSX (4-2-2-2-6 sequences of bytes )

That's too bad because if we could harmonize the way we construct uuid's in the booter with the uuids available once  in OSX ; I could setup automatically this uuid to match and therefore avoid nasty side effects of hd(x,y) part numbers not matching once in OSX with those at chameleon boot time ...

Once this is sorted out, it is a piece of cake to add more intuitive features (like partitions renaming and even hide/show partitions from the table list view on clean fundations.

Use of UUIDs for the preference panel is an old idea and I think we could do it now, then freeze functionality won't be necessary anymore as unique ids will be the preferred way to specify a particular partition ;-)


If other devs wants to participate here, they are welcome.

-Rek
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on November 19, 2011, 10:51:43 AM
Welcome back Rek. It's been a long time!

I've been very busy this last couple of weeks with a major project in my day job and will be for probably another week or two so I've had little time for anything hack related.  As a result I didn't realise you've been working on the prefpane again. Nice.

To be honest I haven't used your prefpane in a long time so it will be nice to get involved again, though at a basic level as I'm not a dev, which brings me to how do I compile it for testing?  I've currently got Xcode 4.2 installed.  :P

I won't be able to give my full attention for a while but at least I could provide piecemeal feedback over the next couple of weeks if that's any help to you?

Hopefully others will join and help you.

Regards
blackosx
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on November 20, 2011, 10:59:46 AM
Testing the latest build (commit 364) from the forge:
http://forge.voodooprojects.org/p/chameleonApplications/source/tree/HEAD/trunk/ChameleonPrefPane/bin/OSX106

I no longer user 10.6 so I am testing on 10.7. It won't run as I receive the following:
Preferences Error, Could not load Chameleon preference pane.

Screenshot attached.
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on November 21, 2011, 11:31:13 PM
Rek - Here's dump from system log when Chameleon pref pane fails to load in 10.7.2
Code: [Select]
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: unlockFocus called too many time.
Nov 21 22:29:31: --- last message repeated 1 time ---
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: org.chameleon.Chameleon failed to load.
NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: (
0   CoreFoundation                      0x00007fff94397286 __exceptionPreprocess + 198
1   libobjc.A.dylib                     0x00007fff8b304d5e objc_exception_throw + 43
2   CoreFoundation                      0x00007fff943970ba +[NSException raise:format:arguments:] + 106
3   CoreFoundation                      0x00007fff94397044 +[NSException raise:format:] + 116
4   Foundation                          0x00007fff8e49433d -[NSRLEArray objectAtIndex:effectiveRange:] + 117
5   Foundation                          0x00007fff8e494281 -[NSConcreteAttributedString attributesAtIndex:effectiveRange:] + 48
6   Chameleon                           0x000000010c1eeec5 -[CenteredTextFieldCell drawInteriorWithFrame:inView:] + 180
7   AppKit                              0x00007fff8fb81b66 -[NSTableView drawRow:clipRect:] + 1647
8   AppKit                              0x00007fff8fb81343 -[NSTableView drawRowIndexes:clipRect:] + 565
9   AppKit                              0x00007fff8fb7f465 -[NSTableView drawRect:] + 1390
10  AppKit                              0x00007fff8fc69782 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:] + 1435
11  AppKit                              0x00007fff8fc87a26 __-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke_1 + 94
12  AppKit                              0x00007fff8fc876d4 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2001
13  QuartzCore                          0x00007fff8ef109bc -[CALayer drawInContext:] + 145
14  QuartzCore                          0x00007fff8ef0fb05 CABackingStoreUpdate_ + 3221
15  QuartzCore                          0x00007fff8ef0ea14 _ZN2CA5Layer8display_Ev + 1086
16  QuartzCore                          0x00007fff8ef06724 _ZN2CA5Layer17display_if_neededEPNS_11TransactionE + 560
17  QuartzCore                          0x00007fff8ef056d7 _ZN2CA7Context18commit_transactionEPNS_11TransactionE + 319
18  QuartzCore                          0x00007fff8ef05454 _ZN2CA11Transaction6commitEv + 274
19  QuartzCore                          0x00007fff8ef04a55 _ZN2CA11Transaction17observer_callbackEP19__CFRunLoopObservermPv + 63
20  CoreFoundation                      0x00007fff94356f37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
21  CoreFoundation                      0x00007fff94356e96 __CFRunLoopDoObservers + 374
22  CoreFoundation                      0x00007fff9432bb02 CFRunLoopRunSpecific + 258
23  HIToolbox                           0x00007fff88ba23d3 RunCurrentEventLoopInMode + 277
24  HIToolbox                           0x00007fff88ba958f ReceiveNextEventCommon + 181
25  HIToolbox                           0x00007fff88ba94ca BlockUntilNextEventMatchingListInMode + 62
26  AppKit                              0x00007fff8fa9a3f1 _DPSNextEvent + 659
27  AppKit                              0x00007fff8fa99cf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
28  AppKit                              0x00007fff8fa9662d -[NSApplication run] + 470
29  AppKit                              0x00007fff8fd1580c NSApplicationMain + 867
30  System Preferences                  0x0000000108e79dbc System Preferences + 7612
31  ???                                 0x0000000000000002 0x0 + 2
)
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: unlockFocus called too many time.
Nov 21 22:29:31: --- last message repeated 1 time ---
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: (
0   CoreFoundation                      0x00007fff94397286 __exceptionPreprocess + 198
1   libobjc.A.dylib                     0x00007fff8b304d5e objc_exception_throw + 43
2   CoreFoundation                      0x00007fff943970ba +[NSException raise:format:arguments:] + 106
3   CoreFoundation                      0x00007fff94397044 +[NSException raise:format:] + 116
4   Foundation                          0x00007fff8e49433d -[NSRLEArray objectAtIndex:effectiveRange:] + 117
5   Foundation                          0x00007fff8e494281 -[NSConcreteAttributedString attributesAtIndex:effectiveRange:] + 48
6   Chameleon                           0x000000010c1eeec5 -[CenteredTextFieldCell drawInteriorWithFrame:inView:] + 180
7   AppKit                              0x00007fff8fb81b66 -[NSTableView drawRow:clipRect:] + 1647
8   AppKit                              0x00007fff8fb81343 -[NSTableView drawRowIndexes:clipRect:] + 565
9   AppKit                              0x00007fff8fb7f465 -[NSTableView drawRect:] + 1390
10  AppKit                              0x00007fff8fc69782 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:] + 1435
11  AppKit                              0x00007fff8fc87a26 __-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke_1 + 94
12  AppKit                              0x00007fff8fc876d4 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2001
13  QuartzCore                          0x00007fff8ef109bc -[CALayer drawInContext:] + 145
14  QuartzCore                          0x00007fff8ef0fb05 CABackingStoreUpdate_ + 3221
15  QuartzCore                          0x00007fff8ef0ea14 _ZN2CA5Layer8display_Ev + 1086
16  AppKit                              0x00007fff8fc228be -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 163
17  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
18  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
19  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
20  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
21  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
22  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
23  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
24  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
25  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
26  AppKit                              0x00007fff8fc22541 -[NSView(NSLayerKitGlue) _drawRectAsLayerTree:] + 128
27  AppKit                              0x00007fff8fae624f -[NSView _drawRect:clip:] + 4382
28  AppKit                              0x00007fff8fb138c4 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1583
29  AppKit                              0x00007fff8fb13cf0 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2651
30  AppKit                              0x00007fff8fae35ba -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 1032
31  AppKit                              0x00007fff8fae2ab3 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 270
32  AppKit                              0x00007fff8faddec9 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4755
33  AppKit                              0x00007fff8fad693e -[NSView displayIfNeeded] + 1676
34  AppKit                              0x00007fff8fad607d _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints + 648
35  CoreFoundation                      0x00007fff94356f37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
36  CoreFoundation                      0x00007fff94356e96 __CFRunLoopDoObservers + 374
37  CoreFoundation                      0x00007fff9432c159 __CFRunLoopRun + 825
38  CoreFoundation                      0x00007fff9432bae6 CFRunLoopRunSpecific + 230
39  HIToolbox                           0x00007fff88ba23d3 RunCurrentEventLoopInMode + 277
40  HIToolbox                           0x00007fff88ba958f ReceiveNextEventCommon + 181
41  HIToolbox                           0x00007fff88ba94ca BlockUntilNextEventMatchingListInMode + 62
42  AppKit                              0x00007fff8fa9a3f1 _DPSNextEvent + 659
43  AppKit                              0x00007fff8fa99cf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
44  AppKit                              0x00007fff8fa9662d -[NSApplication run] + 470
45  AppKit                              0x00007fff8fd1580c NSApplicationMain + 867
46  System Preferences                  0x0000000108e79dbc System Preferences + 7612
47  ???                                 0x0000000000000002 0x0 + 2
)
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: unlockFocus called too many time.
Nov 21 22:29:31: --- last message repeated 1 time ---
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: NSMutableRLEArray objectAtIndex:effectiveRange:: Out of bounds
Nov 21 22:29:31 Blackosxs-Mac-Pro System Preferences[539]: (
0   CoreFoundation                      0x00007fff94397286 __exceptionPreprocess + 198
1   libobjc.A.dylib                     0x00007fff8b304d5e objc_exception_throw + 43
2   CoreFoundation                      0x00007fff943970ba +[NSException raise:format:arguments:] + 106
3   CoreFoundation                      0x00007fff94397044 +[NSException raise:format:] + 116
4   Foundation                          0x00007fff8e49433d -[NSRLEArray objectAtIndex:effectiveRange:] + 117
5   Foundation                          0x00007fff8e494281 -[NSConcreteAttributedString attributesAtIndex:effectiveRange:] + 48
6   Chameleon                           0x000000010c1eeec5 -[CenteredTextFieldCell drawInteriorWithFrame:inView:] + 180
7   AppKit                              0x00007fff8fb81b66 -[NSTableView drawRow:clipRect:] + 1647
8   AppKit                              0x00007fff8fb81343 -[NSTableView drawRowIndexes:clipRect:] + 565
9   AppKit                              0x00007fff8fb7f465 -[NSTableView drawRect:] + 1390
10  AppKit                              0x00007fff8fc69782 -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:] + 1435
11  AppKit                              0x00007fff8fc87a26 __-[NSView(NSLayerKitGlue) drawLayer:inContext:]_block_invoke_1 + 94
12  AppKit                              0x00007fff8fc876d4 -[NSView(NSLayerKitGlue) _drawViewBackingLayer:inContext:drawingHandler:] + 2001
13  QuartzCore                          0x00007fff8ef109bc -[CALayer drawInContext:] + 145
14  QuartzCore                          0x00007fff8ef0fb05 CABackingStoreUpdate_ + 3221
15  QuartzCore                          0x00007fff8ef0ea14 _ZN2CA5Layer8display_Ev + 1086
16  AppKit                              0x00007fff8fc228be -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 163
17  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
18  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
19  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
20  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
21  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
22  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
23  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
24  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
25  AppKit                              0x00007fff8fc229d4 -[NSView(NSInternal) _recursiveDisplayViewsIntoLayersIfNeeded] + 441
26  AppKit                              0x00007fff8fc22541 -[NSView(NSLayerKitGlue) _drawRectAsLayerTree:] + 128
27  AppKit                              0x00007fff8fae624f -[NSView _drawRect:clip:] + 4382
28  AppKit                              0x00007fff8fb138c4 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 1583
29  AppKit                              0x00007fff8fb13cf0 -[NSView _recursiveDisplayAllDirtyWithLockFocus:visRect:] + 2651
30  AppKit                              0x00007fff8fae35ba -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 1032
31  AppKit                              0x00007fff8fae2ab3 -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 270
32  AppKit                              0x00007fff8faddec9 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 4755
33  AppKit                              0x00007fff8fad693e -[NSView displayIfNeeded] + 1676
34  AppKit                              0x00007fff8fad607d _handleWindowNeedsDisplayOrLayoutOrUpdateConstraints + 648
35  CoreFoundation                      0x00007fff94356f37 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
36  CoreFoundation                      0x00007fff94356e96 __CFRunLoopDoObservers + 374
37  CoreFoundation                      0x00007fff9432c159 __CFRunLoopRun + 825
38  CoreFoundation                      0x00007fff9432bae6 CFRunLoopRunSpecific + 230
39  HIToolbox                           0x00007fff88ba23d3 RunCurrentEventLoopInMode + 277
40  HIToolbox                           0x00007fff88ba958f ReceiveNextEventCommon + 181
41  HIToolbox                           0x00007fff88ba94ca BlockUntilNextEventMatchingListInMode + 62
42  AppKit                              0x00007fff8fa9a3f1 _DPSNextEvent + 659
43  AppKit                              0x00007fff8fa99cf5 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 135
44  AppKit                              0x00007fff8fa9662d -[NSApplication run] + 470
45  AppKit                              0x00007fff8fd1580c NSApplicationMain + 867
46  System Preferences                  0x0000000108e79dbc System Preferences + 7612
47  ???                                 0x0000000000000002 0x0 + 2
)
Title: Re: ChameleonPrefPane revived
Post by: rekursor on November 27, 2011, 09:25:53 PM
Make sure you uninstalled and reinstall the prefpane, i most of the time only test the user local install (not the install for all users though I'm confident it should work as well).
The 368 fixes few more issues,notably with privileges for the rescue disk boot cd creator.
Make sure you use the bin/OSX106 folder content don't use your own builds yet until you have something working.

I'd like someone to check the international resources, something has been messed since I came back to it and haven't too much time to go to it.

There's also an absolute path dependency in the project currently, so to be able to build it , the easiest way right now should be to create a folder named exactly:
~/devl/OSX/voodoo/chameleonApplications/trunk/ChameleonPrefPane
and put the trunk source into it and build.
BTW I use XCode 3.2.6

If I remember you use an efi dedicated partition for install, that could be interesting to understand why your config has a problem with the prefpane ...
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on November 29, 2011, 12:24:13 AM
Make sure you uninstalled and reinstall the prefpane, i most of the time only test the user local install (not the install for all users though I'm confident it should work as well).
That was the first thing I tried. It makes no difference.
I've even tried on a backup 10.7.1 system here which never previously had the Chameleon pref pane installed and I still see the same error.

Make sure you use the bin/OSX106 folder content don't use your own builds yet until you have something working.
Yes. I'm using the binary from bin/OSX106.

There's also an absolute path dependency in the project currently, so to be able to build it , the easiest way right now should be to create a folder named exactly:
~/devl/OSX/voodoo/chameleonApplications/trunk/ChameleonPrefPane
and put the trunk source into it and build.
BTW I use XCode 3.2.6
I did spot the absolute path as one of the errors flagged by Xcode but I had no idea how to fix. Thanks for the pointer and I have now moved the source to the correct location, so that's one error less. I've attached a screenshot from Xcode 4.2 to show you what I see  :P

Though I no longer have the need to build it from source since you've now included an up to date binary.

If I remember you use an efi dedicated partition for install, that could be interesting to understand why your config has a problem with the prefpane ...
I'm using a separate standard 1GB disk partition dedicated for Chameleon. Not the EFI system partition.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on November 29, 2011, 02:54:56 AM
The screenshot displays a Xcode 4.2 version and I said I only built it with 3.2.6
You can install 3.2.6 in Lion without problems, in fact I'm testing Lion right now on two 10.7.2 Lion machines  (including one genuine imac 27" !) and in both lion systems, that launches in the prefpane with no worries.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on November 29, 2011, 03:13:03 AM
I got more feedback of the only other guy for whom it's not working ; it seems that some partition might cause a crash ...
If you can install Xcode 3.2.6 and then open the test_util project (a new unit testing project I recently added) and tell me if it crashes that would be great.
you might find easier to compile and run that small (console) project.
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on November 29, 2011, 08:25:46 PM
The test util app builds and runs just fine. (I managed to do that  :P)
Here's the result:

Code: [Select]
2011-11-29 19:22:38.707 test_util[284:707] List of existing bsd disk partitions:
 (
    disk0,
    disk0s1,
    disk0s2,
    disk0s3,
    disk0s4,
    disk0s5,
    disk0s6,
    disk0s7,
    disk1,
    disk1s1,
    disk1s2,
    disk1s3,
    disk1s4
)
2011-11-29 19:22:38.717 test_util[284:707] PartionBootable = 1
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     HackBoot
  volumeKind     hfs
  volumeUUID     80CF3629-91E3-3F3F-B577-7D79DAFFB552
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:2
  mediaRemovable 0
)
2011-11-29 19:22:38.717 test_util[284:707] PartionBootable = 1
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     MainSystem
  volumeKind     hfs
  volumeUUID     FE56DE3D-9461-364B-A6B1-447A18B47549
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:3
  mediaRemovable 0
)
2011-11-29 19:22:38.718 test_util[284:707] PartionBootable = 0
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     WINDOWS
  volumeKind     msdos
  volumeUUID     
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:4
  mediaRemovable 0
)
2011-11-29 19:22:38.718 test_util[284:707] PartionBootable = 1
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     BackupSystem
  volumeKind     hfs
  volumeUUID     C973B5A8-BA80-3139-B81D-4F9D46B05204
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:5
  mediaRemovable 0
)
2011-11-29 19:22:38.719 test_util[284:707] PartionBootable = 1
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac OS X Base System
  volumeKind     hfs
  volumeUUID     80315E1E-FC03-3082-A3C4-24FEF5048C4F
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:6
  mediaRemovable 0
)
2011-11-29 19:22:38.719 test_util[284:707] PartionBootable = 0
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Store
  volumeKind     hfs
  volumeUUID     2D73BAFD-2D77-3C2C-A62B-76F3ACDA85DE
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:7
  mediaRemovable 0
)
2011-11-29 19:22:38.719 test_util[284:707] PartionBootable = 1
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac
  volumeKind     hfs
  volumeUUID     E3EA05BB-E64C-3ED9-96C5-832B84677FE0
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
  mediaRemovable 0
)
2011-11-29 19:22:38.720 test_util[284:707] PartionBootable = 0
(
  bsdName        (null)
  deviceProtocol SATA
  deviceInternal 1
  volumeName     SPARE
  volumeKind     msdos
  volumeUUID     
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:4
  mediaRemovable 0
)
2011-11-29 19:22:38.721 test_util[284:707]  Rename part HackBoot -> Test
2011-11-29 19:22:38.721 test_util[284:707]  Rename part MainSystem -> Fantastic
2011-11-29 19:22:38.721 test_util[284:707]  Rename part WINDOWS -> A BC
2011-11-29 19:22:38.722 test_util[284:707]  Rename part HackBoot -> DEF
logout

[Process completed]
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 01, 2011, 01:53:33 AM
Wow this appears *not* to be  fine :)
Thank you, at least I fixed why we wouldn't see the bsdName in the data structure ...
I'm in the midst of finishing the BIOS feature by adding smbios info directly from IORegistry, so I'm not sure I'll build a new bin now :)
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 01, 2011, 02:50:50 AM
Please try latest r372 bin, might fix your problem now hopefully ...
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 01, 2011, 08:01:14 AM
I had 10 minutes before work this morning so had a quick test.
Here's the latest result (now with SMBIOS info) from the new testutil:
Code: [Select]
2011-12-01 06:51:50.172 test_util[277:707] Found SMBIOS (5412) [00180000010200f0031f90de8b7f010000003305080fffff4170706c6520436f6d70757465722c20496e632e004d5034312e38385a2e303038312e4230342e303930333035313131330031312f30362f323030390000011b010001020304006f001e8c0000b91efa90e6ba9d20300605064170706c6520496e632e004d616350726f342c3100312e3000434b39323634343334504300546f2042652046696c6c6564204279204f2e452e4d2e004d616350726f0000020f02000102030405090603000a004170706c6520496e632e004d61632d46323231424543380052657620322e78780031303234333933313030303031323800546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e000003150300010302030403030303110000000001000043686173736973204d616e756661637475726500436861737369732056657273696f6e00436861737369732053657269616c204e756d6265720041737365742d313233343536373839300000042804000103c602a5060100fffbebbf038c85006e0a6a0a410105000600070004050604040804004c47413133363600496e74656c00496e74656c28522920436f726528544d292069372043505520393230204020322e363747487a00546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e0000071305000180000001000101000100000403054c312d43616368650000071306000181000004000401000100000505074c322d43616368650000071307000182010020002001000100000505084c332d43616368650000051c0800060403030c0c000005020609000a000b000c000d000e00040000060c0900011f0100010b0b0044494d4d300000060c0a0001000002007f7f0044494d4d310000060c0b00013f0100010b0b0044494d4d320000060c0c0001000002007f7f0044494d4d330000060c0d00015f0100010b0b0044494d4d340000060c0e0001000002007f7f0044494d4d35000008090f000100020f0d50532f32204b6579626f6172640050532f32204b6579626f6172640000080910000100021210555342313200555342313200000809110001000212105553423334005553423334000008091200010002121055534235360055534235360000080913000100021210555342373800555342373800000809140001000221114945313339345f310049454545313339342031000008091500010002212045534154410045534154410000080916000100020b1f4c414e3100476245204c414e2031000008091700010002ff1d415544494f00415544494f0000080918000100021f1d417564696f204c696e65204f75743100417564696f204c696e65204f7574310000080919000100021f1d417564696f204c696e65204f75743200417564696f204c696e65204f757432000008091a000100021f1d417564696f204c696e65204f75743300417564696f204c696e65204f757433000008091b000100021f1d417564696f204c696e65204f75743400417564696f204c696e65204f757434000008091c000100021f1d417564696f204c696e65204f75743500417564696f204c696e65204f757435000008091d000100021f1d417564696f204c696e65204f75743600417564696f204c696e65204f757436000008091e0001220000205341544131000008091f00012200002053415441320000080920000122000020534154413300000809210001220000205341544134000008092200012200002053415441350000080923000122000020534154413600000809240001220000205052495f45494445000008092500011200001055534239313000000809260001120000105553423131313200000809270001120000105553423133313400000809280001210000114945313339345f32000008092900011c00001d4344000008092a00011f00001d41414650000008092b0001ff0000ff4350555f46414e000008092c0001ff0000ff4348415f46414e31000008092d0001ff0000ff4348415f46414e32000008092e00011c00001d53504449465f4f5554000008092f00011c00001d46505f415544494f0000090d300001a505040301000c01536c6f742d310000090d310001a505030302000c01536c6f742d320000090d320001a505030303000c01536c6f742d330000090d3300010605030304000c01536c6f742d3400000a0634008501204f6e626f6172642045746865726e657400000b05350004546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e00546f2042652046696c6c6564204279204f2e452e4d2e00000d163600060000000000000000000000000000000001656e7c55537c69736f383835392d31007a687c5a487c69736f383835392d310064657c44457c69736f383835392d3100636e7c434e7c69736f383835392d310066727c46527c69736f383835392d31006a617c4a507c756e69636f64652d3100000f373700f00310201020a0010000000000c0fbff000102a004ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000100f380003030600008001feff06000000130f390000000000000000003800010000111b3a003800feff4800400000080900010218020037050304050644494d4d300042414e4b3000436f72736169720030303030303030300041737365745461674e756d3000434d33583247313333334339000014133b0000000000000000003a00390001ff020000111b3c003800feff4800400000000900010201020000000304050644494d4d310042414e4b31004e2f41004e2f410041737365745461674e756d31004e2f41000014133d0000000000000000003c00390001ff020000111b3e003800feff4800400000080900010218020037050304050644494d4d320042414e4b3200436f72736169720030303030303030300041737365745461674e756d3200434d33583247313333334339000014133f0000000000000000003e00390001ff020000111b40003800feff4800400000000900010201020000000304050644494d4d330042414e4b33004e2f41004e2f410041737365745461674e756d33004e2f4100001413410000000000000000004000390001ff020000111b42003800feff4800400000080900010218020037050304050644494d4d340042414e4b3400436f72736169720030303030303030300041737365745461674e756d3400434d3358324731333333433900001413430000000000000000004200390001ff020000111b44003800feff4800400000000900010201020000000304050644494d4d350042414e4b35004e2f41004e2f410041737365745461674e756d35004e2f4100001413450000000000000000004400390001ff020000201446000000000000000000000000000000000000008b5e4700001e8c0000b91efa04043255f800a202a10040634310848303df4080002000733c100800600f4310150420003c10000000431000000000000000000000000000fa1eb9ffff8c1e000400002333000000000000000000000000015631333934475549440000830647000107000084064800001900007f0449000000]

Type: 0, Length: 24, Handle: 0x0
BIOSInformation:
vendor: Apple Computer, Inc.
version: MP41.88Z.0081.B04.0903051113
releaseDate: 11/06/2009

Type: 1, Length: 27, Handle: 0x1
SystemInformation:
manufacturer: Apple Inc.
productName: MacPro4,1
version: 1.0
serialNumber: CK9524434PC
Type: 2, Length: 15, Handle: 0x2
BaseBoard:
manufacturer: Apple Inc.
product: Mac-F221BEC8
version: Rev 2.xx
serialNumber: 102439310000128
assetTagNumber: To Be Filled By O.E.M.
locationInChassis: To Be Filled By O.E.M.
boardType: 0xA

Type: 3, Length: 21, Handle: 0x3
SystemEnclosure:
manufacturer: Chassis Manufacture
type: 3
version: Chassis Version
serialNumber: Chassis Serial Number
assetTagNumber: Asset-1234567890

Type: 4, Length: 40, Handle: 0x4
ProcessorInformation:
socketDesignation: LGA1366
processorType: 3
processorFamily: 0xC6
manufacturer: Intel
processorID: 0xBFEBFBFF000106A5
processorVersion: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz
externalClock: 133MHz
maximumClock: 2670MHz
currentClock: 2666MHz
Type: 7, Length: 19, Handle: 0x5
Type: 7, Length: 19, Handle: 0x6
Type: 7, Length: 19, Handle: 0x7
Type: 5, Length: 28, Handle: 0x8
Type: 6, Length: 12, Handle: 0x9
Type: 6, Length: 12, Handle: 0xa
Type: 6, Length: 12, Handle: 0xb
Type: 6, Length: 12, Handle: 0xc
Type: 6, Length: 12, Handle: 0xd
Type: 6, Length: 12, Handle: 0xe
Type: 8, Length: 9, Handle: 0xf
Type: 8, Length: 9, Handle: 0x10
Type: 8, Length: 9, Handle: 0x11
Type: 8, Length: 9, Handle: 0x12
Type: 8, Length: 9, Handle: 0x13
Type: 8, Length: 9, Handle: 0x14
Type: 8, Length: 9, Handle: 0x15
Type: 8, Length: 9, Handle: 0x16
Type: 8, Length: 9, Handle: 0x17
Type: 8, Length: 9, Handle: 0x18
Type: 8, Length: 9, Handle: 0x19
Type: 8, Length: 9, Handle: 0x1a
Type: 8, Length: 9, Handle: 0x1b
Type: 8, Length: 9, Handle: 0x1c
Type: 8, Length: 9, Handle: 0x1d
Type: 8, Length: 9, Handle: 0x1e
Type: 8, Length: 9, Handle: 0x1f
Type: 8, Length: 9, Handle: 0x20
Type: 8, Length: 9, Handle: 0x21
Type: 8, Length: 9, Handle: 0x22
Type: 8, Length: 9, Handle: 0x23
Type: 8, Length: 9, Handle: 0x24
Type: 8, Length: 9, Handle: 0x25
Type: 8, Length: 9, Handle: 0x26
Type: 8, Length: 9, Handle: 0x27
Type: 8, Length: 9, Handle: 0x28
Type: 8, Length: 9, Handle: 0x29
Type: 8, Length: 9, Handle: 0x2a
Type: 8, Length: 9, Handle: 0x2b
Type: 8, Length: 9, Handle: 0x2c
Type: 8, Length: 9, Handle: 0x2d
Type: 8, Length: 9, Handle: 0x2e
Type: 8, Length: 9, Handle: 0x2f
Type: 9, Length: 13, Handle: 0x30
Type: 9, Length: 13, Handle: 0x31
Type: 9, Length: 13, Handle: 0x32
Type: 9, Length: 13, Handle: 0x33
Type: 10, Length: 6, Handle: 0x34
Type: 11, Length: 5, Handle: 0x35
Type: 13, Length: 22, Handle: 0x36
Type: 15, Length: 55, Handle: 0x37
Type: 16, Length: 15, Handle: 0x38
Type: 19, Length: 15, Handle: 0x39
Type: 17, Length: 27, Handle: 0x3a
MemoryDevice:
deviceLocator: DIMM0
bankLocator: BANK0
memoryType: DDR3
memorySpeed: 1335MHz
manufacturer: Corsair
serialNumber: 00000000
assetTag: AssetTagNum0
partNumber: CM3X2G1333C9

Type: 20, Length: 19, Handle: 0x3b
Type: 17, Length: 27, Handle: 0x3c
MemoryDevice:
deviceLocator: DIMM1
bankLocator: BANK1
memoryType: RAM
memorySpeed: 0MHz
manufacturer: N/A
serialNumber: N/A
assetTag: AssetTagNum1
partNumber: N/A

Type: 20, Length: 19, Handle: 0x3d
Type: 17, Length: 27, Handle: 0x3e
MemoryDevice:
deviceLocator: DIMM2
bankLocator: BANK2
memoryType: DDR3
memorySpeed: 1335MHz
manufacturer: Corsair
serialNumber: 00000000
assetTag: AssetTagNum2
partNumber: CM3X2G1333C9

Type: 20, Length: 19, Handle: 0x3f
Type: 17, Length: 27, Handle: 0x40
MemoryDevice:
deviceLocator: DIMM3
bankLocator: BANK3
memoryType: RAM
memorySpeed: 0MHz
manufacturer: N/A
serialNumber: N/A
assetTag: AssetTagNum3
partNumber: N/A

Type: 20, Length: 19, Handle: 0x41
Type: 17, Length: 27, Handle: 0x42
MemoryDevice:
deviceLocator: DIMM4
bankLocator: BANK4
memoryType: DDR3
memorySpeed: 1335MHz
manufacturer: Corsair
serialNumber: 00000000
assetTag: AssetTagNum4
partNumber: CM3X2G1333C9

Type: 20, Length: 19, Handle: 0x43
Type: 17, Length: 27, Handle: 0x44
MemoryDevice:
deviceLocator: DIMM5
bankLocator: BANK5
memoryType: RAM
memorySpeed: 0MHz
manufacturer: N/A
serialNumber: N/A
assetTag: AssetTagNum5
partNumber: N/A

Type: 20, Length: 19, Handle: 0x45
Type: 32, Length: 20, Handle: 0x46
Type: 139, Length: 94, Handle: 0x47
Type: 131, Length: 6, Handle: 0x47
AppleProcessorType:
ProcessorType: 0x701

Type: 132, Length: 6, Handle: 0x48
AppleProcessorBusSpeed:
ProcessorBusSpeed (QPI): 6.4GT/s

Type: 127, Length: 4, Handle: 0x49

2011-12-01 06:51:50.178 test_util[277:707] List of existing bsd disk partitions:
 (
    disk0,
    disk0s1,
    disk0s2,
    disk0s3,
    disk0s4,
    disk0s5,
    disk0s6,
    disk0s7,
    disk1,
    disk1s1,
    disk1s2,
    disk1s3,
    disk1s4
)
2011-12-01 06:51:50.187 test_util[277:707] PartionBootable = 1
(
  bsdName        disk0s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     HackBoot
  volumeKind     hfs
  volumeUUID     80CF3629-91E3-3F3F-B577-7D79DAFFB552
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-01 06:51:50.187 test_util[277:707] PartionBootable = 1
(
  bsdName        disk0s3
  deviceProtocol SATA
  deviceInternal 1
  volumeName     MainSystem
  volumeKind     hfs
  volumeUUID     FE56DE3D-9461-364B-A6B1-447A18B47549
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:3
  mediaRemovable 0
)
2011-12-01 06:51:50.187 test_util[277:707] PartionBootable = 0
(
  bsdName        disk0s4
  deviceProtocol SATA
  deviceInternal 1
  volumeName     WINDOWS
  volumeKind     msdos
  volumeUUID     
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:4
  mediaRemovable 0
)
2011-12-01 06:51:50.188 test_util[277:707] PartionBootable = 1
(
  bsdName        disk0s5
  deviceProtocol SATA
  deviceInternal 1
  volumeName     BackupSystem
  volumeKind     hfs
  volumeUUID     C973B5A8-BA80-3139-B81D-4F9D46B05204
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:5
  mediaRemovable 0
)
2011-12-01 06:51:50.188 test_util[277:707] PartionBootable = 1
(
  bsdName        disk0s6
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac OS X Base System
  volumeKind     hfs
  volumeUUID     80315E1E-FC03-3082-A3C4-24FEF5048C4F
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:6
  mediaRemovable 0
)
2011-12-01 06:51:50.189 test_util[277:707] PartionBootable = 0
(
  bsdName        disk0s7
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Store
  volumeKind     hfs
  volumeUUID     2D73BAFD-2D77-3C2C-A62B-76F3ACDA85DE
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:7
  mediaRemovable 0
)
2011-12-01 06:51:50.189 test_util[277:707] PartionBootable = 1
(
  bsdName        disk1s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac
  volumeKind     hfs
  volumeUUID     E3EA05BB-E64C-3ED9-96C5-832B84677FE0
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-01 06:51:50.189 test_util[277:707] PartionBootable = 0
(
  bsdName        disk1s4
  deviceProtocol SATA
  deviceInternal 1
  volumeName     SPARE
  volumeKind     msdos
  volumeUUID     
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:4
  mediaRemovable 0
)
2011-12-01 06:51:50.190 test_util[277:707]  Rename part HackBoot -> Test
2011-12-01 06:51:50.190 test_util[277:707]  Rename part MainSystem -> Fantastic
2011-12-01 06:51:50.191 test_util[277:707]  Rename part WINDOWS -> A BC
2011-12-01 06:51:50.191 test_util[277:707]  Rename part HackBoot -> DEF
logout

[Process completed]


However, unfortunately, the latest pref pane still doesn't load.
The only thing I see in the system log now is:
Code: [Select]
Dec  1 06:58:24 Blackosxs-Mac-Pro System Preferences[424]: org.chameleon.Chameleon failed to load.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 02, 2011, 03:53:17 AM
Did you test with a more common  mac pro 3.1 smbios.plist definition as opposed to a 4.1 definition (could matter, especially on Lion) ? 
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 02, 2011, 04:08:18 AM
EDIT: a problem with r372 happened and this was not the version I expected, please try now, (release build was old, only built in debug for which the batch that generates the bin has no effect).
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 02, 2011, 07:51:20 AM
That's done it.. rev372 loads.
Thanks for spending the time to sort the problem. I haven't time to test it out this morning but I'll play with it later this evening.

:)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 02, 2011, 08:07:58 PM
Hi Rek

Just loaded the Pref pane to have a play with it and the first issue I see is the disk identifiers are all shown as hd(0,X)?  Even those that should be hd(1,X).

See attached screenshot.

EDIT: Clicking 'Swap hd 0<->1' on the Boot Setup page corrects the hd identifiers on the Startup Disk page. It's just not right on initial load.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 03, 2011, 01:59:17 AM
Thanks, this is FIXED in r378 and also restored corrupted status text, dunno who broke that but that's restored now :)
Also fixed authorizations on Lion in rev 380
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 03, 2011, 09:45:51 AM
Testing rev 381 now and yes the HD identifiers are now correctly shown on launch. And now, clicking the Swap hd 0<->1 checkbox now correctly swaps the hd identifiers on the Startup Disk page, which it didn't before. Thanks.

Okay time for another test and report (one at a time....  ;))

I like the new 'Error while searching for org.chameleon.Boot.plist' message. Thing is I haven't been able to get the pref pane to find my /Extra/org.chameleon.Boot.plist. I can point to it in the 'Boot Config Path' (see attached pic) on the Boot Setup page but that doesn't change the status of the red error message, or populate the pref pane with my boot options etc.

To give an overview. Right now my system is set up with with 2 HDD's. One HDD has a partition named 'Mac' which contains an OS X Lion installation and also has my /Extra folder. I boot in to Chameleon on that HDD then choose to select and boot another OS X installation on the other HDD named 'MainSystem. It's from this system that I am running now and have the pref pane running from. (You can see my diskutil list in my earlier post above if it helps.)

So to conclude. The pref pane doesn't find my /Extra folder (the path to it is shown in the attached pic).
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 03, 2011, 05:51:38 PM
Fixed in r383 Thanks!
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 03, 2011, 07:10:15 PM
Fix confirmed.  :)
I'll test some more when I get a chance.
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 03, 2011, 10:03:47 PM
Hi rekursor
I try to "build" myself your last 385 (Fixed xcode 4 incompatibilities, cleaned up warnings and error in xcode4)

But I still have some warnings and Errors...
Some warnings are related to "Chameleon.string" easy to fix just convert it from unicode-8 to 16,
but for the other... no idea  ???

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 03, 2011, 11:32:27 PM
Hi ErmaC,
it builds and compile fine here :(
On latest builds (in bin/OSX106 if you can't build them) I just Added Appla SMBIOS Extraction  8)
It also automatically open a plist file that I auto-create with your parsed SMBIOS info !

Cheers,
Rek
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 03, 2011, 11:44:30 PM
Thx for the fast reply!

Ok download/update your commit 387.
What I done....
convert the 4 Chameleon.string from UTF-8 to UTF-16, this "fix" the 4 warnings...
But still one error as you can see from the screenshot.

Maybe in the next commit I can help you with the localization (Italian)

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 03, 2011, 11:49:01 PM
EDIT:
Found the problem with Xcode 4 :)

Now there is indeed a pb with string files, It was already broken since I came back to it, so some{one|thing} must have broken them.

If you guys could have a look at them (i.e. the international ones), that would be great many thanks in advance ;)
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 04, 2011, 12:02:19 AM
Commit 389.
Nice ! encoding problem... gone.
Still one problem in "64" and two in "32"
See screenshot.

Edit:
I try to "correct" for the 32 version
from:
NSLog(@"object at column %@ row %ld Set %@", [[tableColumn headerCell] stringValue], row, object);
to:
NSLog(@"object at column %@ row %d Set %@", [[tableColumn headerCell] stringValue], row, object);

this fix the warning but make a new one in 64
 :'(
Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 12:25:02 AM
Warning are ok, though I generally get rid of them from time to time :)
It does not prevent a correct build, I am improving apple smbios dump parsings presently so i won't remove some of the warnings because they will disappear later ;)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 04, 2011, 12:25:40 AM
Hey Fabio - Good to see you here :)

Rek - Just loaded the pref pane and noticed that by default on the Boot Setup page, the Rescue Boot CD Creator shows the Extra folder as /Extra, even though the Boot Config Path above points to the correct location. Could you make the Rescue Boot CD Creator, Extra folder match the Boot Config Path, if populated? See attached screenshot.

Thanks
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 01:05:16 AM
Done in r394 :)
All paths are pointing to the same directory each time you change the extra dir location.
It should be still possible to change them before running the cd boot iso creation
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 04, 2011, 01:17:00 AM
You right rek!
Now the project compile fine with just the same warning relate to "unused uuid variable" but compile and work fine.

See the screenshot.
green box is possible localize this message? (now is showed because I use Efi partition)
blue circle.. Is possible use icon instead of actual button?
like this:
(http://cdn1.iconfinder.com/data/icons/token/Token,%20128x128,%20PNG/Power-Shutdown.png)
(http://cdn1.iconfinder.com/data/icons/ecqlipse2/POWER%20-%20RESTART.png)

Fabio
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 04, 2011, 01:51:34 AM
Well done!
commit 395 compile w/o error on my Xcode4.2(4C199)

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 02:07:28 AM
I added localization for the status error messages ...
Also, for buttons, you could externalize the strings by using the command named ibexport_all , then edit the new strings, then reimport them in the resources with xibupdate_all ;)

You can add to the localizable.strings of each locale resource folder the following (see english version for more info),
By default it will use a hardcoded english text but won't crash if the following is not present :

/* error */
"Error_Parsing" = "Error while parsing %@";

/* error */
"Error_Searching" = "Error while searching for org.chameleon.Boot.plist";

/* msgbox */
"CD_Success" = "Boot cd creator script successfully executed. BootCD.iso has been created in %@.";

/* msgbox */
"CD_Failure" = "ERROR: Couldn't execute boot cd creator script successfully!";

/* msgbox */
"Freeze_Dialog" = "Inject Partitions to Freeze Configuration";

/* msgbox */
"Freeze_NoPart" = "No current partitions to inject, did you check boot config file ?";

/* msgbox */
"Freeze_Overwrite" = "Are you sure you want to overwrite your Freeze settings with current partition list ?";
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 04, 2011, 02:36:27 AM
commit 401
(my branch)
I do some minus change for Italian Localizable.strings...
Tomorrow I try more things..
THX a lot rek!

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 03:57:08 AM
Please ErmaC refrain updating resources because I'm doing that now ...
We are colliding together !

The good news is that I found how to fix all resources, I just fixed Italian ...

Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 04:27:18 AM
That's all fixed now, Ermac you can fix the latest Italian strings
when you're done just use xibupdate_all, then build in release mode, then force the panel to fully reload (double click on the prefpane in build/release and you're done ;)
EDIT: I fixed few german+italian strings, now I'm really done on translations,
ErmaC + MacOSX please review the Italian ...
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 04, 2011, 10:37:42 AM
Hi Rek

Well done with the fast pace of development on this.

I've had a chance to do further testing this morning and here are a few more issues for you too look at:

Boot Flags page / Boot Theme - the drop down list is populated with themes I don't have in /Extra/Themes? The pref pane should ideally scan my /Extra/Themes folder and use it's contents in the list.

Boot Flags page / Time Out - The drop down list only shows 1-10. I like to set the value to 0. Though I guess a Time Out setting of 0 can be achieved by checking 'Instant Menu'. So maybe when checking 'Instant Menu', the timeout option should be disabled as it's use would be redundant?

Chameleon now has a UseKernelCache boot option for Lion which is not currently in the Pref Pane. This will need adding (Hope it doesn't mess up your layout to much?)

Advanced / debug - Clicking the debug option, and choosing a value from the drop down menu will add the appropriate string to kernel flags. However, disabling the debug checkbox doesn't remove the debug string from kernel flags?

About page - Can the current revision be shown?

BIOS page - DSDT file and SMBIOS file checkboxes and paths are currently not set. Can these be set and populated on load if the files exist in /Extra? Is this maybe why the 'Open smbios.plist' button does nothing?

BIOS page - Extract SMIBOS is working well, as is Extract ACPI. Is it worth notifying the user that the files have been dumped to ~/Desktop/Chameleon as you do when creating the Rescue Boot CD?

That's all for now  :P
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 03:00:57 PM
Boot Flags page / Boot Theme - the drop down list is populated with themes I don't have in /Extra/Themes? The pref pane should ideally scan my /Extra/Themes folder and use it's contents in the list.
This is a new feature request, not a bug: the intent of the drop is to provide a simple default text settings. Scanning the directory would be  another nice feature, so please add it in the forge as a feature request ;)
Quote

Boot Flags page / Time Out - The drop down list only shows 1-10. I like to set the value to 0. Though I guess a Time Out setting of 0 can be achieved by checking 'Instant Menu'. So maybe when checking 'Instant Menu', the timeout option should be disabled as it's use would be redundant?
FIXED I added a 0 setup, but one can set any other value instantly just by typing the number  as needed (no drop box needed) ...

Quote
Chameleon now has a UseKernelCache boot option for Lion which is not currently in the Pref Pane. This will need adding (Hope it doesn't mess up your layout to much?)
Good point, what about the dark wake ? ; please guys make a a list of new flag features and I'll add them ;)
ADDED UseKernelCache and dark wake options
Quote
Advanced / debug - Clicking the debug option, and choosing a value from the drop down menu will add the appropriate string to kernel flags. However, disabling the debug checkbox doesn't remove the debug string from kernel flags?
Once you understand the design, you usually love it: in fact unchecking won't add any flag in the plist at all but still keep the previous setup so that if you check it again (i.e. because you were not sure) you still have these options...
EDIT: FIXED :)
Quote
About page - Can the current revision be shown?
+1, please add this to the forge site ; it's also a new feature request.
Quote
BIOS page - DSDT file and SMBIOS file checkboxes and paths are currently not set. Can these be set and populated on load if the files exist in /Extra? Is this maybe why the 'Open smbios.plist' button does nothing?
There was a problem with your smbios.plist not being in /Extra -> FIXED  ;)
these are for overrides, by default you should NOT use them, it is only in the case where you have different naming for these files, then you could setup them (i.e.: DSDT_Test.aml, smbios_beta.plist and so on)

Quote
BIOS page - Extract SMBIOS is working well, as is Extract ACPI. Is it worth notifying the user that the files have been dumped to ~/Desktop/Chameleon as you do when creating the Rescue Boot CD?
That's all for now  :P
I think for SMBIOS you get the window opened with your plist, if you don't see it is probably because you simply don't have any application associated to plist files.
If you wish I could open the directory as well in that case ?
Thanks for your feedback  BlackOSX!
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 04, 2011, 08:18:04 PM
Hey Rek - Thanks for your responses and further work :)

This is a new feature request, not a bug: the intent of the drop is to provide a simple default text settings. Scanning the directory would be  another nice feature, so please add it in the forge as a feature request ;)
Now I understand the purpose of the drop down menu now, but I have to admit that it's confusing at first.
Yes, I could add a feature request at the forge, however as far as I know this has always been your baby and I don't think anybody else would pick up the request and code it. So I though asking you directly would be the best way ;)

Quote
FIXED I added a 0 setup, but one can set any other value instantly just by typing the number  as needed (no drop box needed) ...
Great. I've just tested it and it's good.

Quote
Good point, what about the dark wake ? ; please guys make a a list of new flag features and I'll add them ;)
ADDED UseKernelCache and dark wake options
Good job - just checked it. One thing I noticed is that clicking the UseKernelCache word will add the boot option. However, clicking the UseKernelCache checkbox doesn't?
For a full list of recent additions/chages it's probably easier if I point you here (http://forum.voodooprojects.org/index.php/topic,351.msg10971.html#msg10971). (Sorry if that's lazy).

Quote
Once you understand the design, you usually love it: in fact unchecking won't add any flag in the plist at all but still keep the previous setup so that if you check it again (i.e. because you were not sure) you still have these options...
EDIT: FIXED :)
The debug option now works as I would expect. Good job again.

Quote
+1, please add this to the forge site ; it's also a new feature request.
Like I said above, I could add the request at the forge, but this way I'm cutting out the middle man and going straight to the main author.. (But of course I will raise an issue if you would still like me to). :P

Quote
these are for overrides, by default you should NOT use them, it is only in the case where you have different naming for these files, then you could setup them (i.e.: DSDT_Test.aml, smbios_beta.plist and so on)
Okay. Then how about changing the section of DSDT & SMBIOS section to something like 'DSDT & SMBIOS - Alternate Files' ?

Quote
I think for SMBIOS you get the window opened with your plist, if you don't see it is probably because you simply don't have any application associated to plist files.
If you wish I could open the directory as well in that case ?
Extract SMBIOS opens a window here in Xcode which is fine, but yes I think opening the directory would also be a good choice.
The 'Open smbios.plist' button still does nothing.. So is that only to open the 'alternate' SMBIOS file?
Quote
There was a problem with your smbios.plist not being in /Extra -> FIXED 

Thanks for your feedback  BlackOSX!
You're welcome.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 08:36:13 PM
../..
Like I said above, I could add the request at the forge, but this way I'm cutting out the middle man and going straight to the main author.. (But of course I will raise an issue if you would still like me to). :P

Quote
these are for overrides, by default you should NOT use them, it is only in the case where you have different naming for these files, then you could setup them (i.e.: DSDT_Test.aml, smbios_beta.plist and so on)
Okay. Then how about changing the section of DSDT & SMBIOS section to something like 'DSDT & SMBIOS - Alternate Files' ?

Quote
I think for SMBIOS you get the window opened with your plist, if you don't see it is probably because you simply don't have any application associated to plist files.
If you wish I could open the directory as well in that case ?
Extract SMBIOS opens a window here in Xcode which is fine, but yes I think opening the directory would also be a good choice.
The 'Open smbios.plist' button still does nothing.. So is that only to open the 'alternate' SMBIOS file?
Quote
There was a problem with your smbios.plist not being in /Extra -> FIXED 

Thanks for your feedback  BlackOSX!
You're welcome.

Okay FIXED the UseKernelCacheConfig checkbox not useable (overlaid by another textfield)
the open smbios should also work now
I'll rename the dsdt smbios file functions as well as it makes sense to me ;)
Yeah you're my baby, I'll do a lot a things for my old chameleon pal, remember the booter days (1+ version per day ) ?  LOL  :lol:
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 04, 2011, 10:49:45 PM
Rev 444 available with new flags and also revision number in about
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 05, 2011, 12:09:45 AM
Okay FIXED the UseKernelCacheConfig checkbox not useable (overlaid by another textfield)
the open smbios should also work now
I'll rename the dsdt smbios file functions as well as it makes sense to me ;)
All checked and working here so more items ticked off the list.

Yeah you're my baby, I'll do a lot a things for my old chameleon pal, remember the booter days (1+ version per day ) ?  LOL  :lol:
Yes, I remember. You had quite a following when you were deploying your builds during that rapid development stage. It was from those discussions that the forge was born! The scene seems a lot quieter at the moment, though maybe I'm just out of touch.

Rev 444 available with new flags and also revision number in about
I see you added the Keyboard layouts. And the version number is a useful addition to the about box.
Though blue on black for the credits? I find it hard to read but maybe it's just late and my eyes are tired.. LOL.
I also see you implemented renaming the boot partitions from the Startup Disk page/tab as per issue 11. That's a good feature.

You've made a lot of changes today and the last week. Good job Rek.
I'll test further when I get more spare time.  ;)

Regards.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 05, 2011, 05:10:21 AM
Thank you BlackOSX,
I made few other fixes and cosmetics changes, chameleon is about green ...:)
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 05, 2011, 04:58:52 PM
Amazing work rek!
I like it!
The translation are ok (Italian)

One question about the final "Icon" into the SystemPreference...
When I build the project and then I go to Debug folder I have the Alias with the right and nice Icon
but the final icon in SystemPreference result a Icon With a "?" is this correct?

See the screenshot

Fabio
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 05, 2011, 05:11:03 PM
I try edit it by myself...
but I have no idea if is the correct way.

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 06, 2011, 02:59:46 AM
There are 2 icons, what you see is expected and was my original design :)
I liked it that way because the control panel would display the same icon than the original mac's startup preference pane ...
In my original design, the chameleon only appears on the file manager ; where you can see the package having this icon.
But on the system preferences, the icon is different (again on purpose) and is defined by chameleon.tiff (as opposed to chameleon.icns).

Now it is true that you are the second person that mentioned about that 'wish' so if you want  we can change that, even if I loved the question mark one that made our custom machines to look closer to genuine ones but well  :)
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 06, 2011, 07:16:50 AM
Okay I added more unit tests, made the KernelOptionsFlags class much more robust, changed the chameleon icon in the prefpane ;)
Please Have a look to 455 ...!
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 06, 2011, 11:45:10 PM
Hi Rek

I remember you saying here (http://www.insanelymac.com/forum/index.php?showtopic=201902&view=findpost&p=1396617) that only bootable partitions should be displayed. Is this still the case as I have non bootable partitions showing in the Startup Disk page? (See attached screenshot).

And here's my Diskutil list:
Code: [Select]
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS HackBoot                1.1 GB     disk0s2
   3:                  Apple_HFS MainSystem              100.0 GB   disk0s3
   4:       Microsoft Basic Data WINDOWS                 80.0 GB    disk0s4
   5:                  Apple_HFS BackupSystem            16.0 GB    disk0s5
   6:                  Apple_HFS Mac OS X Base System    8.0 GB     disk0s6
   7:                  Apple_HFS Store                   294.1 GB   disk0s7
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Mac                     80.0 GB    disk1s2
   3:       Microsoft Basic Data                         80.0 GB    disk1s3
   4:       Microsoft Basic Data SPARE                   339.8 GB   disk1s4

As it stands:
Volume/SPARE is empty.
Volume/WINDOWS is empty.
Disk1s3 (as the diskutil list) (would be disk0,3 n in the pref pane in this case) does contain a Windows 8 dev preview but that's not shown in the pref pane?

Can you throw some light on what I should be seeing?
Thanks

Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 07, 2011, 02:52:54 AM
This is intended because indeed the booter will also display non bootable partitions (i.e. in Windows 7 with an efi 2.0 partition the actual  windows partition is not bootable itself, ..)
So I decided to also include these because if it were not the case, then one could not see some of the partitions that the booter would see, therefore it would make harder to identify the hd(x,y) partition to hide and/or rename in that case.

In future, I would like to share my thoughts with the guys currently working on the booter, and see how chameleon could add its own smbios handles ... !
If we manage to do that then we open the gate for new exciting features, including a better sync between the booter and the chameleon apps.

EDIT: I am filtering the oviously non bootable disks now, but like chameleon I am still permissive to win7 partitions that are not bootable because of an efi 2.0 partition booting it.

This was my plan a while ago, but then some company decided to hire me on an even more exciting development project, so I cant spend as much time as I would like to :)

-Rek
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 10:18:45 PM
Hey Rek.

Sorry for any delay in my feedback but my working week is long at the moment and I haven't time for much hack related things.

I've tested the latest pref pane and now see my non bootable partitions are hidden - This is great.
Now this raises a question of should my non bootable FAT partitions be visible in Chameleon's GUI by default? because they are unless of course I hide them using the Hide Partition boot option.

but like chameleon I am still permissive to win7 partitions that are not bootable because of an efi 2.0 partition booting it.
My Win8 dev preview partition still doesn't show in the pref pane.

In future, I would like to share my thoughts with the guys currently working on the booter, and see how chameleon could add its own smbios handles ... !
If we manage to do that then we open the gate for new exciting features, including a better sync between the booter and the chameleon apps.
Cool. It's always encouraging to hear of future development plans/options.
The best way to contact some of the devs may be either by PM from here, or at irc.voodooprojects.org.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 10:35:54 PM
but like chameleon I am still permissive to win7 partitions that are not bootable because of an efi 2.0 partition booting it.
My Win8 dev preview partition still doesn't show in the pref pane.
Interesting, Could you you dump the list of the file (hidden + not hidden) at the root of your partition, I don't have win8, don't plan to install one now so that could be useful :)
TIA
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 10:42:46 PM
Hi Rek.. Yes I'll do it now.. BRB.

Here you go:
Code: [Select]
drwxr-xr-x@  1 blackosx  staff           0 16 Sep 20:02 $Recycle.Bin
drwxr-xr-x   1 blackosx  staff       12288 17 Sep 09:10 .
drwxrwxrwt@ 13 root  admin         442 10 Dec 21:26 ..
srwxr-xr-x   1 blackosx  staff           0  2 May  2011 BOOTNXT
-rwxr-xr-x@  1 blackosx  staff        8192 17 Sep 04:54 BOOTSECT.BAK
drwxr-xr-x@  1 blackosx  staff        4096 17 Sep 04:54 Boot
drwxr-xr-x@  1 blackosx  staff           0 24 Aug 09:04 Documents and Settings
drwxr-xr-x   1 blackosx  staff           0 24 Aug 09:12 PerfLogs
drwxr-xr-x   1 blackosx  staff        4096 24 Aug 09:29 Program Files
drwxr-xr-x   1 blackosx  staff        4096 17 Sep 09:10 Program Files (x86)
drwxr-xr-x@  1 blackosx  staff        4096 30 Aug 23:26 ProgramData
drwxr-xr-x@  1 blackosx  staff           0 16 Sep 20:00 Recovery
drwxr-xr-x@  1 blackosx  staff        4096  6 Oct 17:41 System Volume Information
drwxr-xr-x   1 blackosx  staff        4096 16 Sep 20:00 Users
drwxr-xr-x   1 blackosx  staff       16384 17 Sep 09:19 Windows
-rwxr-xr-x@  1 blackosx  staff      367472 24 Aug 04:19 bootmgr
-rwxr-xr-x@  1 blackosx  staff  4824846336  7 Oct 18:09 hiberfil.sys
-rwxr-xr-x@  1 blackosx  staff  4292640768  7 Oct 18:09 pagefile.sys
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 10:49:25 PM
OK, no change with Win7 concerning the filtering, So:
the pb is IMHO that the microsoft basic data partition is not recognized please send me a dump of test_util with the partition info only (no smbios info) please :)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:00:09 PM
Okay. Let me just boot to a separate OS X installation with Xcode 3.x so I can build it.. BRB.

EDIT:
The partition in question is disk0s3

diskutil list shows it without a name.
Code: [Select]
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Mac                     80.0 GB    disk0s2
   3:       Microsoft Basic Data                         80.0 GB    disk0s3
   4:       Microsoft Basic Data SPARE                   339.8 GB   disk0s4
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS HackBoot                1.1 GB     disk1s2
   3:                  Apple_HFS MainSystem              100.0 GB   disk1s3
   4:       Microsoft Basic Data WINDOWS                 80.0 GB    disk1s4
   5:                  Apple_HFS BackupSystem            16.0 GB    disk1s5
   6:                  Apple_HFS Mac OS X Base System    8.0 GB     disk1s6
   7:                  Apple_HFS Store                   294.1 GB   disk1s7

mount shows:
Code: [Select]
/dev/disk1s5 on / (hfs, local, journaled)
devfs on /dev (devfs, local, nobrowse)
/dev/disk0s2 on /Volumes/Mac (hfs, local, journaled)
/dev/disk1s2 on /Volumes/HackBoot (hfs, local, journaled)
/dev/disk1s3 on /Volumes/MainSystem (hfs, local, journaled)
/dev/disk0s3 on /Volumes/Untitled (ntfs, local, read-only, noowners)
map -hosts on /net (autofs, nosuid, automounted, nobrowse)
map auto_home on /home (autofs, automounted, nobrowse)
/dev/disk1s4 on /Volumes/WINDOWS (msdos, asynchronous, local, noowners)
/dev/disk0s4 on /Volumes/SPARE (msdos, asynchronous, local, noowners)
/dev/disk1s6 on /Volumes/Mac OS X Base System (hfs, local)
/dev/disk1s7 on /Volumes/Store (hfs, local, journaled)

test_util doesn't show it.
Code: [Select]
2011-12-10 22:04:18.312 test_util[374:707] List of existing bsd disk partitions:
 (
    disk0,
    disk0s1,
    disk0s2,
    disk0s3,
    disk0s4,
    disk1,
    disk1s1,
    disk1s2,
    disk1s3,
    disk1s4,
    disk1s5,
    disk1s6,
    disk1s7
)
2011-12-10 22:04:18.320 test_util[374:707] PartionBootable = 1
(
  bsdName        disk0s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac
  volumeKind     hfs
  volumeUUID     E3EA05BB-E64C-3ED9-96C5-832B84677FE0
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-10 22:04:18.321 test_util[374:707] PartionBootable = 1
(
  bsdName        disk1s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     HackBoot
  volumeKind     hfs
  volumeUUID     80CF3629-91E3-3F3F-B577-7D79DAFFB552
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-10 22:04:18.321 test_util[374:707] PartionBootable = 1
(
  bsdName        disk1s3
  deviceProtocol SATA
  deviceInternal 1
  volumeName     MainSystem
  volumeKind     hfs
  volumeUUID     FE56DE3D-9461-364B-A6B1-447A18B47549
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:3
  mediaRemovable 0
)
2011-12-10 22:04:18.322 test_util[374:707] PartionBootable = 1
(
  bsdName        disk1s5
  deviceProtocol SATA
  deviceInternal 1
  volumeName     BackupSystem
  volumeKind     hfs
  volumeUUID     C973B5A8-BA80-3139-B81D-4F9D46B05204
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:5
  mediaRemovable 0
)
2011-12-10 22:04:18.322 test_util[374:707] PartionBootable = 1
(
  bsdName        disk1s6
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac OS X Base System
  volumeKind     hfs
  volumeUUID     80315E1E-FC03-3082-A3C4-24FEF5048C4F
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:6
  mediaRemovable 0
)
2011-12-10 22:04:18.322 test_util[374:707]  Rename part Mac -> Test
2011-12-10 22:04:18.323 test_util[374:707]  Rename part MainSystem -> Fantastic
2011-12-10 22:04:18.323 test_util[374:707]  Rename part Mac -> DEF
String Test
options = -v darkwake ab= a=0 =abc -f
token: -v, left: -v, right: -v, trim: -v
token: darkwake, left: darkwake, right: darkwake, trim: darkwake
token: ab=, left: ab, right: , trim: ab=
token: a=0, left: a, right: 0, trim: a=0
token: =abc, left: , right: abc, trim: =abc
token: -f, left: -f, right: -f, trim: -f
logout
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:08:32 PM
Here BlackOSX:
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:09:50 PM
Thanks.. But I already did it  :P (see above).
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:15:20 PM
MMM see what is weird is that your disk  is that I don't see your disk listed in the test app :(
EDIT: please edit test_util.mm line 59 and replace temporarily:
#if 1
by
#if 0

this should make the alternative code showing the disk0s3[and s2] partition ...
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:18:22 PM
Yeah, I know - If you want me to run anything for testing then just ask.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:19:58 PM
yes there is an edit to to see my edit upper :)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:20:58 PM
Here you go:
Code: [Select]
2011-12-10 22:20:40.773 test_util[519:707] Key: DADeviceInternal, Value: 1
2011-12-10 22:20:40.774 test_util[519:707] Key: DAMediaName, Value: Mac
2011-12-10 22:20:40.774 test_util[519:707] Key: DAMediaLeaf, Value: 1
2011-12-10 22:20:40.774 test_util[519:707] Key: DAMediaBlockSize, Value: 512
2011-12-10 22:20:40.775 test_util[519:707] Key: DAVolumeUUID, Value: <CFUUID 0x40030ed00> E3EA05BB-E64C-3ED9-96C5-832B84677FE0
2011-12-10 22:20:40.775 test_util[519:707] Key: DAMediaWhole, Value: 0
2011-12-10 22:20:40.775 test_util[519:707] Key: DADeviceRevision, Value: CR100-12
2011-12-10 22:20:40.776 test_util[519:707] Key: DABusPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0
2011-12-10 22:20:40.776 test_util[519:707] Key: DAVolumeName, Value: Mac
2011-12-10 22:20:40.776 test_util[519:707] Key: DAMediaEjectable, Value: 0
2011-12-10 22:20:40.777 test_util[519:707] Key: DAMediaSize, Value: 80000000000
2011-12-10 22:20:40.777 test_util[519:707] Key: DAVolumeNetwork, Value: 0
2011-12-10 22:20:40.777 test_util[519:707] Key: DABusName, Value: PMP
2011-12-10 22:20:40.778 test_util[519:707] Key: DADeviceProtocol, Value: SATA
2011-12-10 22:20:40.778 test_util[519:707] Key: DAMediaRemovable, Value: 0
2011-12-10 22:20:40.778 test_util[519:707] Key: DAVolumeKind, Value: hfs
2011-12-10 22:20:40.779 test_util[519:707] Key: DAMediaWritable, Value: 1
2011-12-10 22:20:40.779 test_util[519:707] Key: DAMediaBSDMajor, Value: 14
2011-12-10 22:20:40.779 test_util[519:707] Key: DADeviceModel, Value: SAMSUNG HD501LJ                         
2011-12-10 22:20:40.780 test_util[519:707] Key: DADevicePath, Value: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice
2011-12-10 22:20:40.780 test_util[519:707] Key: DAMediaBSDMinor, Value: 2
2011-12-10 22:20:40.780 test_util[519:707] Key: DAMediaUUID, Value: <CFUUID 0x40030f300> 15473CA9-015F-4CB2-8DA5-63CA832F5124
2011-12-10 22:20:40.781 test_util[519:707] Key: DAMediaContent, Value: 48465300-0000-11AA-AA11-00306543ECAC
2011-12-10 22:20:40.781 test_util[519:707] Key: DAMediaBSDUnit, Value: 0
2011-12-10 22:20:40.781 test_util[519:707] Key: DADeviceUnit, Value: 0
2011-12-10 22:20:40.782 test_util[519:707] Key: DAMediaPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
2011-12-10 22:20:40.782 test_util[519:707] Key: DAMediaIcon, Value: {
    CFBundleIdentifier = "com.apple.iokit.IOStorageFamily";
    IOBundleResourceFile = "Internal.icns";
}
2011-12-10 22:20:40.782 test_util[519:707] Key: DAVolumePath, Value: file://localhost/Volumes/Mac/
2011-12-10 22:20:40.783 test_util[519:707] Key: DAMediaKind, Value: IOMedia
2011-12-10 22:20:40.783 test_util[519:707] Key: DAMediaBSDName, Value: disk0s2
2011-12-10 22:20:40.784 test_util[519:707] Key: DAVolumeMountable, Value: 1
2011-12-10 22:20:40.784 test_util[519:707] Key: DAAppearanceTime, Value: 345247371.407952
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:23:47 PM
Nothing for disk0s3 (that dump is for disk0s2 (hfs))  :-\ ?
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:26:37 PM
That's it. Other than the SMBIOS info before and the Test String stuff after.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:29:51 PM
I see please replace line 29

   if ([di isValid] && [di.vUUID length] >0)

by
if (true)

Should force the dump ...
and also comment out the line 76
  testDiskInfoWith(@"disk0s2");   
like this
// testDiskInfoWith(@"disk0s2");   

that should display only disk0s3 ..
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:34:01 PM
I think I understand that this guy has no volume name !
So when I check if it is bootable, it fails to check the partition...
maybe in that case I could test a default name l?
Waiting for your test dump that should confirm that ;)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:34:40 PM
I see please replace line 29

   if ([di isValid] && [di.vUUID length] >0)

by
if (true)

Should force the dump ...
Line 22?
This results with:
Code: [Select]
2011-12-10 22:33:30.560 test_util[594:707] Key: DADeviceInternal, Value: 1
2011-12-10 22:33:30.560 test_util[594:707] Key: DAMediaName, Value: Mac
2011-12-10 22:33:30.561 test_util[594:707] Key: DAMediaLeaf, Value: 1
2011-12-10 22:33:30.561 test_util[594:707] Key: DAMediaBlockSize, Value: 512
2011-12-10 22:33:30.561 test_util[594:707] Key: DAVolumeUUID, Value: <CFUUID 0x40030ed00> E3EA05BB-E64C-3ED9-96C5-832B84677FE0
2011-12-10 22:33:30.562 test_util[594:707] Key: DAMediaWhole, Value: 0
2011-12-10 22:33:30.562 test_util[594:707] Key: DADeviceRevision, Value: CR100-12
2011-12-10 22:33:30.562 test_util[594:707] Key: DABusPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0
2011-12-10 22:33:30.563 test_util[594:707] Key: DAVolumeName, Value: Mac
2011-12-10 22:33:30.563 test_util[594:707] Key: DAMediaEjectable, Value: 0
2011-12-10 22:33:30.563 test_util[594:707] Key: DAMediaSize, Value: 80000000000
2011-12-10 22:33:30.564 test_util[594:707] Key: DAVolumeNetwork, Value: 0
2011-12-10 22:33:30.564 test_util[594:707] Key: DABusName, Value: PMP
2011-12-10 22:33:30.564 test_util[594:707] Key: DADeviceProtocol, Value: SATA
2011-12-10 22:33:30.565 test_util[594:707] Key: DAMediaRemovable, Value: 0
2011-12-10 22:33:30.565 test_util[594:707] Key: DAVolumeKind, Value: hfs
2011-12-10 22:33:30.565 test_util[594:707] Key: DAMediaWritable, Value: 1
2011-12-10 22:33:30.566 test_util[594:707] Key: DAMediaBSDMajor, Value: 14
2011-12-10 22:33:30.566 test_util[594:707] Key: DADeviceModel, Value: SAMSUNG HD501LJ                         
2011-12-10 22:33:30.566 test_util[594:707] Key: DADevicePath, Value: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice
2011-12-10 22:33:30.567 test_util[594:707] Key: DAMediaBSDMinor, Value: 2
2011-12-10 22:33:30.567 test_util[594:707] Key: DAMediaUUID, Value: <CFUUID 0x40030f300> 15473CA9-015F-4CB2-8DA5-63CA832F5124
2011-12-10 22:33:30.567 test_util[594:707] Key: DAMediaContent, Value: 48465300-0000-11AA-AA11-00306543ECAC
2011-12-10 22:33:30.568 test_util[594:707] Key: DAMediaBSDUnit, Value: 0
2011-12-10 22:33:30.568 test_util[594:707] Key: DADeviceUnit, Value: 0
2011-12-10 22:33:30.568 test_util[594:707] Key: DAMediaPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
2011-12-10 22:33:30.569 test_util[594:707] Key: DAMediaIcon, Value: {
    CFBundleIdentifier = "com.apple.iokit.IOStorageFamily";
    IOBundleResourceFile = "Internal.icns";
}
2011-12-10 22:33:30.569 test_util[594:707] Key: DAVolumePath, Value: file://localhost/Volumes/Mac/
2011-12-10 22:33:30.570 test_util[594:707] Key: DAMediaKind, Value: IOMedia
2011-12-10 22:33:30.570 test_util[594:707] Key: DAMediaBSDName, Value: disk0s2
2011-12-10 22:33:30.570 test_util[594:707] Key: DAVolumeMountable, Value: 1
2011-12-10 22:33:30.571 test_util[594:707] Key: DAAppearanceTime, Value: 345247371.407952
2011-12-10 22:33:30.571 test_util[594:707] Key: DAMediaLeaf, Value: 1
2011-12-10 22:33:30.572 test_util[594:707] Key: DADeviceUnit, Value: 0
2011-12-10 22:33:30.572 test_util[594:707] Key: DADeviceInternal, Value: 1
2011-12-10 22:33:30.572 test_util[594:707] Key: DAMediaEjectable, Value: 0
2011-12-10 22:33:30.573 test_util[594:707] Key: DABusPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0
2011-12-10 22:33:30.573 test_util[594:707] Key: DAMediaContent, Value: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
2011-12-10 22:33:30.573 test_util[594:707] Key: DADevicePath, Value: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice
2011-12-10 22:33:30.574 test_util[594:707] Key: DAMediaWhole, Value: 0
2011-12-10 22:33:30.574 test_util[594:707] Key: DAMediaBSDName, Value: disk0s3
2011-12-10 22:33:30.574 test_util[594:707] Key: DAVolumeUUID, Value: <CFUUID 0x40030a9c0> BE0653E2-9179-42EE-A8C6-A2EF4651EFF7
2011-12-10 22:33:30.575 test_util[594:707] Key: DAMediaSize, Value: 79999008768
2011-12-10 22:33:30.575 test_util[594:707] Key: DAMediaUUID, Value: <CFUUID 0x40020cc00> 50AB387B-2545-4FA5-BEDC-18BDECC4719D
2011-12-10 22:33:30.575 test_util[594:707] Key: DAMediaIcon, Value: {
    CFBundleIdentifier = "com.apple.iokit.IOStorageFamily";
    IOBundleResourceFile = "Internal.icns";
}
2011-12-10 22:33:30.576 test_util[594:707] Key: DAMediaKind, Value: IOMedia
2011-12-10 22:33:30.576 test_util[594:707] Key: DADeviceProtocol, Value: SATA
2011-12-10 22:33:30.576 test_util[594:707] Key: DAAppearanceTime, Value: 345247371.407253
2011-12-10 22:33:30.577 test_util[594:707] Key: DAMediaBSDMajor, Value: 14
2011-12-10 22:33:30.577 test_util[594:707] Key: DADeviceModel, Value: SAMSUNG HD501LJ                         
2011-12-10 22:33:30.577 test_util[594:707] Key: DAMediaBSDMinor, Value: 3
2011-12-10 22:33:30.578 test_util[594:707] Key: DAVolumeMountable, Value: 1
2011-12-10 22:33:30.578 test_util[594:707] Key: DAMediaWritable, Value: 1
2011-12-10 22:33:30.578 test_util[594:707] Key: DAMediaName, Value: WIN8
2011-12-10 22:33:30.579 test_util[594:707] Key: DAVolumeNetwork, Value: 0
2011-12-10 22:33:30.579 test_util[594:707] Key: DAMediaBSDUnit, Value: 0
2011-12-10 22:33:30.579 test_util[594:707] Key: DAMediaBlockSize, Value: 512
2011-12-10 22:33:30.580 test_util[594:707] Key: DABusName, Value: PMP
2011-12-10 22:33:30.580 test_util[594:707] Key: DAMediaPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:3
2011-12-10 22:33:30.580 test_util[594:707] Key: DAMediaRemovable, Value: 0
2011-12-10 22:33:30.581 test_util[594:707] Key: DADeviceRevision, Value: CR100-12
2011-12-10 22:33:30.581 test_util[594:707] Key: DAVolumePath, Value: file://localhost/Volumes/Untitled/
2011-12-10 22:33:30.581 test_util[594:707] Key: DAVolumeKind, Value: ntfs

and also comment out the line 76
  testDiskInfoWith(@"disk0s2");   
like this
// testDiskInfoWith(@"disk0s2");   

that should display only disk0s3 ..
Code: [Select]
2011-12-10 22:34:35.808 test_util[621:707] Key: DAMediaLeaf, Value: 1
2011-12-10 22:34:35.809 test_util[621:707] Key: DADeviceUnit, Value: 0
2011-12-10 22:34:35.809 test_util[621:707] Key: DADeviceInternal, Value: 1
2011-12-10 22:34:35.809 test_util[621:707] Key: DAMediaEjectable, Value: 0
2011-12-10 22:34:35.810 test_util[621:707] Key: DABusPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0
2011-12-10 22:34:35.810 test_util[621:707] Key: DAMediaContent, Value: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
2011-12-10 22:34:35.810 test_util[621:707] Key: DADevicePath, Value: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT1@1/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice
2011-12-10 22:34:35.811 test_util[621:707] Key: DAMediaWhole, Value: 0
2011-12-10 22:34:35.811 test_util[621:707] Key: DAMediaBSDName, Value: disk0s3
2011-12-10 22:34:35.811 test_util[621:707] Key: DAVolumeUUID, Value: <CFUUID 0x40030ed00> BE0653E2-9179-42EE-A8C6-A2EF4651EFF7
2011-12-10 22:34:35.812 test_util[621:707] Key: DAMediaSize, Value: 79999008768
2011-12-10 22:34:35.812 test_util[621:707] Key: DAMediaUUID, Value: <CFUUID 0x40030f300> 50AB387B-2545-4FA5-BEDC-18BDECC4719D
2011-12-10 22:34:35.812 test_util[621:707] Key: DAMediaIcon, Value: {
    CFBundleIdentifier = "com.apple.iokit.IOStorageFamily";
    IOBundleResourceFile = "Internal.icns";
}
2011-12-10 22:34:35.813 test_util[621:707] Key: DAMediaKind, Value: IOMedia
2011-12-10 22:34:35.813 test_util[621:707] Key: DADeviceProtocol, Value: SATA
2011-12-10 22:34:35.813 test_util[621:707] Key: DAAppearanceTime, Value: 345247371.407253
2011-12-10 22:34:35.814 test_util[621:707] Key: DAMediaBSDMajor, Value: 14
2011-12-10 22:34:35.814 test_util[621:707] Key: DADeviceModel, Value: SAMSUNG HD501LJ                         
2011-12-10 22:34:35.814 test_util[621:707] Key: DAMediaBSDMinor, Value: 3
2011-12-10 22:34:35.815 test_util[621:707] Key: DAVolumeMountable, Value: 1
2011-12-10 22:34:35.815 test_util[621:707] Key: DAMediaWritable, Value: 1
2011-12-10 22:34:35.815 test_util[621:707] Key: DAMediaName, Value: WIN8
2011-12-10 22:34:35.815 test_util[621:707] Key: DAVolumeNetwork, Value: 0
2011-12-10 22:34:35.816 test_util[621:707] Key: DAMediaBSDUnit, Value: 0
2011-12-10 22:34:35.816 test_util[621:707] Key: DAMediaBlockSize, Value: 512
2011-12-10 22:34:35.816 test_util[621:707] Key: DABusName, Value: PMP
2011-12-10 22:34:35.817 test_util[621:707] Key: DAMediaPath, Value: IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:3
2011-12-10 22:34:35.817 test_util[621:707] Key: DAMediaRemovable, Value: 0
2011-12-10 22:34:35.818 test_util[621:707] Key: DADeviceRevision, Value: CR100-12
2011-12-10 22:34:35.818 test_util[621:707] Key: DAVolumePath, Value: file://localhost/Volumes/Untitled/
2011-12-10 22:34:35.818 test_util[621:707] Key: DAVolumeKind, Value: ntfs
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 10, 2011, 11:41:00 PM
Aha !
This volume gets the untitled name, very interesting case BlackOSX!
Gonna check that problem and come back with a fix in few minutes ;)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 10, 2011, 11:47:45 PM
I'll be here to test :)
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 12:14:46 AM
I'll be here to test :)
Untitled partition now also handled Fixed in 458 :)

Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 11, 2011, 12:20:53 AM
Yes it does (screenshot attached).
Well done Rek  ;D

Thank you very much.. and now it's bed time for me. Over and out.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 12:22:13 AM
NP BlackOSX  :)
And thank you for testing the  preference pane!
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 11, 2011, 03:36:23 AM
Feature Request.
Would be nice (if possible) to add into "Startup windows" like a tooltip showing the current boot-loader (if installed) version?

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 03:42:59 AM
Hi ErmaC, what do you mean please, I don't understand what you meant here?
Did you mean the chameleon booter current  version ?
Thanks
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 11, 2011, 03:58:46 AM
Sorry.... :(

When I move the mouse cursor over the name of the partition, it would be possible to display the version of the bootloader installed on that partition?

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 06:40:16 AM
Well, the boot file has no version to read from in a standard way, at least that I know of.
Yet, it is possible to achieve that functionality by populating a file with the versions, date time, and sizes.
With that list (could be a plist file in the resources folder of the chameleon prefpane  bundle ) I could then seek into it and find if a boot file matches ...

... the only problem would be the maintenance of such a file, one would have to add any single version of the booter :)
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 11, 2011, 10:20:31 AM
Hey Rek

You know I asked you to hide all non-bootable partitions in the pref pane? Well I've been thinking of doing it differently.. and am presenting to you an idea.

Currently with the pref pane as it is now, if I want to hide a partition from Chameleon's GUI then I have to add the partition numbers in to the Hide Partitions section of the Boot Setup page. Could it be done with a checkbox in the Startup Disk page? this would involve re-showing the non-bootable partitions though. See the attached mockup to hopefully show what I mean.

I know it would mean a lot more code changes but I think it will make hiding partitions easy. Just a thought.  :P


Well, the boot file has no version to read from in a standard way, at least that I know of.
There's always this line by Zhell
http://forum.voodooprojects.org/index.php/topic,1431.msg7041.html#msg7041
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 06:25:55 PM
LOL BlackOSX, you really read my mind (or reminders of the current source code) :)
Yes, it is planned to hide automatically the drives; the only differences in my work in progress is the check box hide column is the first left ....
Agreed this is the next cool feature for 2.2 :P
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 06:30:52 PM
There's always this line by Zhell
http://forum.voodooprojects.org/index.php/topic,1431.msg7041.html#msg7041
When one thinks he knows enough of the power of unix command line tools, well one is wrong :)

BlackOSX, please remind me to add zhell for this nice cmd once I implement the code that will call it ...  :lol:

-Rek
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 11, 2011, 10:12:50 PM
There's always this line by Zhell
http://forum.voodooprojects.org/index.php/topic,1431.msg7041.html#msg7041
When one thinks he knows enough of the power of unix command line tools, well one is wrong :)

BlackOSX, please remind me to add zhell for this nice cmd once I implement the code that will call it ...  :lol:

-Rek

Implemented !!!  :P
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 11, 2011, 11:39:47 PM
Hey Rek
LOL BlackOSX, you really read my mind (or reminders of the current source code) :)
Lol.. No, I haven't read the source code. I guess we are just thinking on the same lines.

....the only differences in my work in progress is the check box hide column is the first left ....
Agreed this is the next cool feature for 2.2 :P
I just put it on the right for the mockup but left will probably be better.
But Great - I'll look forward to it  ;D

When one thinks he knows enough of the power of unix command line tools, well one is wrong :)
....
BlackOSX, please remind me to add zhell for this nice cmd once I implement the code that will call it ...  :lol:
From my dabbling with Unix, i see there are so many different ways to achieve one thing. Zhell always amazes me with his knowledge.
And I see you've already added him to credits..

Implemented !!!  :P
I've seen it and your implementation works well. Another good job. Well done.
Title: Re: ChameleonPrefPane revived
Post by: ErmaC on December 12, 2011, 04:06:07 AM
Perfect!
Exactly what I thought about!

;)

Fabio
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 12, 2011, 05:39:37 AM
Implemented new Visual checkbox Hide Partition ! :)
Version 2.2.0 rev 465 is out !
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 12, 2011, 08:41:59 AM
Another release!.. Great. It works well. Thanks ;D

Although in my mockup I showed the prefpane listing the non-bootable partitions with their hidden checkbox ticked and with the partition named set to a lighter grey. Currently I still have to manually find and type the hd(x,y) values in the Hide Partitions textfield on the Boot Setup page for non-bootable partitions.

On a more serious note, I've spotted a problem which is cured by trashing the org.chameleon.prefPane.plist. It's to do with the Swap hd 0<->1 option which I normally use and have ticked. If I trash the prefs, open the pref pane and point it to my /Extra/org.chameleon.Boot.plist then the partition list is fine. If I tick the Swap hd 0<->1 option then the partition list shows messed up.

I've attached a screenshot of when the pref pane shows the correct partitions and also when it shows the partitions messed up.
I'm using the latest r465 of the pref pane, and the test_util app you posted the other night.

Here's my diskutil list:
Code: [Select]
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Mac                     80.0 GB    disk0s2
   3:       Microsoft Basic Data                         80.0 GB    disk0s3
   4:       Microsoft Basic Data SPARE                   339.8 GB   disk0s4
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS HackBoot                1.1 GB     disk1s2
   3:                  Apple_HFS MainSystem              100.0 GB   disk1s3
   4:       Microsoft Basic Data WINDOWS                 80.0 GB    disk1s4
   5:                  Apple_HFS BackupSystem            16.0 GB    disk1s5
   6:                  Apple_HFS Mac OS X Base System    8.0 GB     disk1s6
   7:                  Apple_HFS Store                   294.1 GB   disk1s7

Here's my test_util:
Code: [Select]
2011-12-12 07:24:08.482 test_util[683:707] List of existing bsd disk partitions:
 (
    disk0,
    disk0s1,
    disk0s2,
    disk0s3,
    disk0s4,
    disk1,
    disk1s1,
    disk1s2,
    disk1s3,
    disk1s4,
    disk1s5,
    disk1s6,
    disk1s7
)
2011-12-12 07:24:08.491 test_util[683:707] PartionBootable = 1
(
  bsdName        disk0s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac
  volumeKind     hfs
  volumeUUID     E3EA05BB-E64C-3ED9-96C5-832B84677FE0
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT1@1/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-12 07:24:08.492 test_util[683:707] PartionBootable = 1
(
  bsdName        disk1s2
  deviceProtocol SATA
  deviceInternal 1
  volumeName     HackBoot
  volumeKind     hfs
  volumeUUID     80CF3629-91E3-3F3F-B577-7D79DAFFB552
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:2
  mediaRemovable 0
)
2011-12-12 07:24:08.492 test_util[683:707] PartionBootable = 1
(
  bsdName        disk1s3
  deviceProtocol SATA
  deviceInternal 1
  volumeName     MainSystem
  volumeKind     hfs
  volumeUUID     FE56DE3D-9461-364B-A6B1-447A18B47549
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:3
  mediaRemovable 0
)
2011-12-12 07:24:08.492 test_util[683:707] PartionBootable = 1
(
  bsdName        disk1s5
  deviceProtocol SATA
  deviceInternal 1
  volumeName     BackupSystem
  volumeKind     hfs
  volumeUUID     C973B5A8-BA80-3139-B81D-4F9D46B05204
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:5
  mediaRemovable 0
)
2011-12-12 07:24:08.493 test_util[683:707] PartionBootable = 1
(
  bsdName        disk1s6
  deviceProtocol SATA
  deviceInternal 1
  volumeName     Mac OS X Base System
  volumeKind     hfs
  volumeUUID     80315E1E-FC03-3082-A3C4-24FEF5048C4F
  mediaPath      IODeviceTree:/PCI0@0/SATA@1F,2/PRT0@0/PMP@0/@0:6
  mediaRemovable 0
)

Gotta go to work now, so I'll look some more tonight.
Title: Re: ChameleonPrefPane revived
Post by: rekursor on December 13, 2011, 09:40:15 AM
Interesting...
It looks like you used the rename partition to rename the windows partition ?
In that case I would interpret what happened as follow:
Untitled was first renamed Windows8DP, hd(0,3) was used to indicate what partition should be renamed.
Then when you swap the partitions 0 - 1, the rename still happens but is still happens on hd(0,3) not hd(1,3) ...
Could it be what happened ?
Because if it is the case, having the hd(0,3) changed in hd(1,3) in the rename partition text field should put that back in place. Or an alternative would also be  to do the same thing with the direct name edit in the table view:
hint -> deleting the full partition name then clicking enter restore the original name and therefore cancel the previous rename operation ... 8)
Again if this is what happened, I could still implement more functionality to 'follow' the swapping operation by also checking if rename partition also contains hd(x,y) fields for which y needs to be swapped, but I am not sure wether it would be worth spending time on that if the workaround described upper works fine ?
 
-Rek
Title: Re: ChameleonPrefPane revived
Post by: Blackosx on December 13, 2011, 10:43:15 AM
Thanks for your reply Rek.
I'll test your suggestion this evening and report back if it works or not.

EDIT:
Sorry for the short reply earlier but i was at work having a manic day.

Interesting...
It looks like you used the rename partition to rename the windows partition ?
Yes I did :)

Untitled was first renamed Windows8DP, hd(0,3) was used to indicate what partition should be renamed.
Then when you swap the partitions 0 - 1, the rename still happens but is still happens on hd(0,3) not hd(1,3) ...
Could it be what happened ?
Bang on. Exactly right.

Because if it is the case, having the hd(0,3) changed in hd(1,3) in the rename partition text field should put that back in place.
Yes it does.

Or an alternative would also be to do the same thing with the direct name edit in the table view:
hint -> deleting the full partition name then clicking enter restore the original name and therefore cancel the previous rename operation ... 8)
Yes. This also sorts the problem.

Again if this is what happened, I could still implement more functionality to 'follow' the swapping operation by also checking if rename partition also contains hd(x,y) fields for which y needs to be swapped, but I am not sure wether it would be worth spending time on that if the workaround described upper works fine ?
Well. For completeness sake, I think it would be good if swapping hd numbers did also re-map the rename partition numbers. Though it's no deal breaker so I guess save that one for a rainy day?  :P

Thanks for your help interpreting the issue.