Jump to content
423 posts in this topic

Recommended Posts

2 hours ago, Sherlocks said:

still works that i tested. did you test it?
yesterday and today, im using this funtion on latest clover. this is for only legacy and emuvaribleuefi

나의 SM-N960N 의 Tapatalk에서 보냄
 

OK, I see this. But this is wrong codes. It should not be such that.

Clover should not delete nvram.plist. The file must be rewritten by OS when creating new file to avoid several files conflict. Because if you delete newest file then other file became newer. And Clover can't remove files from HFS/APFS volumes.

OK, I see this. But this is wrong codes. It should not be such that.

Clover should not delete nvram.plist. The file must be rewritten by OS when creating new file to avoid several files conflict. Because if you delete newest file then other file became newer. And Clover can't remove files from HFS/APFS volumes.

Because if you delete newest file then other file became newer. And Clover can't remove files from HFS/APFS volumes.

- yes. that's right. i said this true before to vector sigma.

 

question, clover always read chosen nvram.plist from any paritition if user use legacy or emuvariableuefi when getting gui.

like you said, if we dont have to remove any nvram.plist in macos, clover always find and read newest nvram.plist.

 

my point

how can we clean nvram plist if legacy or emuvariable? and if newest nvram.plist has dummy contents? becuase clover(legacy or emuvariable) always read nvram.plist, we never clean nvram.plist when getting gui.

to avoid that clover read nvram.plist and makes clean nvram, we dont have any nvram.plist when getting gui.

of course, newsest nvram.plist dont have Clover.* values and clean backlight level and etc if user use laptop.

 

 

나의 SM-N960N 의 Tapatalk에서 보냄

 

 

 

We should not touch nvram.plist, we should not clean it. DeleteFile() is wrong method.

The file nvram.plist must remain untouched.

Clover will read most recent file and read it contents to memory.

If we want to press F11 then we will clean the memory containing those variables. Then we can boot into the system which will not read nvram.plist. The system will read variables from memory which Clover set after reading nvram.plist and after we clean them if it happens.

Anyway the system will get variables from Clover not from files.

 

When we restart or shutdown the system then rc.script will dump those variables from memory to file. Only after that the contents of the file nvram.plist will be changed. It will include old variables obtained at start and new variables that macOS set by own reason.

We should not touch nvram.plist, we should not clean it. DeleteFile() is wrong method.
The file nvram.plist must remain untouched.
Clover will read most recent file and read it contents to memory.
If we want to press F11 then we will clean the memory containing those variables. Then we can boot into the system which will not read nvram.plist. The system will read variables from memory which Clover set after reading nvram.plist and after we clean them if it happens.
Anyway the system will get variables from Clover not from files.
 
When we restart or shutdown the system then rc.script will dump those variables from memory to file. Only after that the contents of the file nvram.plist will be changed. It will include old variables obtained at start and new variables that macOS set by own reason.
yes. that is true. this process i understood.
but in actual test, shown other result. for long time ago, when consider clean nvram both native and legacy(emuvariable), i tested it and told tluck and syscl this method and improved rc script to remove nvram.plist except ESP when logout or shutdown. clean nvram f11 too. if we find better solution compared before, should fix or impove it.

thanks in advance.

나의 SM-N960N 의 Tapatalk에서 보냄

HibernationFixup can't mount EFI and it can save nvram.plist only in own partition. So why I consider having multiple nvram.plist is better solution without removing any of them.

yes. but nvram.plist made by hibernationfix newer nvram.plist on own partition than nvram made by rc script on ESP. i remember that rc script not work when enter hibernate mode. rc script works for only logout and shutdown. clover read nvram.plist own parition.

then after booted macos, when user logout or shutdown, rc script update nvram.plist(example backlight level) on ESP and remove nvram.plist(hibernationfixup) on own parition.

example after restart from macos, clover read updated nvram.plist(mentioned backlight level) and put nvram values in memory from nvram.plist when getting gui.

 

나의 SM-N960N 의 Tapatalk에서 보냄

 

 

 

1 hour ago, Sherlocks said:

yes. but nvram.plist made by hibernationfix newer nvram.plist on own partition than nvram made by rc script on ESP. i remember that rc script not work when enter hibernate mode. rc script works for only logout and shutdown. clover read nvram.plist own parition.

then after booted macos, when user logout or shutdown, rc script update nvram.plist(example backlight level) on ESP and remove nvram.plist(hibernationfixup) on own parition.

example after restart from macos, clover read updated nvram.plist(mentioned backlight level) and put nvram values in memory from nvram.plist when getting gui.

 

나의 SM-N960N 의 Tapatalk에서 보냄

 

 

 

Yes, and this will work if we don't delete nvram.plist because we always get recent one.

And we can don't write nvram.plist to ESP. It is enough if it will be located in OS root.

Yes, and this will work if we don't delete nvram.plist because we always get recent one. And we can don't write nvram.plist to ESP. It is enough if it will be located in OS root.

 

if nvram.plist(dummy values) located in own macos parition, like you said "we can don't write nvram.plist to ESP", how can we clean nvram? for long time ago, ancient rc script makes nvram.plist in own parition. but after clean nvram issue on recent macos, tluck and syscl with me considered nvram.plist location and avoid any risk. clover always read nvram.plist not related clean or dummy.

 

 

