add support for sysupgrade (#5117)

SVN-Revision: 15900
This commit is contained in:
Florian Fainelli 2009-05-17 16:53:57 +00:00
parent ee48f5ae78
commit 0d7f5f8d2c
2 changed files with 24 additions and 1 deletions

View file

@ -0,0 +1,16 @@
PART_NAME=linux
platform_check_image() {
[ "$ARGC" -gt 1 ] && return 1
case "$(get_magic_word "$1")" in
3600)
# 6348GW-11 boards use openwrt-96348GW-11-squashfs-cfe.bin files
return 0
;;
*)
echo "Invalid image type. Please use only .bin files"
return 1
;;
esac
}
# use default for platform_do_upgrade()

View file

@ -45,7 +45,7 @@ static struct map_info bcm963xx_map = {
static int parse_cfe_partitions( struct mtd_info *master, struct mtd_partition **pparts)
{
int nrparts = 2, curpart = 0; /* CFE and NVRAM are always present. */
int nrparts = 3, curpart = 0; /* CFE,NVRAM and global LINUX are always present. */
struct bcm_tag *buf;
struct mtd_partition *parts;
int ret;
@ -118,9 +118,16 @@ static int parse_cfe_partitions( struct mtd_info *master, struct mtd_partition *
parts[curpart].size += sparelen;
curpart++;
};
parts[curpart].name = "nvram";
parts[curpart].offset = master->size - master->erasesize;
parts[curpart].size = master->erasesize;
/* Global partition "linux" to make easy firmware upgrade */
curpart++;
parts[curpart].name = "linux";
parts[curpart].offset = parts[0].size;
parts[curpart].size = master->size - parts[0].size - parts[3].size;
for (i = 0; i < nrparts; i++)
printk(KERN_INFO PFX "Partition %d is %s offset %x and length %x\n", i, parts[i].name, parts[i].offset, parts[i].size);