Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
So in HEX it is 77080000, which makes no sense when converted to binary so Dortania manual is not correct:
What's wrong with that? Convert the bytes 0x77, 0x08 from little endian to a number, you get:
0x877 - that's 12 bits for Big Sur with 5 of them not set.

10 bits for High Sierra = 0x3FF (last bit is CSR_ALLOW_UNAPPROVED_KEXTS = 0x200)
11 bits for Catalina and Mojave = 0x7FF (adds CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE = 0x400)
12 bits for Big Sur = 0xFFF (the new bit is authenticated-root = 0x800)
[automerge]1595902426[/automerge]
that is weird. And this?:
Code:
nvram 7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config| awk '{split($NF,chars,""); for(n=0;n<256;n++){ord[sprintf("%c",n)]=n}; i=1; j=0; while(i<=length($NF)){if(substr($NF,i,1)=="%"){printf "%s",toupper(substr($NF,i+1,2)); i=i+2} else {printf "%x",toupper(ord[chars[i]])} j=j+2; i++} print("")}'
I use this function:

Code:
nvramp () {
    local thename="$1"
    local thedata="" # must declare local separately for $? to get the error
    thedata="$(nvram $thename)"
    local theerr=$?
    printf "$(sed -E '/^'$thename'./s///;s/\\/\\\\/g;s/%/\\x/g' <<< "$thedata")"
    return $theerr
}
It returns binary which you can output as hex using xxd -p like this:

nvramp 7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config | xxd -p

It has the benefit of returning an error, which I use in other functions in the attached script (I use source gfxutil.sh to load the functions).
 

Attachments

  • gfxutil.sh.zip
    2.5 KB · Views: 83
  • Like
Reactions: h9826790
Thanks for that advice. It should have worked. HOWEVER when I correct that
Code:
david@Davids-QuadPro-4 ~ % sudo mv ~/Users/david/Downloads/.disk_label.contentDetails /System/Volumes/Preboot/1B08D35B-CCDB-4E60-8BCB-B5A71C2F9054/System/Library/CoreServices/.disk_label.contentDetails
Password:

mv: /Users/david/Users/david/Downloads/.disk_label.contentDetails: No such file or directory
It returns in this line /Users/david/Users/david/ inserting "Users/david/" twice and of course there is no file or directory to move

Do you have any idea what am I not getting right here?
~ means /Users/david so if you type ~/Users/david then the result is /Users/david/Users/david

Despite this the Boot Selector has started to show as "BigSur" and no longer "Preboot".

Figure???
Maybe you have disk_label files at /System/Volumes/Preboot/1B08D35B-CCDB-4E60-8BCB-B5A71C2F9054/System/Library/CoreServices now?

Check by viewing the folder in the Finder (type Command-Shift-Period (.) to show/hide invisible files).
Code:
open /System/Volumes/Preboot/1B08D35B-CCDB-4E60-8BCB-B5A71C2F9054/System/Library/CoreServices

Or you can list the files in Terminal.app:
Code:
dump_label () { local contents=$(xxd -p -c99999 "$1"); echo ${contents:10} | perl -pe "s/(..)/\1 /g;s/00/../g;s/ //g;s/(.{$((0x${contents:2:4}*2))})/\1\n/g" ; }
eval "$(find /System/Volumes/Preboot*/*/System/Library/CoreServices -name '.disk_label*' | sed -nE '/(.*\/\.disk_label(_2x)?)$/s//echo "\1"; dump_label "\1"/p; /(.*\/\.disk_label\.contentDetails)$/s//echo "\1"; cat "\1"; echo/p')"
 
What's wrong with that? Convert the bytes 0x77, 0x08 from little endian to a number, you get:
0x877 - that's 12 bits for Big Sur with 5 of them not set.

