=== modified file 'grub-core/kern/arm/uboot/startup.S' --- grub-core/kern/arm/uboot/startup.S 2013-05-03 13:07:39 +0000 +++ grub-core/kern/arm/uboot/startup.S 2013-05-13 14:59:43 +0000 @@ -100,7 +100,13 @@ @ Since we _are_ the C run-time, we need to manually zero the BSS @ region before continuing ldr r0, =EXT_C(__bss_start) @ zero from here - ldr r1, =EXT_C(_end) @ to here + @ If unaligned, bytewise zero until base address aligned. + mov r1, #0 +1: tst r0, #3 + beq 2f + strb r1, [r0], #1 + b 1b +2: ldr r1, =EXT_C(_end) @ to here mov r2, #0 1: str r2, [r0], #4 cmp r0, r1