Jump to content

Clover.app testing


vector sigma
423 posts in this topic

Recommended Posts

18 hours ago, vector sigma said:

Done!

 

Clover.app v1.03 Beta, I made some changes and now here looks really cool.

 

Summarize of what CloverDaemonNew does:

 

  1. Start when system start and it clean all nvram.plist in all volumes, except if the volume is the boot device. It mount the filesystem read-write as requested (if you wanted this). Disable the Sleep Proxy Client if requested (to do that the file system must be mounted read-write if isn't).
  2. It's registered to intercept when the System is going to sleep, but does nothing.
  3. It's registered to intercept when the System wake from sleep and does nothing, but now if a /nvram.plist exist after wake it print existing Apple variables keys to the log (ones with 8BE4DF61-93CA-11D2-AA0D-00E098032B8C: prefix, so we know what's going on).
  4. At shut down/restart, if Emuvariable exist, it save the nvram to the boot partition but if can't mount it, it saves to /nvram.plist. To do that ensure the DiskManagement and DiskArbitration are loaded and not unloaded by the System. 10 attempts otherwise it saves to /. Then disable the Sleep proxy Client, if you wanted this, if there any time left by the SIGTERM and SIGKILL is not yet received, otherwise no matter what.

 


--------------------------------------------
- CloverDaemonNew v1.01
- System start at 2019-11-10 04:48:25
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Catalina'
Started with Clover r5098.
making '/' writable as Clover.RootRW=true
try to making '/' writable as Clover.DisableSleepProxyClient=true.
DisableSleepProxyClient: service already disabled


- System power off at 2019-11-10 04:51:30
- CloverDaemonNew v1.01
DisableSleepProxyClient: service already disabled

nvram saved to disk with UUID 0E239BC6-F960-3107-89CF-1C97F78BB46B
1 attempts required.

Please try

 

 

 

thank you for hard work. 

i tested it.

 

1. i placed nvram.plist to mac data partition and macos partition. clover daemon remove nvram.plist after wakeup. is it normal right?

cloverdaemon always remove nvram.plist when wakeup everytime?. i think it is better for only logout and shutdown case.

 

2. i try to disable the Sleep Proxy Client in app, then uncheck checkbox, and check nvram -p. there is no "Clover.DisableSleepProxyClient true" key.

but restart still getting Clover.DisableSleepProxyClient true value. seems like nvram.plist is not update when restart. there was no problem that this problem in 1.01 alpha.

clover app still is not commute with Clover.DisableSleepProxyClient of nvram value.

if Clover.DisableSleepProxyClient is remove in nvram, app need to read uncheck box, but checked box.

if Clover.DisableSleepProxyClient is in nvram, app need to read check box.

 

thanks in advance

 

EDIT1

here is cloverdaemon log

Spoiler

--------------------------------------------
- CloverDaemonNew v1.01
- System start at 2019-11-11 07:19:11
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.
DisableSleepProxyClient: service already disabled

old '/nvram.plist' removed.
old '/Volumes/Mac Data/nvram.plist' removed.

- System power off at 2019-11-11 07:19:37
- CloverDaemonNew v1.01
DisableSleepProxyClient: service already disabled

nvram saved to disk with UUID 0E239BC6-F960-3107-89CF-1C97F78BB46B
--------------------------------------------
- CloverDaemonNew v1.01
- System start at 2019-11-11 07:39:40
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.
DisableSleepProxyClient: service already disabled

System awaken at 2019-11월-11 07:39:42

- System power off at 2019-11-11 07:44:02
- CloverDaemonNew v1.01
nvram saved to disk with UUID 0E239BC6-F960-3107-89CF-1C97F78BB46B
1 attempts required.
--------------------------------------------
- CloverDaemonNew v1.01
- System start at 2019-11-11 07:44:45
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.
making '/' writable as Clover.RootRW=true
try to making '/' writable as Clover.DisableSleepProxyClient=true.
DisableSleepProxyClient: service already disabled


- System power off at 2019-11-11 07:45:51
- CloverDaemonNew v1.01

 

also seems some cosemetic issue?

System awaken at 2019-11-11 07:39:42

 

 