10 bits for High Sierra = 0x3FF (last bit is CSR_ALLOW_UNAPPROVED_KEXTS = 0x200)
11 bits for Catalina and Mojave = 0x7FF (adds CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE = 0x400)
12 bits for Big Sur = 0xFFF (the new bit is authenticated-root = 0x800)
77080000 disables SIP in Catalina too even though
0x7FF is 0111 1111 1111
and
0x877 is 1000 0111 0111
 
77080000 disables SIP in Catalina too even though
0x7FF is 0111 1111 1111
and
0x877 is 1000 0111 0111
Right. Each bit disables a different thing.

Code:
#define CSR_ALLOW_UNTRUSTED_KEXTS            (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS            (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID               (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER            (1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL             (1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE        (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM         (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (1 << 7)
#define CSR_ALLOW_ANY_RECOVERY_OS            (1 << 8)
#define CSR_ALLOW_UNAPPROVED_KEXTS           (1 << 9)
#define CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (1 << 10)
        don't authenticated-root             (1 << 11)
 
Despite 'No such file or directory' the Boot Selector has started to show as "BigSur" and no longer "Preboot".

Figure???

View attachment 938052View attachment 938055
Now look carefully where your file is and where is mine! You have it in the disk_label folder.
See how easy it is to do it.

This is the correct file path.
sudo mv ~/Downloads/disk_label/disk_label.contentDetails /System/Volumes/Preboot/1B08D35B-CCDB-4E60-8BCB-B5A71C2F9054/System/Library/CoreServices/.disk_label.contentDetails
 
Last edited:
I rephrase, you should unzip that attached in that BigSur Preboot path, then from that path you can edit with a plain text the content of this file .disk_label.contentDetails
Hello and thanks y'all for your help but I can't unzip it, when put the in the correct path it does not unzip unless it is hidden...
[automerge]1595940970[/automerge]
Yes
[automerge]1595775827[/automerge]

Do it like this and everything will be fine))

View attachment 937733View attachment 937721
View attachment 937722
Code:
Last login: Sun Jul 26 17:32:56 on ttys001
apple@ALEXs-Mac-Pro ~ % diskutil list                
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *512.1 GB   disk0
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk0s1
   2:                 Apple_APFS ⁨Container disk1⁩         256.0 GB   disk0s2
   3:                 Apple_APFS ⁨Container disk2⁩         241.0 GB   disk0s3
   4:                  Apple_HFS ⁨Install macOS Big Su...⁩ 14.7 GB    disk0s4
                    (free space)                         268.4 MB   -

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +256.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume ⁨Macintosh HD⁩            236.7 GB   disk1s1
   2:                APFS Volume ⁨Preboot⁩                 25.4 MB    disk1s2
   3:                APFS Volume ⁨Recovery⁩                507.5 MB   disk1s3
   4:                APFS Volume ⁨VM⁩                      20.5 KB    disk1s4

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +241.0 GB   disk2
                                 Physical Store disk0s3
   1:                APFS Volume ⁨BigSur - Data⁩           4.8 GB     disk2s1
   2:                APFS Volume ⁨Preboot⁩                 273.3 MB   disk2s2
   3:                APFS Volume ⁨Recovery⁩                887.8 MB   disk2s3
   4:                APFS Volume ⁨VM⁩                      1.1 MB     disk2s4
   5:                APFS Volume ⁨BigSur⁩                  15.5 GB    disk2s5
   6:              APFS Snapshot ⁨com.apple.os.update-...⁩ 15.5 GB    disk2s5s1

/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *15.6 GB    disk3
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk3s1
   2:                  Apple_HFS ⁨USB⁩                     15.2 GB    disk3s2

/dev/disk4 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.5 TB     disk4
   1:                        EFI ⁨EFI⁩                     209.7 MB   disk4s1
   2:                  Apple_HFS ⁨HDD⁩                     1.5 TB     disk4s2

