The echo command is a dash shell built-in and does not support the
-n and -e options so use awk instead.

This fixes the partition table being corrupted when writing the MBR
disk signature into the image.

[YOCTO #4859]

Signed-off-by: Jonathan Liu <net...@gmail.com>
---
 meta/classes/boot-directdisk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/boot-directdisk.bbclass 
b/meta/classes/boot-directdisk.bbclass
index 182957b..8a55aae 100644
--- a/meta/classes/boot-directdisk.bbclass
+++ b/meta/classes/boot-directdisk.bbclass
@@ -81,7 +81,7 @@ build_boot_dd() {
        parted $IMAGE set 1 boot on 
        parted $IMAGE print
 
-       echo -ne "$(echo ${DISK_SIGNATURE} | fold -w 2 | tac | paste -sd '' | 
sed 's/\(..\)/\\x&/g')" | \
+       awk "BEGIN { printf \"$(echo ${DISK_SIGNATURE} | fold -w 2 | tac | 
paste -sd '' | sed 's/\(..\)/\\x&/g')\" }" | \
                dd of=$IMAGE bs=1 seek=440 conv=notrunc
 
        OFFSET=`expr $END2 / 512`
-- 
1.8.3.2

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to