Commit d2d0e6de authored by jan.koester's avatar jan.koester
Browse files

build-cross: keep the DTB of fenriros.uimg 8-byte aligned (libfdt)

parent 67c9257d
Loading
Loading
Loading
Loading
+6 −0
Changes for build-cross.sh: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -396,6 +396,12 @@ make_boot_image() {
    # mkimage refuses an empty part (a 0 size would end the list), so the
    # ramdisk is an empty cpio: unpacked into rootfs, no /init, root= mounts
    (cd "$tmp" && : | cpio -o -H newc -R 0:0 --quiet) >"$tmp/empty"
    # the DTB (image 2) must be 8-byte aligned for libfdt; parts are only
    # 4-byte padded, data starts at 64 + 4 * 4: pad the cpio if needed
    local k=$(( ($(stat -c %s "$tmp/kernel.gz") + 3) / 4 * 4 ))
    if (( (80 + k + $(stat -c %s "$tmp/empty")) % 8 )); then
        head -c 4 /dev/zero >>"$tmp/empty"
    fi
    run kernel mkimage -A "$KARCH" -O linux -T multi -C gzip -a "$load" -e "$entry" \
        -n "FenrirOS $BOARD" -d "$tmp/kernel.gz:$tmp/empty:$OUT/$BOARD.dtb" "$OUT/fenriros.uimg"
    msg "kernel: fenriros.uimg (kernel+dtb, $(du -h "$OUT/fenriros.uimg" | cut -f1))"