
On Tue, 8 Nov 2011, Wolfgang Denk wrote:
Dear Stephen Warren,
In message 4EB87375.1040100@nvidia.com you wrote:
The only place that has full knowledge of the board's memory layout is the U-Boot environment for that board, and hence I assert that the U-Boot environment should define where to load the kernel (and initrd and FDT), and if U-Boot must copy them, where to copy them to. In particular, the creator of the uImage can't possibly pick these values and expect them to work everywhere.
But as you said yourself, the (raw) kernel is not relocatable. It gets loaded and started at pre-defined (at image build time) addresses. Only the kernel wrapper adds the complexity you are complaining about. Drop it, then.
Many of us insist on preserving that complexity. From our point of view, it is u-Boot which is too complex and should drop its uImage complexity.
But instead of asking you to drop u-Boot's complexity, I'm only asking for u-Boot to let both methods to coexist and work.
Given that the zImage "complexity" is not going away because we insist on keeping it, either we find a middle ground such as Stephen's patches, or we advocate for a different bootloader on ARM.
Do you never happend to compromize once in a while?
Nicolas