Re: Anyone got Wheezy running on a Dreamplug?
On Sat, 2013-05-18 at 19:00 +0100, Tixy wrote:
> 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
You may have (harmlessly) ended up appending the DTB twice since I think
the installer uImage has it already there...
> 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.
Yes. Originally I thought the presence of JTAG was sufficient for us to
say "just update u-boot" to users, but it's become clear recently that
this option is not terribly reliable, so perhaps it would be wise to
teach the flash-kernel tool about this errata.
On the other hand, non-functioning JTAG seems like a good enough reason
to me to return a dreamplug to the manufacturer for a refund, especially
if you bought their JTAG module as well..
> Thanks Ian for your help.
My pleasure.
Ian.
Reply to: