> > > > Note: The load_addr local variable _must_ use "=" asignment > > This is the _key_ stuff. I tried to use VMLINUZ_LOAD_ADDR(like your > load_addr) as the load address, but failed all the time, seems I used > the ":=" assignment, now with "=", it works, thanks! := evaluate at once. So the right hand side is executed when Make see the line. = do late evaluation, so the right hand side is executed/evaluated when required. In your case you need the late version because calc_vmlinux_load_Addr needs to be built before you do the evaluation. Sam