On Tue, Mar 5, 2013 at 11:52 AM, Robin Holt <h...@sgi.com> wrote: > That fixed it for me. > > Can you help me understand why sentinel is non-zero? It looks to me > like 3.14 allocates 16kB plus strlen of the command line, zeros it, > and then proceeds to fill in fields, some differing from what is in the > boot_params structure. That said, it looks like the sentinel field > should remain 0. I am still trying to understand, but if this patch > makes it in, I am happy.
sentinel is out of setup_header. it is 0x1ef. setup_header is from 0x1f1. it will be 0xff from arch/x86/boot/header.S for bzImage. .section ".header", "a" .globl sentinel sentinel: .byte 0xff, 0xff /* Used to detect broken loaders */ elilo first copy first page, and get 0x1f1 for setup code sector number. then it copies all setup code ( include setup header). after that sysdeps_create_boot_params will copy first two pages to bp... CopyMem(bp, param_start, 0x2000); in that case, it will keep all fields in boot_params around setup_header as with setup code...thus 0x1ef will be 0xff. elilo need attached fix. Thanks Yinghai
fix_boot_params.patch
Description: Binary data