: DELL XPS 8500 become a brick after fill too many entries to nvram.
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlarge EFI_MIN_RESERVE?
Signature · 2 lines
Best, Madper Xie.
Quoted 5 lines · Madper Xie
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlargeEFI_MIN_RESERVE?
Urgh.............
Thanks for the report. Could you provide some more details?
- Is your machine definitely bricked?
- Exactly which Dell machine is this?
- What were you doing to cause your machine to not boot? Using efibootmgr?
- Please send your .config
- Have you reported this to any BIOS engineers to confirm the cause of the bricking?
- Have you got a dmesg from the machine before it broke?
Signature · 1 line
Matt Fleming, Intel Open Source Technology Center
Quoted 7 lines · [email protected] writes:
Quoted 5 lines · Madper Xie
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlargeEFI_MIN_RESERVE?
Quoted 5 lines
Urgh.............
Thanks for the report. Could you provide some more details?
- Is your machine definitely bricked?
Yes, pretty sure. After I press power button, the screen shows "DELL" and hangs. I can't step into any configure interface and the keyboard is dead. (NumLock led on, and I can't turn it off.) Of course my kernel won't be loaded. The only way to fix it is change the jump line which is on the motherboard.
Quoted 1 line
- Exactly which Dell machine is this?
Dell XPS 8500. Link here: http://www.dell.com/us/p/xps-8500/pd
Quoted 2 lines
- What were you doing to cause your machine to not boot? Using efibootmgr?
I already have more than 100 pstore entries and backend is efi. But yes, efibootmgr trigger this accident.
Quoted 1 line
- Please send your .config
Attached.
Quoted 3 lines
- Have you reported this to any BIOS engineers to confirm the cause of the bricking?
Not really. The girl who answer my phone from DELL side doesn't really
know what NVRAM is... But I have reproduced this issue many times. (for
finding the threshold.) I simply occupy nvrams by:
for i in seq 20; do head -c20480 /dev/urandom | efibootmgr --quiet --create --append-binary-args - ; done
Quoted 1 line
- Have you got a dmesg from the machine before it broke?
No. But with a diagnostic kernel(without change the behavior of efi. Simply print total size and remain size when I write something to nvram. Provided by Lenny), I got following output:
[ 254.811220] EFI: efi_query_variable_store, total size=131072., remain=22968. [ 254.978133] EFI: efi_query_variable_store, total size=131072., remain=21924. [ 255.016127] EFI: efi_query_variable_store, total size=131072., remain=21758. [ 255.183644] EFI: efi_query_variable_store, total size=131072., remain=20714. [ 255.209139] EFI: efi_query_variable_store, total size=131072., remain=20546. [ 255.376831] EFI: efi_query_variable_store, total size=131072., remain=19502. [ 255.414849] EFI: efi_query_variable_store, total size=131072., remain=19332. [ 255.500374] EFI: efi_query_variable_store, total size=131072., remain=18288. [ 255.538204] EFI: efi_query_variable_store, total size=131072., remain=18116. [ 255.623828] EFI: efi_query_variable_store, total size=131072., remain=17072. [ 255.662147] EFI: efi_query_variable_store, total size=131072., remain=16898. [ 255.829512] EFI: efi_query_variable_store, total size=131072., remain=15854. [ 255.868963] EFI: efi_query_variable_store, total size=131072., remain=15678. [ 256.036129] EFI: efi_query_variable_store, total size=131072., remain=14634. [ 256.062325] EFI: efi_query_variable_store, total size=131072., remain=14456. [ 256.229330] EFI: efi_query_variable_store, total size=131072., remain=13412. [ 256.270257] EFI: efi_query_variable_store, total size=131072., remain=13232. [ 256.437379] EFI: efi_query_variable_store, total size=131072., remain=12188. [ 256.477963] EFI: efi_query_variable_store, total size=131072., remain=12006. [ 256.644949] EFI: efi_query_variable_store, total size=131072., remain=10962. [ 256.672662] EFI: efi_query_variable_store, total size=131072., remain=10778. [ 256.840152] EFI: efi_query_variable_store, total size=131072., remain=9734. [ 256.881992] EFI: efi_query_variable_store, total size=131072., remain=9548. [ 256.967256] EFI: efi_query_variable_store, total size=131072., remain=8504. [ 257.008474] EFI: efi_query_variable_store, total size=131072., remain=8316. [ 257.093713] EFI: efi_query_variable_store, total size=131072., remain=7272. [ 257.138413] EFI: efi_query_variable_store, total size=131072., remain=7082. [ 257.305960] EFI: efi_query_variable_store, total size=131072., remain=6038. [ 257.348840] EFI: efi_query_variable_store, total size=131072., remain=5846. [ 275.674513] EFI: efi_query_variable_store, total size=131072., remain=17086. [ 275.717700] EFI: efi_query_variable_store, total size=131072., remain=16892. [ 275.803479] EFI: efi_query_variable_store, total size=131072., remain=15848. [ 275.846323] EFI: efi_query_variable_store, total size=131072., remain=15652. [ 275.931921] EFI: efi_query_variable_store, total size=131072., remain=14608.
When remain size greater than ~5kb it monotonously decrease.
Signature · 2 lines
Best, Madper Xie.
Quoted 12 lines · Madper Xie
Quoted 9 lines · matt-HNK1S37rvNbeXh+fF434Mdi2O/[email protected] writes:
Quoted 5 lines · Madper Xie
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlargeEFI_MIN_RESERVE?Urgh.............
Quoted 8 lines
Quoted 3 lines
Thanks for the report. Could you provide some more details?
- Is your machine definitely bricked?
Yes, pretty sure. After I press power button, the screen shows "DELL" and hangs. I can't step into any configure interface and the keyboard is dead. (NumLock led on, and I can't turn it off.) Of course my kernel won't be loaded. The only way to fix it is change the jump line which is on the motherboard.
OK, that's pretty conclusive. Thanks.
Quoted 4 lines
Quoted 1 line
- Have you got a dmesg from the machine before it broke?
No. But with a diagnostic kernel(without change the behavior of efi. Simply print total size and remain size when I write something to nvram. Provided by Lenny), I got following output:
Have you been able to calculate the safe limit of NVRAM we need to reserve to avoid bricking your machine?
I was interested in the DMI and other firmware strings from dmesg.
Signature · 1 line
Matt Fleming, Intel Open Source Technology Center
Quoted 5 lines · [email protected] writes:
Quoted 4 lines · Madper Xie
Quoted 1 line · [email protected] writes:
On Mon, 11 Nov, at 02:15:22PM, Madper Xie wrote:
Quoted 9 lines
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlargeEFI_MIN_RESERVE?OK, that's pretty conclusive. Thanks.
Ouch, Sorry. My mistake. Seems filling too much entries to nvram is not the murderer...
For testing, I using following command to fill my nvram:
head -c20480 /dev/urandom | efibootmgr --quiet --create --append-binary-args -
For occupy lots of nvram space, I run it many times. But when I try to find the threshold, I find the real murderer is that command. I mean my dell xps will bricked even if I just run the command once and have more than 100kb free space...
So the murderer is the new added boot entry. I don't really know if it's still a bug. And I apologize for my mistake. :-(
Quoted 5 lines
Have you been able to calculate the safe limit of NVRAM we need to reserve to avoid bricking your machine?
I was interested in the DMI and other firmware strings from dmesg.
Signature · 2 lines
Best, Madper Xie.
Quoted 22 lines · Madper Xie
Quoted 5 lines · matt-HNK1S37rvNbeXh+fF434Mdi2O/[email protected] writes:
Quoted 4 lines · Madper Xie
Quoted 1 line · matt-HNK1S37rvNbeXh+fF434Mdi2O/[email protected] writes:
On Mon, 11 Nov, at 02:15:22PM, Madper Xie wrote:
Quoted 9 lines
Quoted 6 lines
Quoted 6 lines
Quoted 5 lines
Howdy all,
For now we ensure at least ~5kb free space. But my dell xps still become a brick after I add too many entries to my nvram. So maybe 5kb is not safe enough. and 5kb is just aginst Samsung's laptop. So should we enlargeEFI_MIN_RESERVE?OK, that's pretty conclusive. Thanks.
Ouch, Sorry. My mistake. Seems filling too much entries to nvram is not the murderer...
For testing, I using following command to fill my nvram:
head -c20480/dev/urandom| efibootmgr --quiet --create --append-binary-args -
Quoted 7 lines
For occupy lots of nvram space, I run it many times. But when I try to find the threshold, I find the real murderer is that command. I mean my dell xps will bricked even if I just run the command once and have more than 100kb free space...
So the murderer is the new added boot entry. I don't really know if it's still a bug. And I apologize for my mistake. :-(
OK, it looks like the firmware Boot Manager gets very confused when it tries to parse the Boot Load Option you created with efibootmgr. This looks like a general firmware bug and not something we need to worry about in the kernel.
Signature · 1 line
Matt Fleming, Intel Open Source Technology Center
Quoted 4 lines · Matt Fleming
OK, it looks like the firmware Boot Manager gets very confused when it tries to parse the Boot Load Option you created with efibootmgr. This looks like a general firmware bug and not something we need to worry about in the kernel.
Well, we do do some parsing of the boot parameters in the kernel in order to avoid hitting a Tianocore bug. But if the problem is just that the Dell firmware falls over if it sees something that isn't Unicode, I don't think we can really work around that.
Signature · 1 line
Matthew Garrett | [email protected]