Edited by Sherlocks
Link to comment
Share on other sites

1 minute ago, Sherlocks said:

 

thank you for hard work. 

i tested it.

 

1. i placed nvram.plist to mac data partition and macos partition. clover daemon remove nvram.plist after wakeup. is it normal right?

cloverdaemon always remove nvram.plist when wakeup everytime?. i think it is better for only logout and shutdown case.

 

2. i try to disable the Sleep Proxy Client in app, then uncheck checkbox, and check nvram -p. there is no "Clover.DisableSleepProxyClient true" key.

but restart still getting Clover.DisableSleepProxyClient true value. seems like nvram.plist is not update when restart. there was no problem that this problem in 1.01 alpha.

clover app still is not commute with Clover.DisableSleepProxyClient of nvram value.

if Clover.DisableSleepProxyClient is remove in nvram, app need to read uncheck box, but checked box.

if Clover.DisableSleepProxyClient is in nvram, app need to read check box.

 

thanks in advance

Reboot twice

  • Like 1
Link to comment
Share on other sites

Well, I consider to help with Indonesia (id.po) translation.

But currently having this build issue using Xcode 10,1 + Swift 4.2 under macOS High Sierra.

Are Xcode 10.2+ & Swift 5.0 (Mojave or later) required for building Clover app? Thanks -_-

 

Screen Shot 2019-11-11 at 16.28.15.jpg

Edited by Badruzeus
Link to comment
Share on other sites

7 minutes ago, Badruzeus said:

Well, I consider to help with Indonesia (id.po) translation.

Thanks!

 

8 minutes ago, Badruzeus said:

But currently having this build issue using Xcode 10,1 + Swift 4.2 under macOS High Sierra.

Are Xcode 10.2+ & Swift 5.0 (Mojave or later) required for building Clover app? Thanks -_-

swift 5 is strictly required, and to use last Catalina feautures you need Xcode 11.

32 minutes ago, artur_pt said:

is good , nice work vector sigma

Thanks!

1 hour ago, Matgen84 said:

Hi @vector sigma

 

Thanks for your great works :)

 

Sorry for my stupid question: what is the good number version for your app: 1.03 Beta or 1.04 in Xcode source. Clover Daemon is v1.01. I do not understand.

The last app versionis always at github and i can grow the revision when i made changes to the app. The CloverDaemonNew has its own version since it run separately by the app (you can choose to stay with an old revision, so to track bugs is good to know if and when a new version is better or not of the old one)

39 minutes ago, crusher said:

Serbian language 

SR.strings.zip

Thanks! I'll add it as soon I've done some tests.

  • Like 2
  • Sad 1
Link to comment
Share on other sites

9 minutes ago, vector sigma said:

swift 5 is strictly required, and to use last Catalina feautures you need Xcode 11.

 

Oh man, that' s not fancy.. but let me try to learn something from given link

(though I previously was unable solving similar Swift Compiler error except upgrading Xcode).

Thanks anyway.

 

Screen Shot 2019-11-11 at 19.44.13.jpg

Edited by Badruzeus
Link to comment
Share on other sites

1 hour ago, Sherlocks said:

i disabled(uncheck) DisableSleepProxyClient in app. and check nvram -p

after reboot, i check no changed com.apple.mDNSResponder.plist. it has still -DisableSleepProxyClient.

Yep just like the pkg there was no way to re enable the service, but now there is.

I the latest daemon all the errors where send to a null device while the attached one has little modifications to understand the problem (so it will show probably some garbage). 

 

To manually install it place it to the ~/Desktop and then:

sudo ~/Desktop/CloverDaemonNew --install
1 hour ago, Sherlocks said:

also seems some cosemetic issue?

System awaken at 2019-11-11 07:39:42

The date is localized, and it should print in your native language but since is not a reach text format shows artifacts. I'll fix it later.

 

P.S. sorry for too much tests, but here always work, no matter the modifications I made to it, otherwise I'll didn't propose you to test it.

Edited by vector sigma
  • Like 1
Link to comment
Share on other sites

4 minutes ago, Badruzeus said:

Oh man, that' s not fancy..