sudo nvram -c is not working in recent macOS. bcuz of reason, so we now use f11.

of course, like vector said, we can remove each nvram values in macos by using type "sudo nvram -d values" in terminal. clover always want to read nvram.plist when getting gui until user remove nvram.plist in own macos partition. if there is no nvram.plist, clover skipped nvram.plist load. just put nvram values(fakesmc or backlight(not saved) or sound values) from datacpuhub.c in memory.

 

ofc, we can remove nvram values in already memory. but in actual test, system can't did it for long time ago. just need to restart system after remove nvram values. so when using f11, our system restart. but if restart system, clover always read nvram.plist again. so to avoid this risk, we have to remove nvram.plist.

this result is from my detail test.

 

 

just this case is only legacy and emuvariableuefi. native uefi system is no problem like you said.

 

thanks in advance

 

나의 SM-N960N 의 Tapatalk에서 보냄

 

 

 

 

 

We should not reboot after F11. We should boot system with variables in memory, clean or not or with additional variables.

Booted system will not read nvram.plist, it will use values from memory.

Moreover F11 do more work, it deletes variables with other GUIDs not written into nvram.plist. There is a case with EmuVariables that native NVRAM works at Clover time but not works in OS time (Z390 for example). nvram.plist will keep only variables with AppleBootGUID.

 

What is the case for reboot from Clover? To hear startup sound again?

nvram.plist will be renewed after the system will reboot or in the case of Hibernation. But in the hibernation case new nvram.plist will not be in ESP, it can be only in OS root.

 

Also consider a case when Clover installed in HFS+ or exFAT partition. It is possible but delete nvram.plist is not possible.

We should not reboot after F11. We should boot system with variables in memory, clean or not or with additional variables.

- yes. i first think this before implement f11. when using native nvram, there was no problem. but in legacy case, actually nvram values not removed. ofc, i tested it with nvram -p in macos. only restart system, it shown clean nvram. i will test it more.

 

Booted system will not read nvram.plist, it will use values from memory.

- yes. i know. i just mentioned only getting gui.

 

Moreover F11 do more work, it deletes variables with other GUIDs not written into nvram.plist. There is a case with EmuVariables that native NVRAM works at Clover time but not works in OS time (Z390 for example). nvram.plist will keep only variables with AppleBootGUID.

- yes. i arranged nvram values for long time ago.

https://github.com/CloverHackyColor/CloverBootloader/blob/master/rEFIt_UEFI/Platform/Nvram.c#L75

 

What is the case for reboot from Clover? To hear startup sound again?

- in test for long time ago, legacy system need restart to clean nvram after f11.

 

nvram.plist will be renewed after the system will reboot or in the case of Hibernation. But in the hibernation case new nvram.plist will not be in ESP, it can be only in OS root.

- yes. already know.

 

Also consider a case when Clover installed in HFS+ or exFAT partition. It is possible but delete nvram.plist is not possible.

- yes i mentioned only FAT32 before. HFS+ and etc, can't remove nvram.plist in gui. so if mbr user, can't remove nvram.plist.

 

i can test legacy and emuvariableuefi case. if you have improved code, i will test it.

 

here is our history

 

 

 

Edited by Sherlocks
Quote

- in test for long time ago, legacy system need restart to clean nvram after f11.

This is the question. Why legacy system need restart after F11? 

Clover at start will read nvram.plist and fill variables then it enters GUI.

Then we press F11 and clean those variables. What else? Why reboot? Why we will read those variable again? I think all variables ready to use without repeating the procedure.

1 hour ago, Slice said:

This is the question. Why legacy system need restart after F11? 

Clover at start will read nvram.plist and fill variables then it enters GUI.

Then we press F11 and clean those variables. What else? Why reboot? Why we will read those variable again? I think all variables ready to use without repeating the procedure.

 

Spoiler

here is proved result.

3:974  0:000  === [ PutNvramPlistToRtVars ] =============================
3:974  0:000   Adding Key: Clover.RootRW: Size = 4, Data: 74 72 75 65 
3:974  0:000   Adding Key: EFILoginHiDPI: Size = 4, Data: 00 00 00 00 
3:974  0:000   Skipping EmuVariableUefiPresent
3:974  0:000   Adding Key: LocationServicesEnabled: Size = 1, Data: 01 
3:974  0:000   Adding Key: SystemAudioVolume: Size = 1, Data: 36 
3:974  0:000   Adding Key: SystemAudioVolumeDB: Size = 1, Data: EC 
3:974  0:000   Adding Key: backlight-level: Size = 2, Data: 69 05 
3:974  0:000   Adding Key: bluetoothActiveControllerInfo: Size = 16, Data: 7A E0 89 04 00 00 00 00 40 14 AC D1 B8 E2 A4 D0 
3:974  0:000   Adding Key: csr-active-config: Size = 4, Data: 77 02 00 00 
3:974  0:000   Adding Key: flagstate: Size = 32, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
3:974  0:000   Adding Key: fmm-computer-name: Size = 25, Data: 53 68 65 72 6C 6F 63 6B 73 EC 9D 98 20 4D 61 63 42 6F 6F 6B C2 A0 50 72 6F 
3:974  0:000   Adding Key: prev-lang:kbd: Size = 4, Data: 6B 6F 3A 30 
3:974  0:000   Adding Key: security-mode: String: Size = 4, Val = 'none'
3:974  0:000   Adding Key: specialbootdevice: Size = 110, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 00 17 03 12 0A 00 01 00 00 00 00 00 04 01 2A 00 02 00 00 00 28 40 06 00 00 00 00 00 D8 77 48 17 00 00 00 00 36 92 99 D5 4B EA 15 44 AA 7E ED AA 77 BE E3 B3 02 02 04 03 24 00 F7 FC 74 BE 7C 0B F3 49 91 47 01 F4 04 2E 68 42 68 D2 10 D9 9A 90 F6 4C A9 5C A0 1D 3A 63 0F 97 7F FF 04 00 
3:974  0:000  found 2 handles with audio
3:974  0:000  got index=0
3:974  0:000  got volume 70

 

