Re: [PATCH] unbreak booting with virtio

Ján ONDREJ (SAL)
2009-08-01T07:04:56Z

On Fri, Jul 31, 2009 at 09:55:39PM +0200, Alexander Graf wrote:
>
> On 31.07.2009, at 20:19, Glauber Costa <glommer@redhat.com> wrote:
>
>> Since commit 89e671e3, extboot is broken due to wrong checksum
>>
>> The problem is that printf "\\$sum" syntax will require an octal
>> representation, so the fix I'm proposing is to convert it first.
>
> Is there no easy way to tell printf we're on decimal? I don't have a
> Linux system handy atm, but I thought \90 was in fact a 90.
>
> Either way, my only complaint would be to introduce a dependency on bc.

>> cp "$1" "$2"
>> +sum=$(echo "obase=8; $sum" | bc)
>> printf "\\$sum" | dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/
>> dev/null

May be it's better to use awk:

echo $sum | awk '{ printf("%c", $1) }' \
| dd of="$2" bs=1 count=1 seek=$size conv=notrunc 2>/dev/null

This version accepts decimal $sum, does not need conversion to octal.

SAL