New code written in swift 5 will not compile in swift 4.2 (while it does the opposite), and "raw string literal"  which I'm using for some delicate tasks cannot be used in old versions. Not sure the snapshot is recent and ABI compatible, while the one included in Xcode is for sure. 

 

 

  • Thanks 1
Link to comment
Share on other sites

42 minutes ago, vector sigma said:

@Sherlocks, since we can make the file system writable with extreme ease, and with extreme ease we can remove old files in all volumes (also skipping the current), what the purpose of still dumping to the ESP? :o Any particular reason? 

 

 

**background
- legacy and emuvariableuefi: this system can't save nvram values in macos. we can use nvram function in macos, but actually, after restart, there is no saved nvram value in memory compared native nvram. because of reason, we use rc script to keep nvram values(we changed it in macos) by using nvram.plist.

 

**workaround
- clover always read nvram.plist if uses emuvariableuefi and legacy when getting clover gui, then put the contents of nvram.plist to memory. example system remember backlight level from nvram.plist.

- clover(emuvariableuefi and legacy) always read latest date nvram.plist in root of all volumes. in gui, clover can remove nvram.plist in only ESP. bcuz fat32 support r/w in clover GUI. other format(apfs,hfs+) support only read. so we have to save nvram.plist in ESP to remove nvram.plist for clean nvram F11. because clover always read nvram.pist. if we want clean nvram, we have to avoid that clover read any nvram.plist of all volumes when getting clover gui. it means there are no nvram.plist everywhere. so old rc script remove nvram.plist of volumes except ESP when logout or shutdown or restart. there is nvram.plist  in ESP, we can remove nvram.plist in clover gui like i said before. and update that user change nvram info in nvram.plist file.

 

**hibernatiofixup
- it saves nvram.plist in root of mac partition. old rcscript consider to remove nvram.plist only logout and shutdown and restart. that enter hibernate mode is not logout and restart and shutdown. just enter mode, so nvram.plist survive in root of mac partition. of course, we have a nvram.plist in ESP. as result, we have two nvram.plist. but nvram.plist that hibernatefixup made has latest date, so clover read nvram.plist hibernate mode info that Slice mentioned "boot0082, boot-image, boot-signature". and put these hibernate info in memory when getting gui. then we can boot hibernated disk. enter hibernated mac partition, we can see desktop. then when we restart or shutdown, old rcscript start to remove nvram.plist of all volumes, and update nvram.plist in ESP. additionally, after enter hibernated disk, "boot0082, boot-image, boot-signature" keys removed like we type "sudo nvram -d boot0082", so rc script update nvram.plist in ESP. there is no save hibernate keys.

 

this is ideal for keeping clear nvram.

 

old rc script considered all cases. actually, for long time, there is no problem with combination F11.

 

 

thanks in advance.

sorry for my bad english.

 

 

Edited by Sherlocks
Link to comment
Share on other sites

55 minutes ago, vector sigma said:

New code written in swift 5 will not compile in swift 4.2 (while it does the opposite), and "raw string literal"  which I'm using for some delicate tasks cannot be used in old versions. Not sure the snapshot is recent and ABI compatible, while the one included in Xcode is for sure.

 

Not really sure if I did bad thing with ~/src/Clover/CloverApp/Clover/Extensions.swift, but it let me build with Xcode 10,1 & Swift 5.0-dev. Though, yeah.. I may consider upgrading Xcode later. Thanks.

 

Screen Shot 2019-11-11 at 20.46.59.jpg

Edited by Badruzeus
Link to comment
Share on other sites

11 minutes ago, Sherlocks said:

so we have to save nvram.plist in ESP to remove nvram.plist for clean nvram F11

Ok I forgot this. Anyway did you check this build?

14 minutes ago, Badruzeus said:

Not really sure if I did bad thing

It is currently unused as I plane to use it to call mount with a special argument.

  • Like 1
Link to comment
Share on other sites

5 minutes ago, vector sigma said:

It is currently unused as I plane to use it to call mount with a special argument.

 

OK, nevermind. At least, for now it' s enough for me to test Indonesian id.string with current Xcode 10,1.

Nice work @vector sigma, it seems just need few adaptions from prev. Clover *.pot / id.po