4:096  0:056  === [ GetEfiBootDeviceFromNvram ] =========================
4:096  0:000   - found entry 2. 'Boot macOS from Macintosh HD', Volume 'Macintosh HD', DevicePath 'PciRoot(0x0)\Pci(0x17,0x0)\Sata(0x1,0x0,0x0)\HD(2,GPT,D5999236-EA4B-4415-AA7E-EDAA77BEE3B3,0x64028,0x174877D8)\VenMedia(BE74FCF7-0B7C-49F3-9147-01F4042E6842,68D210D99A90F64CA95CA01D3A630F97)\System\Library\CoreServices\boot.efii'
4:096  0:000  EmuVariable UninstallEmulation: CloseEvent = Success, original var services restored
4:096  0:000  DefaultIndex=2 and MainMenu.EntryCount=9
4:096  0:000  Use anime=logo_3D frames=50
4:110  0:013   found 50 frames of the anime
4:110  0:000   Anime seems OK, init it
4:459  0:348  GUI ready
6:651  2:192  ResetEmuNvram: cleanup NVRAM variables
6:652  0:000  - [00]: 'boot-args' - not exists
6:652  0:000  - [01]: 'Clover.SoundDevice' - deleted it
6:653  0:000  - [02]: 'Clover.SoundVolume' - deleted it
6:654  0:000  - [03]: 'Clover.SoundIndex' - deleted it

6:654  0:000  - [04]: 'Device' - not exists
6:654  0:000  - [05]: 'Volume' - not exists
6:655  0:000  - [06]: 'Index' - not exists
7:775  1:120  exit from MainMenu 1
7:775  0:000  Boot option Boot0000 not found

 

 

Last login: Wed Nov 13 21:09:25 on console

sherlocks@SherloccBookPro ~ % nvram -p

csr-active-config w%02%00%00

fmm-computer-name Sherlocks%ec%9d%98 MacBook%c2%a0Pro

specialbootdevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%17%03%12%0a%00%01%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%d8wH%17%00%00%00%006%92%99%d5K%ea%15D%aa~%ed%aaw%be%e3%b3%02%02%04%03$%00%f7%fct%be|%0b%f3I%91G%01%f4%04.hBh%d2%10%d9%9a%90%f6L%a9\%a0%1d:c%0f%97%7f%ff%04%00

Clover.SoundVolume F

Clover.SoundIndex %00

EmuVariableUefiPresent Yes

security-mode none

flagstate %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00

SystemAudioVolumeDB %ec

prev-lang:kbd ko:0

Clover.RootRW true

Clover.SoundDevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%03%1f%03%0a%18%00%eb?%00%a9%06%d8%dbA%a4%91T%05%fe%efF%c3%00%00%00%00%7f%ff%04%00

EFILoginHiDPI %00%00%00%00

bluetoothActiveControllerInfo z%e0%89%04%00%00%00%00@%14%ac%d1%b8%e2%a4%d0

SystemAudioVolume 6

backlight-level i%05

LocationServicesEnabled %01

sherlocks@SherloccBookPro ~ % 

 

still alive Clover.SoundDevice/Clover.SoundVolume/Clover.SoundIndex

it was proved why we have to restart system after erase nvram values.

 

my steps

1. remove code that force reboot after f11, then uncomment DBG part

2. in gui, i press clover boot chime sound setting, and restart press "R"

3. getting gui with bootchime sound, then press f11, and boot macos

4. alive clover bootchime sound nvram value.

 

 

EDIT1.

try to test in latest clover. 

set bootchime sound in gui, then press "R"

then you get boot chime sound, then f11, system restart, you can't hear boot chime sound.

it was proved chime nvram values was removed.

 

EDIT2.

my steps

1. remove code that force reboot after f11, then uncomment DBG part

2. in gui, i press clover boot chime sound setting, and restart press "R"

3. getting gui with bootchime sound, then press f11, and boot macos

4. alive clover bootchime sound nvram value.

5. system reboot, and boot macos again, 

sherlocks@SherloccBookPro ~ % nvram -p

fmm-computer-name Sherlocks%ec%9d%98 MacBook%c2%a0Pro

specialbootdevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%17%03%12%0a%00%01%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%d8wH%17%00%00%00%006%92%99%d5K%ea%15D%aa~%ed%aaw%be%e3%b3%02%02%04%03$%00%f7%fct%be|%0b%f3I%91G%01%f4%04.hBh%d2%10%d9%9a%90%f6L%a9\%a0%1d:c%0f%97%7f%ff%04%00

EmuVariableUefiPresent Yes

security-mode none

flagstate %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00

SystemAudioVolumeDB %ec

prev-lang:kbd ko:0

Clover.RootRW true

bluetoothActiveControllerInfo z%e0%89%04%00%00%00%00@%14%ac%d1%b8%e2%a4%d0

EFILoginHiDPI %00%00%00%00

csr-active-config w%02%00%00

SystemAudioVolume 6

backlight-level i%05

LocationServicesEnabled %01

sherlocks@SherloccBookPro ~ % 

 

As result, we have to reboot once both native and emuvariable to get cleaned nvram status from delete in macos.

 

 

EDIT3.

Clover app 1.03 beta nvram.plist save function is not working. i nowreturn clover rc script and test again.

reason

Spoiler

- System start at 2019-11-13 09:38:59
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.
making '/' writable as Clover.RootRW=true

- System power off at 2019-11-13 09:40:15
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fb81e530140 [0x7fff90836fb0]> { URL = "file:///System/Library/Extensions/msdosfs.kext/", ID = "com.apple.filesystems.msdosfs" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fb81e60c1d0 [0x7fff90836fb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Mach.kext/", ID = "com.apple.kpi.mach" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fb81e60c590 [0x7fff90836fb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/", ID = "com.apple.kpi.unsupported" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fb81e60bf60 [0x7fff90836fb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Libkern.kext/", ID = "com.apple.kpi.libkern" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fb81e60be20 [0x7fff90836fb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext/", ID = "com.apple.kpi.bsd" }
Disabling KextAudit: SIP is off
(kernel) Kext loading is disabled.
Failed to load /System/Library/Extensions/msdosfs.kext - (libkern/kext) function disabled.
/System/Library/Extensions/msdosfs.kext failed to load - (libkern/kext) function disabled.
mount_msdos: msdos filesystem is not available
mount: /Volumes/WbgLApghrx failed with 71
Error: disk0s1 doesn't want to mount, try to save in /.

 

Edited by Sherlocks
3 hours ago, Slice said:

This is the question. Why legacy system need restart after F11? 

Clover at start will read nvram.plist and fill variables then it enters GUI.

Then we press F11 and clean those variables. What else? Why reboot? Why we will read those variable again? I think all variables ready to use without repeating the procedure.

 

clean setting

memoryfixv2 + emuvariablesuefi + clover rc script.

 

here is result

steps

1. in gui, make boot chime nvram value in sound setting.

2. press "r" and system restart.

3. get boot chime sound when getting gui, and boot macos.

4. and check nvram -p

Spoiler

LocationServicesEnabled %01

bluetoothActiveControllerInfo z%e0%89%04%00%00%00%00@%14%ac%d1%b8%e2%a4%d0

fmm-computer-name Sherlocks%ec%9d%98 MacBook%c2%a0Pro

Clover.SoundVolume F

Clover.SoundIndex %00

EmuVariableUefiPresent Yes

security-mode none

prev-lang:kbd ko:0

flagstate %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00

SystemAudioVolumeDB %ed

Clover.SoundDevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%03%1f%03%0a%18%00%eb?%00%a9%06%d8%dbA%a4%91T%05%fe%efF%c3%00%00%00%00%7f%ff%04%00

EFILoginHiDPI %00%00%00%00

csr-active-config w%02%00%00

backlight-level i%05

SystemAudioVolume 7

specialbootdevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%17%03%12%0a%00%01%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%d8wH%17%00%00%00%006%92%99%d5K%ea%15D%aa~%ed%aaw%be%e3%b3%02%02%04%03$%00%f7%fct%be|%0b%f3I%91G%01%f4%04.hBh%d2%10%d9%9a%90%f6L%a9\%a0%1d:c%0f%97%7f%ff%04%00

5. reboot system, ofc when reboot system, rc script updated nvram.plist included Clover.SoundVolume/Clover.SoundIndex/Clover.SoundDevice

1665620749_2019-11-1310_48_48.thumb.png.099f7c5e1a479c80b89cc69452869297.png

6. clover read nvram.plist in esp like this

Spoiler

3:964  0:000  === [ PutNvramPlistToRtVars ] =============================
3:964  0:000   Adding Key: Clover.SoundDevice: Size = 46, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 03 1F 03 0A 18 00 EB 3F 00 A9 06 D8 DB 41 A4 91 54 05 FE EF 46 C3 00 00 00 00 7F FF 04 00 
3:964  0:000   Adding Key: Clover.SoundIndex: Size = 1, Data: 00 
3:964  0:000   Adding Key: Clover.SoundVolume: Size = 1, Data: 46 
3:964  0:000   Adding Key: EFILoginHiDPI: Size = 4, Data: 00 00 00 00 
3:964  0:000   Skipping EmuVariableUefiPresent
3:964  0:000   Adding Key: LocationServicesEnabled: Size = 1, Data: 01 
3:964  0:000   Adding Key: SystemAudioVolume: Size = 1, Data: 37 
3:964  0:000   Adding Key: SystemAudioVolumeDB: Size = 1, Data: ED 
3:964  0:000   Adding Key: backlight-level: Size = 2, Data: 69 05 
3:964  0:000   Adding Key: bluetoothActiveControllerInfo: Size = 16, Data: 7A E0 89 04 00 00 00 00 40 14 AC D1 B8 E2 A4 D0 
3:964  0:000   Adding Key: csr-active-config: Size = 4, Data: 77 02 00 00 
3:964  0:000   Adding Key: flagstate: Size = 32, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
3:964  0:000   Adding Key: fmm-computer-name: Size = 25, Data: 53 68 65 72 6C 6F 63 6B 73 EC 9D 98 20 4D 61 63 42 6F 6F 6B C2 A0 50 72 6F 
3:964  0:000   Adding Key: prev-lang:kbd: Size = 4, Data: 6B 6F 3A 30 
3:964  0:000   Adding Key: security-mode: String: Size = 4, Val = 'none'
3:964  0:000   Adding Key: specialbootdevice: Size = 110, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 00 17 03 12 0A 00 01 00 00 00 00 00 04 01 2A 00 02 00 00 00 28 40 06 00 00 00 00 00 D8 77 48 17 00 00 00 00 36 92 99 D5 4B EA 15 44 AA 7E ED AA 77 BE E3 B3 02 02 04 03 24 00 F7 FC 74 BE 7C 0B F3 49 91 47 01 F4 04 2E 68 42 68 D2 10 D9 9A 90 F6 4C A9 5C A0 1D 3A 63 0F 97 7F FF 04 00 
3:964  0:000  found 2 handles with audio
3:964  0:000  got index=0
3:964  0:000  got volume 70
3:964  0:000  === [ InitTheme ] =========================================


7. then before press f11,

i rebuild clover to f11 with no reboot when press f11, and added debug log.

and press f11.

Spoiler

7:568  3:122  EmuVariable InstallEmulation: orig vars copied, emu.var.services installed, CreateEvent VirtualAddressChange = Success, CreateEvent ExitBootServices = Success, set Status=Success
7:623  0:054  === [ ResetNvram: cleanup GUIDs NVRAM variables ] =========
7:623  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundVolume...OK
7:623  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundDevice...OK
7:624  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundIndex...OK
7:624  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:EmuVariableUefiPresent...OK
7:624  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:EFILoginHiDPI...OK
7:625  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:LocationServicesEnabled...OK
7:625  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:SystemAudioVolume...OK
7:625  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:SystemAudioVolumeDB...OK
7:625  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:backlight-level...OK
7:626  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:bluetoothActiveControllerInfo...OK
7:626  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:csr-active-config...OK
7:626  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:flagstate...OK
7:627  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:fmm-computer-name...OK
7:627  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:prev-lang:kbd...OK
7:627  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:security-mode...OK
7:628  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:specialbootdevice...OK
7:628  0:000  Deleting E09B9297-7928-4440-9AAB-D1F8536FBF0A:vsmc-status...OK
7:628  0:000  ResetEmuNvram: cleanup Specific NVRAM variables
7:628  0:000  - [00]: 'boot-args' - not exists
7:628  0:000  - [01]: 'Clover.SoundDevice' - not exists
7:628  0:000  - [02]: 'Clover.SoundVolume' - not exists
7:628  0:000  - [03]: 'Clover.SoundIndex' - not exists
7:628  0:000  - [04]: 'Device' - not exists
7:628  0:000  - [05]: 'Volume' - not exists
7:628  0:000  - [06]: 'Index' - not exists
7:628  0:000  EmuVariable UninstallEmulation: CloseEvent = Success, original var services restored

 

i considered GUIDs and Specific nvram values boot-args/Clover.SoundDevice/Clover.SoundVolume/Clover.SoundIndex

 

7. boot macos, and check nvram -p

Spoiler

sherlocks@SherloccBookPro ~ % nvram -p

LocationServicesEnabled %01

bluetoothActiveControllerInfo z%e0%89%04%00%00%00%00@%14%ac%d1%b8%e2%a4%d0

fmm-computer-name Sherlocks%ec%9d%98 MacBook%c2%a0Pro

Clover.SoundVolume F

Clover.SoundIndex %00

EmuVariableUefiPresent Yes

security-mode none

prev-lang:kbd ko:0

flagstate %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00

SystemAudioVolumeDB %ed

Clover.SoundDevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%03%1f%03%0a%18%00%eb?%00%a9%06%d8%dbA%a4%91T%05%fe%efF%c3%00%00%00%00%7f%ff%04%00

EFILoginHiDPI %00%00%00%00

csr-active-config w%02%00%00

backlight-level i%05

SystemAudioVolume 7

specialbootdevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%17%03%12%0a%00%01%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%d8wH%17%00%00%00%006%92%99%d5K%ea%15D%aa~%ed%aaw%be%e3%b3%02%02%04%03$%00%f7%fct%be|%0b%f3I%91G%01%f4%04.hBh%d2%10%d9%9a%90%f6L%a9\%a0%1d:c%0f%97%7f%ff%04%00

sherlocks@SherloccBookPro ~ % 

 

yes alived clover sound nvram values

7. just reboot with no touch everything, and getting gui, just boot macos, recheck nvram -p. ofc when getting boot chime sound,

it means clover sound values alive although to remove these keys when previous booting

7:623  0:054  === [ ResetNvram: cleanup GUIDs NVRAM variables ] =========
7:623  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundVolume...OK
7:623  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundDevice...OK
7:624  0:000  Deleting 7C436110-AB2A-4BBB-A880-FE41995C9F82:Clover.SoundIndex...OK

 

and check clover boot log and nvram -p

Spoiler

3:964  0:000  === [ PutNvramPlistToRtVars ] =============================
3:964  0:000   Adding Key: Clover.SoundDevice: Size = 46, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 03 1F 03 0A 18 00 EB 3F 00 A9 06 D8 DB 41 A4 91 54 05 FE EF 46 C3 00 00 00 00 7F FF 04 00 
3:964  0:000   Adding Key: Clover.SoundIndex: Size = 1, Data: 00 
3:964  0:000   Adding Key: Clover.SoundVolume: Size = 1, Data: 46 
3:964  0:000   Adding Key: EFILoginHiDPI: Size = 4, Data: 00 00 00 00 
3:964  0:000   Skipping EmuVariableUefiPresent
3:964  0:000   Adding Key: LocationServicesEnabled: Size = 1, Data: 01 
3:964  0:000   Adding Key: SystemAudioVolume: Size = 1, Data: 37 
3:964  0:000   Adding Key: SystemAudioVolumeDB: Size = 1, Data: ED 
3:964  0:000   Adding Key: backlight-level: Size = 2, Data: 69 05 
3:964  0:000   Adding Key: bluetoothActiveControllerInfo: Size = 16, Data: 7A E0 89 04 00 00 00 00 40 14 AC D1 B8 E2 A4 D0 
3:964  0:000   Adding Key: csr-active-config: Size = 4, Data: 77 02 00 00 
3:964  0:000   Adding Key: flagstate: Size = 32, Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
3:964  0:000   Adding Key: fmm-computer-name: Size = 25, Data: 53 68 65 72 6C 6F 63 6B 73 EC 9D 98 20 4D 61 63 42 6F 6F 6B C2 A0 50 72 6F 
3:964  0:000   Adding Key: prev-lang:kbd: Size = 4, Data: 6B 6F 3A 30 
3:964  0:000   Adding Key: security-mode: String: Size = 4, Val = 'none'
3:964  0:000   Adding Key: specialbootdevice: Size = 110, Data: 02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00 00 17 03 12 0A 00 01 00 00 00 00 00 04 01 2A 00 02 00 00 00 28 40 06 00 00 00 00 00 D8 77 48 17 00 00 00 00 36 92 99 D5 4B EA 15 44 AA 7E ED AA 77 BE E3 B3 02 02 04 03 24 00 F7 FC 74 BE 7C 0B F3 49 91 47 01 F4 04 2E 68 42 68 D2 10 D9 9A 90 F6 4C A9 5C A0 1D 3A 63 0F 97 7F FF 04 00 
3:965  0:000  found 2 handles with audio
3:965  0:000  got index=0
3:965  0:000  got volume 70

Spoiler

sherlocks@SherloccBookPro ~ % nvram -p

csr-active-config w%02%00%00

fmm-computer-name Sherlocks%ec%9d%98 MacBook%c2%a0Pro

specialbootdevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%00%17%03%12%0a%00%01%00%00%00%00%00%04%01*%00%02%00%00%00(@%06%00%00%00%00%00%d8wH%17%00%00%00%006%92%99%d5K%ea%15D%aa~%ed%aaw%be%e3%b3%02%02%04%03$%00%f7%fct%be|%0b%f3I%91G%01%f4%04.hBh%d2%10%d9%9a%90%f6L%a9\%a0%1d:c%0f%97%7f%ff%04%00

Clover.SoundVolume F

Clover.SoundIndex %00

EmuVariableUefiPresent Yes

security-mode none

flagstate %00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00

SystemAudioVolumeDB %ed

prev-lang:kbd ko:0

Clover.SoundDevice %02%01%0c%00%d0A%03%0a%00%00%00%00%01%01%06%00%03%1f%03%0a%18%00%eb?%00%a9%06%d8%dbA%a4%91T%05%fe%efF%c3%00%00%00%00%7f%ff%04%00

EFILoginHiDPI %00%00%00%00

bluetoothActiveControllerInfo z%e0%89%04%00%00%00%00@%14%ac%d1%b8%e2%a4%d0

SystemAudioVolume 7

backlight-level i%05

LocationServicesEnabled %01

sherlocks@SherloccBookPro ~ % 

 

it was proved, it's not properly working.

 

EDIT1

we discussed rc script for long time ago, 2017.

we already fixed it all cases. rc script perfectly makes nvram.plist if user use legacy and emuvariablesuefi.

 

Edited by Sherlocks

@vector sigmaHi, I am in the middle of translating to Czech, but without testing the app, I am not sure if my translation will make any sense in some contexts. If I build the app and run it, does it "do" anything right away or do I have to click the update button first to actually migrate from Clover installer to this app? Thanks

  • Like 1
5 hours ago, Sherlocks said:

we discussed rc script for long time ago, 2017.

You did not paid attention to what I said here. rc scripts works well for you, but not for me (it write to /) while my solution works well here but not for you. So any of you concerns about f11, deleting the nvram.plist in the ESP if no nvram.plist exist there, simply bring me to no where. Works but for you. Plus, never I see a bootloader that delete files, it is simply a horrific thing.

Second, rc scripts are one of the causes of the failures of the package because it want to write to the system directories while this is disallowed in Catalina (installer.app detect that the pkg potentially can install things to the System and deny you to go on, unless you make it read write. There are chances this will be simply no longer possible in 10.16) and for this I don't want to install extraneous files into the System, except the nvram.plist if strictly needed.

 

I'll be honest, please forget rc scripts here, if You guys make 6 years to make it works,  I think you can give me 6 days to debug a new and cleaner solution. You said 1.01 worked. The code is saved at github in a old commit, but then a lot of problems unrelated to "mount" comes,  we need to focus to one thing at time.

This app was created to get rid of all the package limits... is not cool, is not strictly needed, but have to be at least better of the package to have a sense.

I'll post news here again but I'll be slower than last days because now I've started working again after an accident to a leg.

Edited by vector sigma
  • Like 1
4 hours ago, Hologos said:

@vector sigmaHi, I am in the middle of translating to Czech, but without testing the app, I am not sure if my translation will make any sense in some contexts. If I build the app and run it, does it "do" anything right away or do I have to click the update button first to actually migrate from Clover installer to this app? Thanks

Hi, running the app without installing anything does nothing, it is just "inert". To translate it, you just need to make a copy of en.strings to cs.strings and start translating it, even on a already built application.

You did not paid attention to what I said here. rc scripts works well for you, but not for me (it write to /) while my solution works well here but not for you. So any of you concerns about f11, deleting the nvram.plist in the ESP if no nvram.plist exist there, simply bring me to no where. Works but for you. Plus, never I see a bootloader that delete files, it is simply a horrific thing.
Second, rc scripts are one of the causes of the failures of the package because it want to write to the system directories while this is disallowed in Catalina (installer.app detect that the pkg potentially can install things to the System and deny you to go on, unless you make it read write. There are chances this will be simply no longer possible in 10.16) and for this I don't want to install extraneous files into the System, except the nvram.plist if strictly needed.
 
I'll be honest, please forget rc scripts here, if You guys make 6 years to make it works,  I think you can give me 6 days to debug a new and cleaner solution. You said 1.01 worked. The code is saved at github in a old commit, bu then a lot of problems unrelated to "mount" comes,  we need to focus to one thing at time.
This app was created to get rid of all the package limits... is not cool, is not strictly needed, but have to be at least better of the package to have a sense.
I'll post news here again but I'll be slower than ol days because now I've started working again after an accident to a leg.
thank you for clean up.
i just replied log of fail case above as proved. since finished all process of rc script, there was no problem for 2 years.

i will wait your new beta app. hope you will be recovery from accidant.

thanks Slice and vector.

나의 SM-N960N 의 Tapatalk에서 보냄

  • Thanks 1
4 minutes ago, Sherlocks said:

thank you for clean up.

had to be honest :blush:

5 minutes ago, Sherlocks said:

i will wait your new beta app. hope you will be recovery from accidant

I'll give you just the daemon to be quick. Thanks, I'm already well, in fact I'm back at job :)

  • Like 2

legacy boot, installed by Clover.app, does not boot

blinking cursor instead of boot6

 

when executed from Terminal

sudo fdisk -f ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/standalone/i386/boot0af  -u /dev/rdisk2
sudo ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/local/bin/boot1-install -f ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/standalone/i386/boot1f32 /dev/rdisk2s1

it works Ok

Edited by Rodion2010
  • Like 1
On 11/16/2019 at 9:24 AM, Rodion2010 said:

legacy boot, installed by Clover.app, does not boot

blinking cursor instead of boot6

 

when executed from Terminal


sudo fdisk -f ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/standalone/i386/boot0af  -u /dev/rdisk2
sudo ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/local/bin/boot1-install -f ~/src/CloverBootloader/CloverPackage/sym/CloverCD/usr/standalone/i386/boot1f32 /dev/rdisk2s1

it works Ok

Thanks so much for the report. In truth, I already wanted to do it this way, but I used the same code that has been in the installer for a long time which use dd instead.

So I made as you said, but had to detect if target disk is "/" and pass the -M option accordingly to keep the root filesystem mounted as can't be otherwise. Can you test the modified script to see if the problem is solved?

Thanks in advance

 

 

{removed}

Edited by vector sigma
  • Like 1

@vector sigma

hi. can you fix 70.disable_sleep_proxy_client.local old script?

Spoiler

#!/bin/bash

#
# disable mDNSResponder sleep proxy client
# this will prevent the system waking from sleep every hours
#
# © JrCs 2013


# Check that all variable are bound
set -u

#
# Source clover rc library if needed
#
if [[ ! "$(type -t GetNVRamKey)" == "function" ]]; then
    selfDir=$(cd $(dirname "$0") && pwd -P)
    source "${selfDir}"/../rc.clover.lib
fi

# Variables
mDNSResponderPList=/System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
pListBuddy=/usr/libexec/PlistBuddy
disableOption='-DisableSleepProxyClient'

# Debug mode ?
[[ "$DEBUG" -ne 0 ]] && set -x

[[ ! -f "$mDNSResponderPList" ]] && exit 0

# Check if sleep proxy is not already disabled
already_disabled=$($pListBuddy -c 'Print ProgramArguments:' \
 "$mDNSResponderPList" | grep -c -- "$disableOption")

if [[ $already_disabled -eq 0 ]]; then
    echo "Disabling mDNS responder sleep proxy"
    $pListBuddy -c "Add ProgramArguments: string $disableOption" \
     "$mDNSResponderPList"
else
    echo "mDNS responder sleep proxy already disabled"
fi

# Local Variables:      #
# mode: ksh             #
# tab-width: 4          #
# indent-tabs-mode: nil #
# End:                  #
#
# vi: set expandtab ts=4 sw=4 sts=4: #
 

 

this is old script.

i checked log.

-------------------------------
DATE: 2019-11-17 TIME: 23:01:30
-------------------------------
>> Begin Script: /private/etc/rc.boot.d/10.save_and_rotate_boot_log.local
Clover boot messages saved in /Library/Logs/CloverEFI/boot.log
>> End Script: /private/etc/rc.boot.d/10.save_and_rotate_boot_log.local

>> Begin Script: /private/etc/rc.boot.d/20.mount_ESP.local
Not auto mounting EFI partition
v1.16.2 (c) 2017 syscl/lighting/Yating Zhou, tluck, Sherlocks
Registering LogoutHook as /Library/Application Support/Clover/CloverDaemon-stopservice
>> End Script: /private/etc/rc.boot.d/20.mount_ESP.local

>> Begin Script: /private/etc/rc.boot.d/70.disable_sleep_proxy_client.local
Disabling mDNS responder sleep proxy
>> End Script: /private/etc/rc.boot.d/70.disable_sleep_proxy_client.local
 

but actually in com.apple.mDNSResponder.plist, there was no "-DisableSleepProxyClient" on ProgramArguments.

  • Like 1

Clover.app v1.05 Beta at first post with some fix:

  • boot1 installation use boot1-install only as suggested by @Rodion2010
  • improvement in mount/umount functions
  • Added Indonesian and Serbian translations thanks to @Badruzeus and @crusher
  • New way to dump the nvram for Clover EFI

@Sherlocks, hope it will work for you.

  • Like 4
18 hours ago, vector sigma said:

Clover.app v1.05 Beta at first post with some fix:

  • boot1 installation use boot1-install only as suggested by @Rodion2010
  • improvement in mount/umount functions
  • Added Indonesian and Serbian translations thanks to @Badruzeus and @crusher
  • New way to dump the nvram for Clover EFI

@Sherlocks, hope it will work for you.

 

first of all thank you for hard work.

i tested it.  but shown loop issue when logout. i can't logout. if follow this process.

 

1. copy nvram.plist in root of own macos partition and HFS+ data partition for testing.

2. and reboot, logout hang on. force press power button, and boot macos again.

i got this log

Spoiler

nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:49
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50
Detected ESP disk0s1 as boot device.
nvram correctly saved to /Volumes/EFI with UUID: 0E239BC6-F960-3107-89CF-1C97F78BB46B.
- CloverLogOut: begin at 2019-11-18 08:38:50---------------------------------------------------
CloverDaemon start at 2019-11-18 20:39:40
---------------------------------------------------
/Library/LaunchDaemons/com.projectosx.clover.daemon.plist: Operation now in progress
 

 

EDIT1

everytimes, now hang on logout screen. 

Edited by Sherlocks
33 minutes ago, Sherlocks said:

i tested it.  but shown loop issue when logout. i can't logout.

Sorry for the inconvenience, but you just give me a good new as mount finally works for you. This is the code:

if (disk != nil) {
        // get the mount point or mount it
        var mounted : Bool = false
        if let mp = getMountPoint(from: disk!) {
          mounted = true
          saveNVRAM(nvram: nvram, volume: mp)
          return
        }
        if !mounted {
          log("mount begin for \(disk!)..")
          var mountattempts : Int = 0
          repeat {
            mount(disk: disk!, at: nil) { (result) in
              mountattempts+=1
              sleep(1)
              if result == true {
                var attempts = 0
                repeat {
                  sleep(1)
                  attempts+=1
                  if let mp = getMountPoint(from: disk!) {
                    mounted = true
                    mountattempts = 5
                    saveNVRAM(nvram: nvram, volume: mp)
                    sleep(1)
                    umount(disk: disk!, force: true)
                    break
                  }
                } while (getMountPoint(from: disk!) == nil || attempts > 10)
                
              }
            }
            
          } while mountattempts < 5

There are two loops, one for mount and one to wait for the mount point to appear. This is easy to fix by force to break the first loop as soon the volume is mounted. Now I have no time but I will within 4 hours.

P.S. as far I can see mount succeded at first attempt, and maybe there's no need for a loop.

  • Like 1
×
×
  • Create New...