apple@ALEXs-Mac-Pro ~ % sudo diskutil mount disk2s2  
Password:
Volume Preboot on disk2s2 mounted
apple@ALEXs-Mac-Pro ~ % ls -l /System/Volumes/Preboot
total 0
drwxr-xr-x  11 root  wheel  352 Jul 26 02:50 B78FCD7C-A366-4093-9C33-C78FF3AE61AF
apple@ALEXs-Mac-Pro ~ % sudo mv ~/Users/apple/Downloads/.disk_label.contentDetails /System/Volumes/Preboot/B78FCD7C-A366-4093-9C33-C78FF3AE61AF/System/Library/CoreServices/.disk_label.contentDetails


And got that... file is in fact hidden, but once you show it then you can edit it to whatever you want..

Thank y'all..
 
Right. Each bit disables a different thing.

Code:
#define CSR_ALLOW_UNTRUSTED_KEXTS            (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS            (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID               (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER            (1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL             (1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE        (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM         (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (1 << 7)
#define CSR_ALLOW_ANY_RECOVERY_OS            (1 << 8)
#define CSR_ALLOW_UNAPPROVED_KEXTS           (1 << 9)
#define CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (1 << 10)
        don't authenticated-root             (1 << 11)
I understand that. But 0x77 is :
Code:
#define CSR_ALLOW_UNTRUSTED_KEXTS            (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS            (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID               (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER            (0 << 3)
#define CSR_ALLOW_APPLE_INTERNAL             (1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE        (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM         (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (0 << 7)

0x877 is 1000 0111 0111 which means:
Code:
#define CSR_ALLOW_UNTRUSTED_KEXTS            (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS            (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID               (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER            (0 << 3)
#define CSR_ALLOW_APPLE_INTERNAL             (1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE        (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM         (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (0 << 7)
#define CSR_ALLOW_ANY_RECOVERY_OS            (0 << 8)
#define CSR_ALLOW_UNAPPROVED_KEXTS           (0 << 9)
#define CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (0 << 10)
        don't authenticated-root             (1 << 11)
and 0x7FF is 0111 1111 1111 , which is:
Code:
#define CSR_ALLOW_UNTRUSTED_KEXTS            (1 << 0)
#define CSR_ALLOW_UNRESTRICTED_FS            (1 << 1)
#define CSR_ALLOW_TASK_FOR_PID               (1 << 2)
#define CSR_ALLOW_KERNEL_DEBUGGER            (1 << 3)
#define CSR_ALLOW_APPLE_INTERNAL             (1 << 4)
#define CSR_ALLOW_UNRESTRICTED_DTRACE        (1 << 5)
#define CSR_ALLOW_UNRESTRICTED_NVRAM         (1 << 6)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (1 << 7)
#define CSR_ALLOW_ANY_RECOVERY_OS            (1 << 8)
#define CSR_ALLOW_UNAPPROVED_KEXTS           (1 << 9)
#define CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (1 << 10)
        don't authenticated-root             (0 << 11)
So 0x877 has less bits enabled than 0x7FF yet it reports properly csrutil status=disabled in Mojave, Catalina and BigSur. And it yields the same result as csrutil disable command from Recovery. Which means setting these:
Code:
#define CSR_ALLOW_KERNEL_DEBUGGER            (1 << 3)
#define CSR_ALLOW_DEVICE_CONFIGURATION       (1 << 7)
#define CSR_ALLOW_ANY_RECOVERY_OS            (1 << 8)
#define CSR_ALLOW_UNAPPROVED_KEXTS           (1 << 9)
#define CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (1 << 10
to 1 by 0x7FF and 0xFFF respectively gives us unsupported configuration.
 
Last edited:
dump_label () { local contents=$(xxd -p -c99999 "$1"); echo ${contents:10} | perl -pe "s/(..)/\1 /g;s/00/../g;s/ //g;s/(.{$((0x${contents:2:4}*2))})/\1\n/g" ; } eval "$(find /System/Volumes/Preboot*/*/System/Library/CoreServices -name '.disk_label*' | sed -nE '/(.*\/\.disk_label(_2x)?)$/s//echo "\1"; dump_label "\1"/p; /(.*\/\.disk_label\.contentDetails)$/s//echo "\1"; cat "\1"; echo/p')"