Have a nice day and I'll let you know once I've done. Thanks.

  • Thanks 1
Link to comment
Share on other sites

2 minutes ago, vector sigma said:

the first time yes. Then it will be ok. Can I have the log please?

To be clear it start working after shut down/restart, but then the nvram will be dumped when you will turn off your pc again. Why you see it work after two reboots.

2 minutes ago, Badruzeus said:

Have a nice day and I'll let you know once I've done. Thanks.

Thanks to you :)

  • Like 1
Link to comment
Share on other sites

9 minutes ago, vector sigma said:

the first time yes. Then it will be ok. Can I have the log please?

 

after uncheck disable sleep, reboot 1 time, and check nvram -p

and check mDNSResponder.plist.

310114884_2019-11-1111_14_49.png.6eced413301bcb9aa0cba770eb6fa46f.png

 

 

and here is log

--------------------------------------------
- CloverDaemonNew v1.01
- System start at 2019-11-11 10:25:17
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.
System awaken at 2019-11월-11 22:25:19

- System power off at 2019-11-11 11:05:31
- CloverDaemonNew v1.01
nvram saved to disk with UUID 0E239BC6-F960-3107-89CF-1C97F78BB46B
--------------------------------------------
- System start at 2019-11-11 11:07:22
--------------------------------------------
Registering for Power notifications..
root mount point is '/Volumes/Macintosh HD'
Started with Clover r5098.

- System power off at 2019-11-11 11:12:26
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fde48e17450 [0x7fff94dbcfb0]> { URL = "file:///System/Library/Extensions/msdosfs.kext/", ID = "com.apple.filesystems.msdosfs" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fde48c179b0 [0x7fff94dbcfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Mach.kext/", ID = "com.apple.kpi.mach" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fde48c17d70 [0x7fff94dbcfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/", ID = "com.apple.kpi.unsupported" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fde48c17740 [0x7fff94dbcfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Libkern.kext/", ID = "com.apple.kpi.libkern" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fde48c17600 [0x7fff94dbcfb0]> { 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/wVOUCrSzwo failed with 71
Error: disk0s1 doesn't want to mount, try to save in /.

 

Ofc course, my SIP is disabled by 0x3e7

 

 

EDIT2. after two times reboot

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

- System power off at 2019-11-11 11:20:13
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fcb1ce30550 [0x7fff898bdfb0]> { URL = "file:///System/Library/Extensions/msdosfs.kext/", ID = "com.apple.filesystems.msdosfs" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fcb1ce1c010 [0x7fff898bdfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Mach.kext/", ID = "com.apple.kpi.mach" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fcb1ce1e0f0 [0x7fff898bdfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Unsupported.kext/", ID = "com.apple.kpi.unsupported" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fcb1cd09070 [0x7fff898bdfb0]> { URL = "file:///System/Library/Extensions/System.kext/PlugIns/Libkern.kext/", ID = "com.apple.kpi.libkern" }
Kext with invalid signature (-2147416000) allowed: <OSKext 0x7fcb1cd08f30 [0x7fff898bdfb0]> { 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/zBdqeSxtZc failed with 71
Error: disk0s1 doesn't want to mount, try to save in /.

Edited by Sherlocks
Link to comment
Share on other sites

2 hours ago, Sherlocks said:

clover can remove nvram.plist in only ESP. bcuz fat32 support r/w in clover GUI. other format(apfs,hfs+) support only read. so we have to save nvram.plist in ESP to remove nvram.plist for clean nvram F11.

No, Clover WILL NOT REMOVE nvram.plist anywhere. It cleans variables from memory.

  • Like 2
Link to comment
Share on other sites

No, Clover WILL NOT REMOVE nvram.plist anywhere. It cleans variables from memory.

strange. nvram.plist can removed in clover gui on Fat32 of ESP with F11 when using legacy and emuvariables. it was proved. i checked all process. of course, we can remove boot chime nvram values like this

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

i added it before for legacy and emuvariableuefi user.

 

yes. like you said, clover can clean variables from memory when using native nvram.

 

 

 

나의 SM-N960N 의 Tapatalk에서 보냄

 

 

 

Link to comment
Share on other sites

×
×
  • Create New...