Pink Pogoplug e02 with Openwrt

!!!Read material first and understand what you are doing as you can brick your device!!!

Read this link first!
Full credit to Niii.
as per http://www.irky.org/home/pogoplug_openwrt_kern338

Usefull links to read:
http://wiki.openwrt.org/doc/howto/obtai … e.generate
http://wiki.openwrt.org/toh/seagate/dockstar?s[]=dockstar
http://wiki.openwrt.org/doc/howtobuild/build.dockstar?s[]=dockstar
http://projects.doozan.com/debian/
http://projects.doozan.com/uboot/

It is helpfull to have a hex calculator to determine memory map.

burning new image:            ...



The whole idea is to make an image using openwrt build.
After the build is complete then we get the size of the image and the re build it with make to establish the correct memory map.

    !!CAUTION THIS IS JUST A SAMPLE MEMORY MAP!!

current imaging
start hex    size hex    end hex        name        comment
0x00000000    0x00100000    0x00100000    uboot    uboot takes the first block 1.048576 megs
0x00100000    0x00400000    0x00500000    uimage    uimage takes 4.194304 megs add 1.048576 = 5.242880 megs
0x00500000    0x02000000    0x02500000    rootfs    rootfs takes 33.554432 megs add 5.242880 = 38.797312 megs
0x02500000    0x05b00000    0x08000000    data    subtract 8000000(h) - 2500000(h) = 5b00000(h) = 98.420416(d) megs

new imaging:
start hex    size hex    end hex        name        comment
0x00000000    0x00100000    0x00100000    uboot    uboot takes the first block 1.048576 megs
0x00100000    0x00400000    0x00500000    uimage    uimage takes 4.194304 megs add 1.048576 = 5.242880 megs
0x00500000    0x00e90000    0x01390000    rootfs    rootfs takes 15.206400 megs add 5.242880 = 20.449280 megs
0x01390000    0x06c70000    0x08000000    data    subtract 8000000(h) - 1390000(h) = 6c70000(h) = 113.704960(d) megs

Partitioning
To list the current partition table, run the command mtdparts

Marvell>> mtdparts
            device nand0 <orion_nand>, # parts = 4
            #: name size offset mask_flags
            0: u-boot 0x00100000 0x00000000 0
            1: uImage 0x00400000 0x00100000 0
            2: rootfs 0x02000000 0x00500000 0
            3: data 0x05b00000 0x02500000 0
Deleting partitions rootfs and data and adding new blocks:
mtdparts del rootfs
mtdparts del rootfs_data (note first time in it is just mtdparts del data)

Resize to fit the new image.
(for example on a new rebuild. Caution!! this is a sample. Don't just copy. Check and determine the size.)
mtdparts add nand0 0x009e0000@0x00500000 rootfs
mtdparts add nand0 0x07120000@0x00ee0000 rootfs_data



We check with mtdparts:
Marvell>> mtdparts
            device nand0 <orion_nand>, # parts = 4
            #: name size offset mask_flags
            0: u-boot 0x00100000 0x00000000 0
            1: uImage 0x00400000 0x00100000 0
            2: as per new
            3: as per new

You save everything and reboot:
Marvell>> save
            Saving Environment to NAND...
            Erasing Nand...
            Erasing at 0xc0000 -- 100% complete.
            Writing to Nand... done
            Marvell>> reset

4) Installing OpenWrt:
Never start the command "nand erase" without options, it will erase all your nand, including uboot.

we modify several variables:
setenv bootargs console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=jffs2 panic=10
setenv bootcmd 'nand read.e 0x2000000 0x100000 0x400000 ; bootm 0x2000000'
setenv mainlineLinux yes
setenv arcNumber 2097
setenv serverip 192.168.1.37
setenv ipaddr 192.168.1.38
saveenv
reset

(note sample as per the above new build, don't just copy and paste this one.)
You install the kernel:
tftp 0x2000000 openwrt-kirkwood-uImage
nand erase 0x00100000 0x00400000
nand write 0x2000000 0x00100000 0x00400000

Then the rootfs:
tftp 0x2000000 openwrt-kirkwood--jffs2-128k.img
nand erase 0x00500000 0x009e0000
nand write 0x2000000 0x00500000 0x009e0000

It will become void rootfs_data / overlay at boot:
nand erase 0x07120000 0x00ee0000

~john

(Last edited by johnisaacson on 17 Dec 2012, 23:18)