Jump to content
30960 posts in this topic

Recommended Posts

56 minutes ago, Sherlocks said:

@Slice thank you for boot sound.

i have a question. how can i reset BootChimeCfg.efi(return original)?

 

There are three variables in NVRAM if you want to trace it

Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Volume' DataSize = 0x01
  00000000: 3C                                               *<*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Index' DataSize = 0x08
  00000000: 00 00 00 00 00 00 00 00-                         *........*
Variable NV+RT+BS '89D4F995-67E3-4895-8F18-454B651D9215:Device' DataSize = 0xA2
  00000000: 50 00 63 00 69 00 52 00-6F 00 6F 00 74 00 28 00  *P.c.i.R.o.o.t.(.*
  00000010: 30 00 78 00 30 00 29 00-2F 00 50 00 63 00 69 00  *0.x.0.)./.P.c.i.*
  00000020: 28 00 30 00 78 00 31 00-42 00 2C 00 30 00 78 00  *(.0.x.1.B.,.0.x.*
  00000030: 30 00 29 00 2F 00 56 00-65 00 6E 00 4D 00 73 00  *0.)./.V.e.n.M.s.*
  00000040: 67 00 28 00 41 00 39 00-30 00 30 00 33 00 46 00  *g.(.A.9.0.0.3.F.*
  00000050: 45 00 42 00 2D 00 44 00-38 00 30 00 36 00 2D 00  *E.B.-.D.8.0.6.-.*
  00000060: 34 00 31 00 44 00 42 00-2D 00 41 00 34 00 39 00  *4.1.D.B.-.A.4.9.*
  00000070: 31 00 2D 00 35 00 34 00-30 00 35 00 46 00 45 00  *1.-.5.4.0.5.F.E.*
  00000080: 45 00 46 00 34 00 36 00-43 00 33 00 2C 00 30 00  *E.F.4.6.C.3.,.0.*
  00000090: 30 00 30 00 30 00 30 00-30 00 30 00 30 00 29 00  *0.0.0.0.0.0.0.).*
  000000A0: 00 00                                            *..*

 

  • Like 2
  • Thanks 1

Well, my friend's old Pentium laptop has no UEFI support (also non Hackintosh compatible), but he wants Windows UEFI on it so.. I converted whole Disk to GPT, manually created 200MB EFI using gParted under Ubuntu Live and set is as=boot,esp. I restored my prev. Windows 10 64-bit backup using G4L (Ghost for Linux) to a new NTFS partition (/dev/sda2), restoring EFI\Microsoft\ to ESP (/dev/sda1), repairing BCD with Windows PE (bootrec /RebuildBcd bla bla bla) and it's booting just fine using USB FlashDisk with Clover on it (following @fusion71au guide actually, thanks to him).

 

I then, manually installing Clover using Ubuntu Live into Internal EFI Partition (should be Legacy-GPT, but Windows is UEFI emulated, right?) Bootloader files used: boot (boot6) | boot0 (boot0af) | boot1 (boot1f32) \\Oh ya, I manually copying "BOOT && CLOVER" dir using FileManager, so not included on screenshot below LoL

 

Seems no problem with bootloader installation on Legacy as usual (I think, CMIIW), Windows is also booting fine.

