cat /proc/mtd | /mod/bin/busybox/awk '
BEGIN {
printf(" %-18s %s + %s\n", "Name", "Address", "Size")
}
/^mtd/ {
part = substr($1, 4, 1)
size = sprintf("0x%s", $2);
split($0, a, "\"")
name = a[2]
if (name ~ /physmap/) addr = 0
if (!addr)
paddr = "0x00000000"
else
paddr = sprintf("0x%08x", addr);
psize = sprintf("%.1f MiB", size / (1024 * 1024))
printf("%d: %-18s %s + 0x%08x (%s)\n", \
part, name, paddr, size, psize)
addr += size
}
'
FOXSAT-HD Internal Flash Layout
Name Address + Size
0: cfe 0x00000000 + 0x00100000 (1.0 MiB)
1: vmlinux 0x00100000 + 0x00200000 (2.0 MiB)
2: rootfs 0x00300000 + 0x00100000 (1.0 MiB)
3: lib 0x00400000 + 0x00200000 (2.0 MiB)
4: settop 0x00600000 + 0x00600000 (6.0 MiB)
5: image 0x00c00000 + 0x00200000 (2.0 MiB)
6: channel 0x00e00000 + 0x00100000 (1.0 MiB)
7: flashfs 0x00f00000 + 0x00100000 (1.0 MiB)
8: phys_mapped_flash 0x01000000 + 0x01000000 (16.0 MiB)
( with current work dir as /opt and the webif package ìn /opt)
# ./bin/opkg-unpack webif_2.71_mips.opk
This fails with:
/bin/sh: ./bin/opkg-unpack: not found
#