[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Anyone got Wheezy running on a Dreamplug?



On Sat, 2013-05-18 at 11:40 +0100, Ian Campbell wrote:
> Hi Tixy,
> 
> On Fri, 2013-05-17 at 09:24 +0100, Tixy wrote:
> > Does anyone know of any foolproof method of getting Wheezy running on a
> > Dreamplug?
> > 
> > I believe this requires upgrading U-Boot (to get device-tree support/fix
> > L2 cache issue?) but when I tried upgrading U-Boot by flashing it from
> > U-Boot I ended up with an expensive brick. Now this may have been user
> > error, but I don't want to risk bricking the new DreamPlug I bought
> > without instructions which are known to work. Or, perhaps the safest
> > thing is to load a new U-Boot from the old one if that's possible? And
> > in desperation I may even resort to writing a shim to make the Wheezy
> > kernel load with the stock U-Boot.
> 
> You can do this with devio. My NOTES file says (I've not tried this
> recently, but I'm reasonably sure it worked when I made the notes):
>         $ (
>                 # disable l2 caches
>                 devio "wl 0xee3f3f11,4" # mrc     15, 1, r3, cr15, cr1, {0}
>                 devio "wl 0xe3c33501,4" # bic     r3, r3, #4194304        ; 0x400000
>                 devio "wl 0xee2f3f11,4" # mcr     15, 1, r3, cr15, cr1, {0}
>         
>                 # flush caches
>                 devio "wl 0xe3a03000,4" # mov     r3, #0
>                 devio "wl 0xee073f17,4" # mcr     15, 0, r3, cr7, cr7, {0}
>         
>                 cat vmlinuz-3.2.0-3-kirkwood
>         )> vmlinuz.devio
>         $ mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 \
>         	-n "kernel 3.2.0-3-kirkwood" -d vmlinuz.devio myuImage
> 
> This ought to work equally well with the kernel file provided by the
> installer.

If does if you append the device-tree to the kernel as well. I ended up
trying to extend the devio shim for device-tree and was having problems,
then saw the Debian Kirkwood image has CONFIG_ARM_APPENDED_DTB :-)

So for others finding this thread, I ended up with this method to
convert the installer uImage into one which will boot on the DreamPlug
with the stock U-Boot which ships on the DreamPlug...

        (
        # disable l2 caches
        devio "wl 0xee3f3f11,4" # mrc     15, 1, r3, cr15, cr1, {0}
        devio "wl 0xe3c33501,4" # bic     r3, r3, #4194304        ; 0x400000
        devio "wl 0xee2f3f11,4" # mcr     15, 1, r3, cr15, cr1, {0}
        
        # flush caches
        devio "wl 0xe3a03000,4" # mov     r3, #0
        devio "wl 0xee073f17,4" # mcr     15, 0, r3, cr7, cr7, {0}
        
        # remove uboot header from the uImage we want to boot
        dd if=original-uImage bs=1 skip=64
        # append dtb to kernel image
        cat kirkwood-dreamplug.dtb           
        )> vmlinuz.devio
        
        mkimage -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 \
                        -n "kernel 3.2.0-4-kirkwood" -d vmlinuz.devio new-uImage

I got the dtb file from linux-image-3.2.0-4-kirkwood_3.2.41-2_armel.deb

Of course, I will need to do similar processing of the image the
installer puts in the boot partition, and repeat each time we get a
kernel update.

Thanks Ian for your help.

-- 
Tixy




Reply to: