On Mon, 2014-05-05 at 21:45 +0200, Karsten Merker wrote:
> On Mon, May 05, 2014 at 08:17:06PM +0100, Ian Campbell wrote:
> 
> > This does make me wonder if f-k with your patch needs to be more careful
> > about overwriting /boot/vmlinuz in case it is a symlink.
> 
> Indeed. Does anything speak against explicitly calling "rm -f" on the
> file defined by Boot-{Kernel,Initrd}-Path before writing to it? If 
> it is a symlink, only the symlink gets removed and the file it points
> to stays untouched, and if it is a file, removing it does no harm.

I'm not sure. How about just avoiding the issue altogether with
something like this (untested):

--- a/functions
+++ b/functions
@@ -282,9 +282,13 @@ mkimage_script() {
        local sdata="$3"
        local script="$4"
 
+       local tdata="$tmpdir/boot.scr.subst"
+
        printf "Generating boot script u-boot image... " >&2
+       sed -e 's/@@KERNEL_VERSION@@/$kvers/g' \
+               < $sdata > $tdata
        mkimage -A arm -O linux -T script -C none -a "$saddr" -e "$saddr" \
-               -n "$sdesc" -d "$sdata" "$script" >&2 1>/dev/null
+               -n "$sdesc" -d "$tdata" "$script" >&2 1>/dev/null
        echo "done." >&2
 }
 
With this there is no need to copy or link anything since you can use
"setenv kvers @@KERNEL_VERSION@@" in the boot.scr and then use
vmlinuz-${kvers} etc (or use @@KERNEL_VERSION@@ throughout).

This shouldn't have any impact on any existing boot script which doesn't
use the @@KERNEL_VERSION@@ pattern.

A less appealing alternative would be for flash-kernel to always prepend
a setenv to the script itself, or perhaps to generate a second script
which could be optionally sourced from this one a la uEnv.txt. I think
the patch above is the simplest alternative though.

Ian.


-- 
To UNSUBSCRIBE, email to debian-arm-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/1399360573.13877.8.ca...@dagon.hellion.org.uk

Reply via email to