< Previous | Contents | Next >
On some systems with older U-Boot versions there can be problems with properly relocating the Linux kernel, the initial ramdisk and the device-tree blob in memory during the boot process. In this case, U-Boot shows the message “Starting kernel ...”, but the system freezes afterwards without further output. These issues have been solved with newer U-Boot versions from v2014.07 onwards.
If the system has originally used a U-Boot version older than v2014.07 and has been upgraded to a newer version later, the problem might still occur even after upgrading U-Boot. Upgrading U-Boot usually does not modify the existing U-Boot environment variables and the fix requires an additional environment variable (bootm_size) to be set, which U-Boot does automatically only on fresh installa-
tions without existing environment data. It is possible to manually set bootm_size to the new U-Boot’s default value by running the command “env default bootm_size; saveenv” at the U-Boot prompt.
Another possibility to circumvent relocation-related problems is to run the command “setenv fdt_high ffffffff; setenv initrd_high 0xffffffff; saveenv” at the U-Boot prompt to completely disable the reloca- tion of the initial ramdisk and the device-tree blob.