Messages in this thread | | | From | Madper Xie <> | Subject | Re: [BUG]: DELL XPS 8500 become a brick after fill too many entries to nvram. | Date | Mon, 11 Nov 2013 20:38:31 +0800 |
| |
matt@console-pimps.org writes:
> On Mon, 11 Nov, at 02:15:22PM, Madper Xie wrote: >> 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? > > 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. > - Exactly which Dell machine is this? Dell XPS 8500. Link here: http://www.dell.com/us/p/xps-8500/pd > - 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. > - Please send your .config Attached.[unhandled content-type:application/octet-stream] > - 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 > - 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. -- Best, Madper Xie.
| |