The only issue is, everytime I powering on laptop it always goes to Firmware screen first (not laptop's BIOS) so I need to always pressing "Continue" to get Clover boot after it.

My questions are:

1. What's causing this issue? I've tried boot6 && boot7 with a same result #btw

2. How to set "Timeout" with only single boot volume (so I don't need to press KB key twice but just boot to Windows directly)? I realized it doesn't work here.

 

Thanks.

 

Screenshot from 2019-01-05 07-35-23.png

Edited by Badruzeus
6 hours ago, Badruzeus said:

Well, my friend's old Pentium laptop has no UEFI support (also non Hackintosh compatible), but he wants Windows UEFI on it so.. I converted whole Disk to GPT, manually created 200MB EFI using gParted under Ubuntu Live and set is as=boot,esp. I restored my prev. Windows 10 64-bit backup using G4L (Ghost for Linux) to a new NTFS partition (/dev/sda2), restoring EFI\Microsoft\ to ESP (/dev/sda1), repairing BCD with Windows PE (bootrec /RebuildBcd bla bla bla) and it's booting just fine using USB FlashDisk with Clover on it (following @fusion71au guide actually, thanks to him).

 

I then, manually installing Clover using Ubuntu Live into Internal EFI Partition (should be Legacy-GPT, but Windows is UEFI emulated, right?) Bootloader files used: boot (boot6) | boot0 (boot0af) | boot1 (boot1f32) \\Oh ya, I manually copying "BOOT && CLOVER" dir using FileManager, so not included on screenshot below LoL

 

Seems no problem with bootloader installation on Legacy as usual (I think, CMIIW), Windows is also booting fine.

The only issue is, everytime I powering on laptop it always goes to Firmware screen first (not laptop's BIOS) so I need to always pressing "Continue" to get Clover boot after it.

My questions are:

1. What's causing this issue? I've tried boot6 && boot7 with a same result #btw

2. How to set "Timeout" with only single boot volume (so I don't need to press KB key twice but just boot to Windows directly)? I realized it doesn't work here.

 

Thanks.

 

You have a problem with NVRAM as nothing will ever be saved, you should replace the EmuVar module with the FSVariable module from DUET for some partial support. You can skip clover GUI entirely by just putting microsoft bootmgfw.efi as bootx64.efi.

 

EDIT: You may want to just use DUET actually.

EDIT2: Oh, actually I think the legacy firmware loads CLOVERX64.efi by default not BOOTX64.efi.

Edited by apianti
  • Thanks 1
41 minutes ago, apianti said:

 

You have a problem with NVRAM as nothing will ever be saved, you should replace the EmuVar module with the FSVariable module from DUET for some partial support.

Hmmb that's why how many times I "Change Boot Order" on firmware it'll always reset to default after mach reboot, a same issue with VirtualBox even if configured as UEFI.. firmware configurations are not saved once app relaunched due to lack of NVRAM.

 

Funny thing here's (sorry, my bad); it boots directly into Clover w/o pressing "Continue" when I plugged Laptop's KeyBoard off (using USB ext-KB to replace it). I just realized that some Laptop's keys are broken (always keep pressed) after checking it using Keyboard Test software under Windows. I think they prevent (or suspend) Clover boot.

 

41 minutes ago, apianti said:

You can skip clover GUI entirely by just putting microsoft bootmgfw.efi as bootx64.efi.

Oh great, thank you. Much better idea with single Windows boot (though, I never tried this before.. honestly)

 

But my friend now (seems) feel happy using Clover bcoz he could place his gf's photo on it (I believe in his mind, Clover=Theme not a Boot Manager LoL).

 

Edited by Badruzeus
4 hours ago, Badruzeus said:

Hmmb that's why how many times I "Change Boot Order" on firmware it'll always reset to default after mach reboot, a same issue with VirtualBox even if configured as UEFI.. firmware configurations are not saved once app relaunched due to lack of NVRAM.

 

Funny thing here's (sorry, my bad); it boots directly into Clover w/o pressing "Continue" when I plugged Laptop's KeyBoard off (using USB ext-KB to replace it). I just realized that some Laptop's keys are broken (always keep pressed) after checking it using Keyboard Test software under Windows. I think they prevent (or suspend) Clover boot.

 

Oh great, thank you. Much better idea with single Windows boot (though, I never tried this before.. honestly)

 

Yeah but it boots directly into clover with the usb right? So I doubt the keyboard is the issue, although maybe who knows... I know the NVRAM is for sure as there is no way to save the nvram.plist from windows to be loaded later. The FSVariable module from DUET saves the variable store when exiting boot services instead, so no runtime changes are saved but at least your would get semi working nvram. Either that or write an administrator app or kernel driver that dumps the uefi variables into a plist on the ESP. You might want to read my edit in the previous post about the default boot as I forgot it is different for clover legacy firmware, although if he wants to keep it whatever, lol. You can set DefaultVolume to the ESP (which you can get from log) and the DefaultLoader to \EFI\Microsoft\Boot\bootmgfw.efi, then set Timeout to whatever and it should automatically boot. As for the FSVariable module you can edit Clover.fdf and uncomment the line for it and comment out the other lines for NVRAM below or you can try using -DREAL_NVRAM to build and see if the real nvram can be used, however, I'm not sure how safe that is.

  • Like 1
 

no, i'm using bootcamp normal theme.

just after some commits, i got freeze gui. i have to use power down button.

Weird, it' s working fine here.. already pressing "F3" several times and it seems no issue (F3 also scans whole disk besides hide / unhide entries, right?). For reference, I built it with EDK2 (though I see no dff. compared to UDK, both work well on my case), I don't use ApfsDriverLoader #BTW.

preboot_r4839_a43SJ.zip

Edited by Badruzeus
  • Like 1
 

Weird, it' s working fine here.. already pressing "F3" several times and it seems no issue (F3 also scans whole disk besides hide / unhide entries, right?). For reference, I built it with EDK (though I see no dff. compared to UDK, both work well on my case), I don't use ApfsDriverLoader #BTW. Clover v2.4k r4839

preboot_r4839_a43SJ.zip

 

in my case, last work is r4834. today i built r4839. i got freeze gui. seems other side.

i didn't any behaviour. just got freeze gui. first show gui -> show scan drive text in gui then, show drive list with automatic boot drive my mac drive. but freeze gui

Edited by Sherlocks
 

in my case, last work is r4834. today i built r4839. i got freeze gui. seems other side.

i didn't any behaviour. just got freeze gui. first show gui -> show scan drive text in gui then, show drive list with automatic boot drive my mac drive. but freeze gui

Oh cool, I got it..!!!

Fully powering off mach, F11 to reset NVRAM, reboot.. freeze! A same issue like yours (UEFI) LoL, no problem on 1st reboot though. And using legacy it leads me to red screen of death, du no what's wrong with r4839.

(I'm still able booting to Linux using BIOS StartUp key for rolliing back to r4836, nevermind).

 

 

 


IMG_20190106_164338.jpg
 

 

Edited by Badruzeus
  • Like 1
 

Oh cool, I got it..!!!

Fully powering off mach, F11 to reset NVRAM, reboot.. freeze! A same issue like yours (UEFI) LoL, no problem on 1st reboot though. And using legacy it leads me to red screen of death, du no what's wrong with r4839.

(I'm still able booting to Linux using BIOS StartUp key for rolliing back to r4836, nevermind).

 

What is the last legacy revision that works because I don't see anything that should be affecting legacy in between those revisions. You are getting a general protection fault which means usually that a pointer has an incorrect address of unallocated memory region being used.

  • Like 1
 

What is the last legacy revision that works because I don't see anything that should be affecting legacy in between those revisions. You are getting a general protection fault which means usually that a pointer has an incorrect address of unallocated memory region being used.

OK, r4839 (UEFI / Legacy) is now working fine after commenting those line. Thanks.

I no longer hear "../Theme Name/sound.wav" ringing before GUI loaded though.

 

It looks like I misunderstood @Slice r4833 changelogs:

\Theme Name\sound.wav = Before Clover GUI

\drivers64UEFI\BootChimeDxe.efi = After it (pausing 5 secs on Apple logo, similar to a real mac w/o *.wav)

Honestly, I assumed *.wav file provided by him is Apple BootChime audio LoL

With r4836, I could hear both of them ringing (before & after Clover GUI, having diff. StartUp audios).

preboot.log_r4839_legacy_pointer.zip

Edited by Badruzeus

Yeah IDK I see a bunch of problems with sound in the theme. For instance this makes no sense:

    if (!DayLight) {
      Status = StartupSoundPlay(ThemeDir, L"sound_night.wav");
    }
    if (EFI_ERROR(Status)) {
      Status = StartupSoundPlay(ThemeDir, L"sound.wav");
    }

It only plays the sound if it's not daylight or there is an error and it's daylight? This should be written differently. Seems that the entire purpose of CheckSyncSound() is to stop playing the sound when the GUI is active, but why? It's played synchronously so this should never happen. So this call probably will always cause a hang since it calls StopStream without even checking if it's playing. Also If AudioIo is not found then the check for the private data is invalid since (NULL - offset) is a really large number and fails the check that it's NULL. AudioIo should be checked if NULL first.

  • Like 3
  • Thanks 1
 

Clover4839 - only Fast Boor works.

Sorry! Clover4839UEFI  is works.

4839.jpg.6e288943e1e72477f3497ed4b447d39a.jpg

6:917  0:000  using scale  1.406250
6:917  0:000  theme contains font-family=DragonIsComing
7:118  0:200  found clipPaths for Banner
7:118  0:000  Banner position at parse [608,124]
7:137  0:019  parsed banner->width=773
7:139  0:001   icon 3 not parsed take common icons\func_secureboot
7:139  0:000   icon 4 not parsed take common icons\func_secureboot_config
7:141  0:002   icon 9 not parsed take common icons\tool_part
7:141  0:000   icon 10 not parsed take common icons\tool_rescue
7:142  0:000   icon 12 not parsed take common icons\vol_internal
7:142  0:000   icon 14 not parsed take common icons\vol_optical
7:142  0:000   icon 15 not parsed take common icons\vol_firewire
7:142  0:000   icon 16 not parsed take common icons\vol_clover
7:142  0:000   icon 17 not parsed take common icons\vol_internal_hfs
7:142  0:000   icon 18 not parsed take common icons\vol_internal_apfs
7:142  0:000   icon 19 not parsed take common icons\vol_internal_ntfs
7:142  0:000   icon 20 not parsed take common icons\vol_internal_ext3
7:144  0:001  icon main size=[203,203]
7:146  0:001  OSicon os_tiger not parsed
7:146  0:000  OSicon os_leo not parsed
7:146  0:000  OSicon os_snow not parsed
7:146  0:000  OSicon os_lion not parsed
7:146  0:000  OSicon os_cougar not parsed
7:146  0:000  OSicon os_mav not parsed
7:146  0:000  OSicon os_yos not parsed
7:162  0:015  OSicon os_suse not parsed
7:162  0:000  OSicon os_freebsd not parsed
7:162  0:000  OSicon os_freedos not parsed
7:166  0:003  parsing theme finish
7:166  0:000  Using vector theme 'cesium' (EFI\CLOVER\themes\cesium)
7:171  0:005    Channels: 2  Sample rate: 44100 Hz  Bits: 16
7:171  0:000  found 3 handles with audio
7:172  0:000  stored device=PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)/VenMsg(A9003FEB-D806-41DB-A491-5405FEEF46C3,00000000)
7:172  0:000  stored device=PciRoot(0x0)/Pci(0x1F,0x3)/VenMsg(A9003FEB-D806-41DB-A491-5405FEEF46C3,00000000)
7:172  0:000  got index=1
7:173  0:000  got volume 70
7:173  0:000  output to channel 1 with volume 70, len=4123880
31:624  24:451  theme inited
31:624  0:000  Chosen theme cesium
31:625  0:000  after NVRAM boot-args=darkwake=0

 

 

  • Like 1

Thanks apianti and blackosx got me booting with 4839, now to figure out the changes to make sounds work on boot!

 

EDIT: For me the sample provided by Slice works fine before the Clover GUI loads (Is it a cat?!?) and if I setup and test the boot chime in the shell I can hear it just fine using "BootChimeCfg.efi -t" but I don't hear anything when the OS is loading, could this be due to commenting out that line?

 

Boot.log of the important bit (I think)...

4:500  0:000  === [ InitTheme ] =========================================
4:500  0:000  use night theme
4:512  0:011  Using theme 'Mojave' (EFI\CLOVER\themes\Mojave)
4:512  0:000  theme Mojave defined in NVRAM found and theme.plist parsed
4:512  0:000  OS main and drive as badge
4:513  0:000  file sound not found
4:517  0:004    Channels: 2  Sample rate: 44100 Hz  Bits: 16
4:517  0:000  found 2 handles with audio
4:518  0:000  stored device=PciRoot(0x0)/Pci(0x1B,0x0)/VenMsg(A9003FEB-D806-41DB-A491-5405FEEF46C3,02000000)
4:518  0:000  got index=1
4:518  0:000  got volume 80
4:518  0:000  output to channel 1 with volume 80, len=353440
7:846  3:327  Loading font from ThemeDir: Success
7:847  0:000  theme inited
7:847  0:000  Chosen theme Mojave
7:847  0:000  after NVRAM boot-args=

 

Edited by D-an-W
×
×
  • Create New...