Jump to content

syscl

Coders
  • Content Count

    290
  • Joined

  • Last visited

  • Days Won

    9

Reputation Activity

  1. Like
    syscl got a reaction from webhappyboy070 in Clover Problems and Solutions   
    Please try v1.4, improvements:
     
    - 20.mount.ESP.local will write logoutHook to system at startup
    - 80.save_nvram_plist.local now will compare old nvram.plist, if the content is same, then we do not dump to it(reduce write to hard disk each time and improve shutdown time on HDD)
    - now the sleep cannot dump nvram to EFI/ issue should have gone
     
    @Sherlock @tluck @cnrd @cjfly @RehabMan @Dr.Hurt @Slice ...
     
    Note: this time, you should ensure that msdosfs.kext hasn't been loaded when startup. To force it unload, just type
    sudo kextunload /System/Library/Extensions/msdosfs.kext syscl_nvram_save.zip
     
     
    Best wishes,
    syscl
  2. Like
    syscl got a reaction from tluck in [GUIDE] Fix Skylake HDMI/DP Output   
    I never succeed with FakePCIID_Intel_HDMI no matter on Dell Precision M3800 or Dell XPS 13 9350, there must be issue in that kext.
     
    Use CodecCommander.kext to solve the sleep loose sound issue.
     
    syscl
  3. Like
    syscl got a reaction from Mirone in Get system log from 10.12+ much much easier(by just a simply click)   
    Well, as of 10.12, Apple removed /var/log/system.log, which made developers' life much more inconvenient. Especially for further debugging. Though we can use log command to print out all the log from system, but hey, why should we use such a ridiculous way every time to see log?? That's why I started this project maclog for Sierra to make our life much easier. 
     
    How to use?
    Download executable program from my GitHub: https://github.com/syscl/maclog Double left click to execute maclog(P.S. for first time use: right click -> open) That's it. No more command you need to type in.
     
    If you enjoy this project don't hesitate to star it
    If you have good idea please don't hesitate to let me know
     
    Wish you all enjoy
     
    Best wishes,
    syscl
     
  4. Like
    syscl got a reaction from Mirone in Get system log from 10.12+ much much easier(by just a simply click)   
    Well, as of 10.12, Apple removed /var/log/system.log, which made developers' life much more inconvenient. Especially for further debugging. Though we can use log command to print out all the log from system, but hey, why should we use such a ridiculous way every time to see log?? That's why I started this project maclog for Sierra to make our life much easier. 
     
    How to use?
    Download executable program from my GitHub: https://github.com/syscl/maclog Double left click to execute maclog(P.S. for first time use: right click -> open) That's it. No more command you need to type in.
     
    If you enjoy this project don't hesitate to star it
    If you have good idea please don't hesitate to let me know
     
    Wish you all enjoy
     
    Best wishes,
    syscl
     
  5. Like
    syscl got a reaction from Mirone in Get system log from 10.12+ much much easier(by just a simply click)   
    Well, as of 10.12, Apple removed /var/log/system.log, which made developers' life much more inconvenient. Especially for further debugging. Though we can use log command to print out all the log from system, but hey, why should we use such a ridiculous way every time to see log?? That's why I started this project maclog for Sierra to make our life much easier. 
     
    How to use?
    Download executable program from my GitHub: https://github.com/syscl/maclog Double left click to execute maclog(P.S. for first time use: right click -> open) That's it. No more command you need to type in.
     
    If you enjoy this project don't hesitate to star it
    If you have good idea please don't hesitate to let me know
     
    Wish you all enjoy
     
    Best wishes,
    syscl
     
  6. Like
    syscl got a reaction from Mirone in Get system log from 10.12+ much much easier(by just a simply click)   
    Well, as of 10.12, Apple removed /var/log/system.log, which made developers' life much more inconvenient. Especially for further debugging. Though we can use log command to print out all the log from system, but hey, why should we use such a ridiculous way every time to see log?? That's why I started this project maclog for Sierra to make our life much easier. 
     
    How to use?
    Download executable program from my GitHub: https://github.com/syscl/maclog Double left click to execute maclog(P.S. for first time use: right click -> open) That's it. No more command you need to type in.
     
    If you enjoy this project don't hesitate to star it
    If you have good idea please don't hesitate to let me know
     
    Wish you all enjoy
     
    Best wishes,
    syscl
     
  7. Like
    syscl got a reaction from Sherlocks in Clover Problems and Solutions   
    That's what we have to consider, but, at this stage, the most important thing is to solve NVRAM dump to EFI/
     
    2x write to EFI/ has no problem because in v1.4:
    - the script has one more procedure to see if the NVRAM need to be refreshed
    - @Slice and other Clover developers' still don't give any information where this file should be placed, thus we just simply leave the file in the original place
     
    syscl
  8. Like
    syscl reacted to Sherlocks in Clover Problems and Solutions   
    perfectly work with stable now.
     
    thank you.
  9. Like
    syscl got a reaction from Sherlocks in Clover Problems and Solutions   
    @cnrd, 
    Do you remove any other script that will load the msdosfs.kext?
     
    To make sure nvram.plist being refreshed, could you please test the following as well?
    sudo kextunload msdosfs Then reboot?
     
    If this work, our script will be pretty nice to ensure nvram.plist will be dumped to EFI always 
    What I tried with logoutHook:
    - call diskutil, call ls none of them work
    - Then, I kextunload msdosfs.kext and logoutHook 80.save_nvram_plist.local, after reboot there's no even a single file being created...
    Last login: Wed Jan 4 12:38:26 on console syscls-MacBook:~ syscl$ sudo cat /Library/Logs/CloverEFI/rc.shutdown.log Password: ------------------------------- DATE: 2017-01-04 TIME: 12:37:16 ------------------------------- syscls-MacBook:~ syscl$ There must be some restriction during the logoutHook stage to mute all information to log to file.
     
    But the funny thing is my script seem to work by using the LogoutHook as well...
    Here's what I do:
    - Removed /etc/rc.boot.d/20.mount.ESP.local
    - Rename /etc/rc.shutdown.d/80.save_nvram_plist.local to /etc/rc.shutdown.d/80.save_nvram_plist.local.syscl
    - Remove rc.shutdown.log
    - Reboot
    - msdosfs.kext is not loaded by kextstat |grep msdos
    - logoutHook /etc/rc.shutdown.d/80.save_nvram_plist.local.syscl
    - check msdosfs is not loaded again
    - change brightness to minimal 
    - reboot
    - Minimal brightness, nvram.plist created successfully in EFI/, no nvram.plist in /
    - change brightness to maximum
    - Remove rc.shudown.log
    - Reboot
    - Maximum brightness, nvram in EFI/ being refreshed, no nvram.plist in /
     
    A short conclusion by using logoutHook:
    - we no more need to use touched 20.mount.ESP.local to force load msdosfs.kext
    - if this method is proved to be stable, then we won't see nvram.plist in root anymore
    - drawback of this way, we can't see any log, it's hard to solve problem if there has
    - logoutHook method credit @cnrd and @RehabMan
    - For detail information credit @Sherlock, very thanks for the test log 
    - Prevent write to EFI without Clover credit @tluck
     
     
    Thank you,
    syscl
  10. Like
    syscl reacted to RehabMan in Clover Problems and Solutions   
    A few other ideas in #1595 edits...
  11. Like
    syscl got a reaction from gujiangjiang in Clover Problems and Solutions   
    @RehabMan, ah ha, nice(better and reliable than what I used to)...
     
    Thank you,
    syscl
  12. Like
    syscl reacted to Sherlocks in Clover Problems and Solutions   
    finally it's good working now. brightness load and nvram value load too.
     
    i recommend that remove nvram file in all drive before use syscl's script.
  13. Like
    syscl got a reaction from gujiangjiang in Clover Problems and Solutions   
    Since you post this issue, I want to improve my script to solve your problem as well.
     
    I am happy you give so many useful information, give me some time... I will contact you to test new script. Anyway, the major issue is gone.
     
    BTW, it's very late in you Korea right? Better to have a rest then talk this later.
     
    Thanks,
    syscl
  14. Like
    syscl got a reaction from cjfly in Clover Problems and Solutions   
    @gujiangjiang @tluck @Sherlock @Slice
     
    Try the latest 80.save_nvram_plist.local, improvements
    use mount_hfs instead of mount -t hfs to mount hfs EFI use @tluck's suggestion if there's no Clover under EFI, return if root volume and EFI are on the same disk, nvram.plist should be either in / or EFI/ Note: This script will write nvram.plist to all the EFI which contains Clover
    syscl_save_nvram.zip
     
    Good luck,
    syscl
  15. Like
    syscl reacted to tluck in Clover Problems and Solutions   
    ah right. on time to /
     
    for me EFI must be FAT32 so another solutions must be found
    a logoutHook maybe a choice. 
     
    and yes - it avoided the non CLOVER disk
    $ ls -l /Volumes/E* /Volumes/ESP: total 19 drwxrwxrwx  1 tluck  staff  1024 Dec 28 09:29 EFI drwxrwxrwx  1 tluck  staff  1024 Dec 31 11:59 EFI-Backup drwxrwxrwx  1 tluck  staff   512 Dec 15  2015 NU -rwxrwxrwx  1 tluck  staff  7091 Jan  3 13:54 nvram.plist /Volumes/ESP-1: total 16 drwxrwxrwx  1 tluck  staff   512 Jan  2 18:13 EFI drwxrwxrwx  1 tluck  staff   512 Jan  2 18:13 EFI-Backup -rwxrwxrwx  1 tluck  staff  7091 Jan  3 13:54 nvram.plist /Volumes/ESP-2:
  16. Like
    syscl reacted to cjfly in Clover Problems and Solutions   
    dear syscl, I can confirm this one work flawlessly! Thanks a ton!
    here is the result, I reboot 4 times and the result is the same as below
    v1.1 (c) 2017 syscl/lighting/Yating Zhou Found EFI disk0s1 Target path: /Volumes/EFI01 EmuVariable is present dump nvram >> End Script: /private/etc/rc.shutdown.d/80.save_nvram_plist.local ^_^
  17. Like
    syscl got a reaction from cjfly in Clover Problems and Solutions   
    @gujiangjiang @tluck @Sherlock @Slice
     
    Try the latest 80.save_nvram_plist.local, improvements
    use mount_hfs instead of mount -t hfs to mount hfs EFI use @tluck's suggestion if there's no Clover under EFI, return if root volume and EFI are on the same disk, nvram.plist should be either in / or EFI/ Note: This script will write nvram.plist to all the EFI which contains Clover
    syscl_save_nvram.zip
     
    Good luck,
    syscl
  18. Like
    syscl reacted to Sherlocks in Clover Problems and Solutions   
    brigntness load is no problem.
    i saw difference that generate nvram.plist in ESP, root
     
    like you mentioned, 
    if root volume and EFI are on the same disk, nvram.plist should be either in / or EFI/
     
    in previous version, generate nvram.plist both ESP and root. but now, only make nvram.plist in root.
     
    basically feature is good like old rc script.
     
    i'm not sure nvram.plist about FileVault2. latest rc script in r3974, to use FileVault2, make nvram in ESP. i don't know exactly right or not. because i don't use FileVault2.
     
    your script maybe need to test FileVault2 feature.
     
    thank you.
  19. Like
    syscl got a reaction from cjfly in Clover Problems and Solutions   
    Hi all, finally settled down and figured out why we cannot save/dump the nvram.plist to ESP. Let me explain then show my fix.
     
    First I noticed the following piece of message from the rc.shutdown.log(my version of 80.save_nvram_plist.local)
    Found EFI disk0s1 Mount filesystem msdos kext-dev-mode allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext '/System/Library/Extensions/msdosfs.kext' kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Mach.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/msdosfs.kext" (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_hfs: Invalid argument kext-dev-mode allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext '/System/Library/Extensions/exfat.kext' kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Mach.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/exfat.kext" (kernel) Kext loading is disabled. Failed to load /System/Library/Extensions/exfat.kext - (libkern/kext) function disabled. /System/Library/Extensions/exfat.kext failed to load - (libkern/kext) function disabled. mount_exfat: exfat filesystem is not available >> End Script: /private/etc/rc.shutdown.d/80.save_nvram_plist.local r-- 1 root wheel 2190 Jan 2 13:52 /Volumes/EFI01/nvram.plist The problem is: at the shutdown stage, copious amount of system services will be closed, we are again in a very limited situation: we cannot use diskutil or mount at this stage to mount even a single ESP. 
     
    And now we can explain why r3974's 80.save_nvram_plist.local partly work:
    msdosfs.kext and exfat.kext aren't loaded every time we boot macOS If we by chance mount the ESP(Fat32 or exFat), then system will load msdosfs.kext and exFat.kext, that's why we will see the script partly works Another problem is that Jrs and Taylan's 80.save_nvram_plist.local has copious amount of redundant code, unclear logic, thus I rewrite all of the 80.save_nvram_plist.local myself. Pairing with the touched version of 20.mount_ESP.local(force load msdosfs.kext and exfat.kext during startup), now nvram can be saved in EFI/ as expected.
     
    Compared to Jrs and Taylan's script, my version of 80.save_nvram_plist.local has the following advantages
    clean steps and logic remove redundant operations(we should operate fast at the shutdown stage) dump nvram.plist to all the EFI partitions if possible, and yes, ensure uniqueness of each mounted EFI use EmuVariablePresent to judge if we need to dump NVRAM if mount ESP failed(very possible disk0s1 damage) then dump NVRAM to / (just in case) @Sherlock's version only dump the NVRAM to /, but doesn't really solve the problem. My version of the script not only fix the nvram dump issue but also consider EFI cannot mount case ...  
    How to use my 80.save_nvram_plist.local?
    place 20.mount_ESP.local to /etc/rc.boot.d place 80.save_nvram_plist.local to /etc/rc.shutdown.d Reboot to see change. 
     
    Here's the result after using my version 80.save_nvram_plist.local
    Found EFI disk0s1 Target path: /Volumes/EFI01 EmuVariable is present dump nvram >> End Script: /private/etc/rc.shutdown.d/80.save_nvram_plist.local Try the following attachment @gujiangjiang @tluck @Sherlock @Slice 
    syscl_save_nvram.zip
     
    I have successfully tested on XPS 13 9350 Skylake.
     
    Best wishes,
    syscl
  20. Like
    syscl reacted to tluck in Clover Problems and Solutions   
    syscl
     
    how about  
    1) /EFI/CLOVER/OEM/<board>/nvram.plist
    and for no OEM
    2) /EFI/CLOVER/nvram.plist
    and
    3) if there is not /EFI/CLOVER - dont write it.
  21. Like
    syscl got a reaction from Sherlocks in Clover Problems and Solutions   
    No, I mean if we have EFI on disk0s1, disk1s1, and ..., should we need to dump nvram.plist to disk0s1, disk1s1 and ...?
     
    Thanks for your tip, I will add chflags hidden for nvram.plist
     
    Nice to hear it work!
     
    syscl
  22. Like
    syscl reacted to Sherlocks in Clover Problems and Solutions   
    nvram.plist generate ESP and mac root? i have nvram.plist file both ESP and Mac root.
    brightness load are working.
     
    i wonder do you plant to add "chflags hidden "${mntpt}/${NVRAMFilename}""? about hidden nvram.plist if we can solve nvram problem.
     
     
    thank you for hard work.
  23. Like
    syscl got a reaction from gujiangjiang in Clover Problems and Solutions   
    Yes, this script will find all the ESP then dump to all of them. Actually I care about this behaviour too, that's why I include gRootInfo as well. 
     
    A common scenario is a laptop with two or three hard drive and each has the Clover boot loader.
     
    Another scenario is that some people just use external EFI with Clover to boot....
     
    In all, I am not sure this behaviour is good or not. We need to discuss or make an agreement on weather dump to all ESP or just dump to the current ESP.. @Slice @Sherlock @gujiangjiang @tluck any suggestion? If we reach the agreement, I can soon refine it
     
    Thanks in advance,
    syscl
  24. Like
    syscl got a reaction from gujiangjiang in Clover Problems and Solutions   
    Yes, this script will find all the ESP then dump to all of them. Actually I care about this behaviour too, that's why I include gRootInfo as well. 
     
    A common scenario is a laptop with two or three hard drive and each has the Clover boot loader.
     
    Another scenario is that some people just use external EFI with Clover to boot....
     
    In all, I am not sure this behaviour is good or not. We need to discuss or make an agreement on weather dump to all ESP or just dump to the current ESP.. @Slice @Sherlock @gujiangjiang @tluck any suggestion? If we reach the agreement, I can soon refine it
     
    Thanks in advance,
    syscl
  25. Like
    syscl got a reaction from cjfly in Clover Problems and Solutions   
    Hi all, finally settled down and figured out why we cannot save/dump the nvram.plist to ESP. Let me explain then show my fix.
     
    First I noticed the following piece of message from the rc.shutdown.log(my version of 80.save_nvram_plist.local)
    Found EFI disk0s1 Mount filesystem msdos kext-dev-mode allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext '/System/Library/Extensions/msdosfs.kext' kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Mach.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/msdosfs.kext" (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_hfs: Invalid argument kext-dev-mode allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext '/System/Library/Extensions/exfat.kext' kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/Mach.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext" kext signature failure override allowing invalid signature -2147409622 0xFFFFFFFF8001212A for kext "/System/Library/Extensions/exfat.kext" (kernel) Kext loading is disabled. Failed to load /System/Library/Extensions/exfat.kext - (libkern/kext) function disabled. /System/Library/Extensions/exfat.kext failed to load - (libkern/kext) function disabled. mount_exfat: exfat filesystem is not available >> End Script: /private/etc/rc.shutdown.d/80.save_nvram_plist.local r-- 1 root wheel 2190 Jan 2 13:52 /Volumes/EFI01/nvram.plist The problem is: at the shutdown stage, copious amount of system services will be closed, we are again in a very limited situation: we cannot use diskutil or mount at this stage to mount even a single ESP. 
     
    And now we can explain why r3974's 80.save_nvram_plist.local partly work:
    msdosfs.kext and exfat.kext aren't loaded every time we boot macOS If we by chance mount the ESP(Fat32 or exFat), then system will load msdosfs.kext and exFat.kext, that's why we will see the script partly works Another problem is that Jrs and Taylan's 80.save_nvram_plist.local has copious amount of redundant code, unclear logic, thus I rewrite all of the 80.save_nvram_plist.local myself. Pairing with the touched version of 20.mount_ESP.local(force load msdosfs.kext and exfat.kext during startup), now nvram can be saved in EFI/ as expected.
     
    Compared to Jrs and Taylan's script, my version of 80.save_nvram_plist.local has the following advantages
    clean steps and logic remove redundant operations(we should operate fast at the shutdown stage) dump nvram.plist to all the EFI partitions if possible, and yes, ensure uniqueness of each mounted EFI use EmuVariablePresent to judge if we need to dump NVRAM if mount ESP failed(very possible disk0s1 damage) then dump NVRAM to / (just in case) @Sherlock's version only dump the NVRAM to /, but doesn't really solve the problem. My version of the script not only fix the nvram dump issue but also consider EFI cannot mount case ...  
    How to use my 80.save_nvram_plist.local?
    place 20.mount_ESP.local to /etc/rc.boot.d place 80.save_nvram_plist.local to /etc/rc.shutdown.d Reboot to see change. 
     
    Here's the result after using my version 80.save_nvram_plist.local
    Found EFI disk0s1 Target path: /Volumes/EFI01 EmuVariable is present dump nvram >> End Script: /private/etc/rc.shutdown.d/80.save_nvram_plist.local Try the following attachment @gujiangjiang @tluck @Sherlock @Slice 
    syscl_save_nvram.zip
     
    I have successfully tested on XPS 13 9350 Skylake.
     
    Best wishes,
    syscl
×