Sorry for the delay in responding I go busy with something entirely different for nearly a day.

Thanks.

Here is the result:

Screen Shot 2020-07-28 at 1.00.07 PM.png


I had already tried each of the suggestions above including omitting ~/, omitting Users/david/, and also having the file in the disk_label folder and having it just in Downloads and any other permutation I could think of.

Something clearly did work despite each returning an error notification of some sort. That's why I was able to report I had 'BigSur' as the boot picker label yesterday and no longer 'Preboot'

I'm going to keep a folder with all of this on a 2Tb 'Software' disk I keep with OS (mac, linux and windows) Installers and Software with the disk_label folder and hidden file as well as the terminal commands you provided to let me check that it has worked in the future should I need to start over during the beta cycle with a clean install.
 
Now look carefully where your file is and where is mine! You have it in the disk_label folder.
See how easy it is to do it.

This is the correct file path.
sudo mv ~/Downloads/disk_label/disk_label.contentDetails/System/Volumes/Preboot/1B08D35B-CCDB-4E60-8BCB-B5A71C2F9054/System/Library/CoreServices/.disk_label.contentDetails
Wait. That command is missing a space before /System. And the original download had the file at
~/Downloads/disk_label/.disk_label.contentDetails
but your path is missing the leading period . :
~/Downloads/disk_label/disk_label.contentDetails
Did you get the download from the same post #3,269 ? Maybe different macOS versions remove the leading period? Catalina preserves the leading period.

I had already tried each of the suggestions above including omitting ~/, omitting Users/david/, and also having the file in the disk_label folder and having it just in Downloads and any other permutation I could think of.
It's hard to tell what you did wrong if you don't show your work. If you can't discover the problem then we can't trust that you can describe accurately the situation or what you did. The statement that you tried every permutation you could think of contains no information because we don't know what you were thinking. You say you tried each of the suggestions above but we can't verify that you did not miss something (and we don't want to scroll up to see what the suggestions were).

Something clearly did work despite each returning an error notification of some sort. That's why I was able to report I had 'BigSur' as the boot picker label yesterday and no longer 'Preboot'
Yes, you have all three expected disk_label* files in the correct location and with the correct contents. I think there's some system task in macOS that updates disk_label* files automatically. I don't know what the task is or when it decides to start (it overwrites my custom multi-line labels sometimes which is annoying).
 
  • Like
Reactions: h9826790
I put up Big Sur using Open Core. Why is it that the Boot screen shows "Preboot" as the boot drive?
Thank!
[automerge]1595990527[/automerge]
 

Attachments

  • IMG_5058.jpg
    IMG_5058.jpg
    256.8 KB · Views: 127
Last edited:

Since I have not downloaded and installed yet Xcode 12, could you upload just the dyld_shared_cache_util?

Or provide a link to download the Xcode 12 command line tools, because I had issues in downloading them from BigSur .

edit:
I am downloading latest Xcode 11 for Catalina, since my main Xcode 10 is for Mojave, while the source dyld are from Catalina 10.15.3 SDK .

I'd want to avoid Xcode 12 for now, will report later if I can build a dyld_shared_cache_util that works for BigSur .

Tried all the steps as explained at this link: https://lapcatsoftware.com/articles/bigsur.html

used // to comment the # headers, and /* to comment the non required functions */
"dsc_extractor.bundle" is not exported as archive because it's already present on /Volumes/BigSurSystemLabel/usr/lib/ (and also on Catalina of course but not on Mojave)

But using Xcode 11.6 this dyld_shared_cache_util won't compile without warnings.

Here is attached, just tested and it worked correctly.
 

Attachments

  • xcode dyld compile.png
    xcode dyld compile.png
    593.4 KB · Views: 110
  • dyld_shared_cache_util.zip
    90.8 KB · Views: 99
Last edited:
Wait. That command is missing a space before /System. And the original download had the file at
~/Downloads/disk_label/.disk_label.contentDetails
but your path is missing the leading period . :
~/Downloads/disk_label/disk_label.contentDetails
Did you get the download from the same post #3,269 ? Maybe different macOS versions remove the leading period? Catalina preserves the leading period.


It's hard to tell what you did wrong if you don't show your work. If you can't discover the problem then we can't trust that you can describe accurately the situation or what you did. The statement that you tried every permutation you could think of contains no information because we don't know what you were thinking. You say you tried each of the suggestions above but we can't verify that you did not miss something (and we don't want to scroll up to see what the suggestions were).


Yes, you have all three expected disk_label* files in the correct location and with the correct contents. I think there's some system task in macOS that updates disk_label* files automatically. I don't know what the task is or when it decides to start (it overwrites my custom multi-line labels sometimes which is annoying).
Changed command space before / system. ))
Here is a video recorded who does not know how to do it
 
