overdue-scratch

Author Topic: Support for volume UUID and/or device tree lookup in "Default Partition"  (Read 12269 times)

0 Members and 1 Guest are viewing this topic.

AuralArch

  • Observer
  • Posts: 12
Re: Support for volume UUID and/or device tree lookup in "Default Partition"
« Reply #30 on: September 15, 2010, 04:21:18 AM »
This is awesome guys!  How much of this IS currently integrated into the trunk?  And how exactly can it be used.  It needs some documentation in the boothelp file...  I'll try it out, but the hide/rename partition by UUID will be especially helpful since I have more than one disk with "System Reserved" partition.

Azimutz

  • VoodooLabs
  • Posts: 420
  • Paranoid Android
Re: Support for volume UUID and/or device tree lookup in "Default Partition"
« Reply #31 on: September 15, 2010, 10:55:43 AM »
AuralArch,

this stuff is all in the trunk, mentioned on BootHelp and if you read the last posts you'll even get a decent picture of the problems :) but, it doesn't hurt to mention again...
There's just a problem with "" and spaces, mainly names of keys with spaces are supposed to be wrapped in quotes like they are showed on BootHelp, but e.g. "Hide Partition" will not work so, for now ditch the "".
If you want to hide all System Reserved partitions at once, just add this to Boot.plist:
Code: [Select]
    <key>Hide Partition</key>
    <string>System Reserved</string>
all volumes that match the string will be hidden. As you can see "" are also not needed on the string (volume label) like they are supposed to; can't remember if they break the key or not?!

Hope it helps...
Stay safe.
 System & Patches: http://goo.gl/i961
 Chameleon:
- trunk builds: http://goo.gl/9G1Hq
- pref pane: http://goo.gl/OL2UT

AuralArch

  • Observer
  • Posts: 12
Re: Support for volume UUID and/or device tree lookup in "Default Partition"
« Reply #32 on: October 22, 2010, 03:38:37 PM »
Azimutz,  (& @danielkza)

Thank you so much for you quick reply & explanation, it was very helpful.  I apologize for such a delayed response. I intended to post a reply that same night.

So, It turned out that somehow an old version of the help file had been distributed with the version of Chameleon I was using at the time.  I didn't test it out though because I originally came here for sources because I needed to customize 'ati.c' in order to get my video cards working & displays all working properly.
I actually had read the whole topic but I was still unclear on some of the details- and of course I didn't know it had already been integrated because I had an obsolete help file. But I basically got it mostly figured out.
It still seems a bit quirky to me, although it's probably just syntax/formatting details that I'm unaware of or don't fully/properly understand.

The process of figuring out the specifics of the syntax, like exactly when to use & when not to use quotes involved some trail and error because at first it didn't seem to be following the pattern of: use "" with anything containing space(s) but I think that does work now- although it still works in certain cases of spaces without ""...

There are still some other details that I have yet to figure out as well.

The hardest part of the process was getting my multiple "System Reserved" partitions renamed accurately to reflect the operating system they boot. (Since I primarily use Chameleon as bootloader, I have all of the other OS's bootloaders configured to skip their menus.)  I obviously could't use their label to rename them individually, their UUID doesn't work since it's a windows drive & it hasn't been assigned yet (if I understand what I read elsewhere properly- unless I'm not doing it right?). The remaining option: using 'hd(x,y)' is also problematic because those numeric assignments of the drives are not constant for me.
Natually adding or removing drives can typically affects the order of the drives, but sometimes they just randomly change- when I haven't made any changes to the system at all- just "restart".  I can't figure out any patterns or causes for some of these re-structuring of the disk #s in Chameleon especially since it happens fairly infrequently.

I don't know enough to know whether the BIOS is responsible for this or Chameleon itself.
Also, Chameleon sometimes does not load the right OS (it doesn't load the OS/bootloader on that partition-  especially if it's not the (numerical) first "System Reserved" partition in Chameleon's list, in which case the first one is loaded or: if it doesn't load the first "System Reserved"'s bootloader in Chameleon's list, then it loads the first one to be posted in BIOS- OR it just loads the first the bootloader from the 1st active partition with a bootloader (using BIOS/POST order).  TOTALLY bizarre!!!  (Only glitches like that if I trying to boot from a "System Reserved" partition when there are at least two present.)

Do you (or anybody) have any thoughts, ideas or insights that might be helpful?

It would be very helpful to my situation if I were able to use the IODeviceTree path to rename partitions (or UUIDs for NTFS partitions, even better!).  If either/both of those is already possible then I'm a moran because I can't get it to work!

I would also propose that the Chameleon help file be more explicit in its description of the exact syntax to be used for the partition related keys.  Such as:
1. how to separate the entries (apparently that is a semicolon most of the time, and a comma in certain circumstances)
2. where and how to use (and not to use) spaces
3. where and how to use (and not to use) quotation marks
4. when/for which partitions UUIDs can be used (and can not be used)
5. if the entries must be in any order & what that may be (BIOS/POST order, all entries of one type (UUIDs, labels...) grouped together, or in a certain order

The strangest practice which I've had to adopt which I can not explain is: in an attempt to hide one of my "System Reserved" partitions which boots an installation which I only use in an emergency. My only option is to use 'hd(x,y)' to specify the partition.  However, it doesn't work if it's the first item in the string followed by a colon.  But it does work if I put it at the end as the last item.  Strange!
(I may be mistaken about whether this was effective, but I found an old Boot.plist file in which I was using only the 'hd(x,y)' method, and I was separating the entries with commas. I haven't test if that still works for that type of entry.)

I know this is not an issue of relatively high importance to this project as a whole, and further development may or may not contitnue soon, or at all.  But I would be very gladly volunteer to assist in testing whatever changes/new features anyone develops. I have lots of hard drives with a plethora of different OSes installed on them in various "positions" on the drives some configured in RAID 1 & 0 arrays.  So it's easy for me to test many, more complicated/intricate configurations.
Given detailed & concise instructions I can follow them exactly and give precise & detailed reports of the results & experiences.


It would be a nice, helpful feature that I would appreciate for Chameleon to automatically (or using a key) hide all of partitions (with possibility to show them if needed) any partitions which are not marked as "active"


Thanks in advance to anyone who reads this, especially anyone who helps me learn more!
« Last Edit: October 22, 2010, 08:18:03 PM by AuralArch »