Last edited:
Does someone know how through OpenCore config.plist boot patched BaseSystem.dmg ?

Because from opencore I can boot any stock BaseSystem.dmg but not patched ones.

From verbose log OpenCore makes some DMG verification before booting it.
 
Since this is 133 pages long so far, I haven't read them all sorry. Is there any site that hosts OpenCore themes by any chance?
 
Attached are instructions to clone Opencore locally from the Git repository, update local repository when new commits are out and compile the rEFInd GOP version from source.
 

Attachments

  • Compile OC and Refind from Source.zip
    2 KB · Views: 94
Boot menu - CCC replicated drives have the same name

I am learning how to use OpenCore on testbed Mac Pro 5,1. I've got it working quite well, and it even seems to work fine with SIP turned on.

One thing I have found very puzzling is that I can't seem to sort out the drive names on the bootscreen. I initially installed OpenCore on a Mojave NVMe volume "Mojave NVMe 256". Then I used Carbon Copy Cloner to replicate "Mojave NVMe 256" onto another volume ""Mojave NVMe 512" and a third SATA SSD volume "Mojave Combitec". Now when I reboot, I see "Mojave NVMe 256" THREE times!

BTW picking the 2nd or 3rd entry in the list does boot from the ""Mojave NVMe 512" and "Mojave Combitec" drives. It's just not helpful, as I have no idea which of the three drives I'll get until I try it.

Is there a way I can update the names of the drives that show up in the boot list? Simply renaming the volumes in Finder does NOT alter how they appear in the list (image below).

open_core_duplicate_drive_names.jpg
 
The official shell.efi compiled from the OpenCore repo comes with this error for me and I cannot type:
1596221295967.png

I have another shell.efi version, which works fine and I can type in the shell environment.
 
Is there a way I can update the names of the drives that show up in the boot list? Simply renaming the volumes in Finder does NOT alter how they appear in the list (image below).

Look for PickerAttributes in the OpenCore manual.

OpenCore will use the pre-rendered labels given by the .disk_label and .disk_label_2x files located in /System/Library/CoreServices (of the volumes in question). These files are hidden so press Command+Shift+Dot to see them and repeat the same key combination to hide them again. If these files are missing, OpenCore will instead render the text in the .disk_label.contentDetails file.

You can use bless to regenerate the labels

Code:
sudo bless --folder "[path to CoreServices]" -label "Label Name"

and edit the .disk_label.contentDetails file with TextEdit.
 
Is there a way I can update the names of the drives that show up in the boot list? Simply renaming the volumes in Finder does NOT alter how they appear in the list (image below).

Known issue and OC Devs have as "WONTFIX".
See: https://github.com/acidanthera/bugtracker/issues/886

Try the changes suggested by cdf but if it doesn't work, I couldn't get mine to work, you need to patch OpenCore
My build script can do the patching: https://gist.github.com/dakanji/be49c4e591f20ae5ef0701ca1392e621

Better if you can fix the files though.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.