Changeset 44902


Ignore:
Timestamp:
2015-03-20T09:49:08+01:00 (3 years ago)
Author:
blogic
Message:

octeon: add er8 sysupgrade support

Signed-off-by: John Crispin <blogic@…>

Location:
trunk/target/linux/octeon
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/octeon/Makefile

    r44350 r44902  
    1010BOARD:=octeon 
    1111BOARDNAME:=Cavium Networks Octeon 
    12 FEATURES:=squashfs jffs2 ext4 pci usb 
     12FEATURES:=squashfs jffs2 ext4 initramfs pci usb 
    1313CPU_TYPE:=octeon 
    1414CPU_CFLAGS_octeon:=-march=octeon -mabi=64 
  • trunk/target/linux/octeon/base-files/lib/upgrade/platform.sh

    r43524 r44902  
    3636} 
    3737 
     38platform_do_flash() { 
     39        local tar_file=$1 
     40        local board=$2 
     41        local kernel=$3 
     42        local rootfs=$4 
     43 
     44        mkdir -p /boot 
     45        mount -t vfat /dev/$kernel /boot 
     46 
     47        [ -f /boot/vmlinux.64 -a ! -L /boot/vmlinux.64 ] && { 
     48                mv /boot/vmlinux.64 /boot/vmlinux.64.previous 
     49                mv /boot/vmlinux.64.md5 /boot/vmlinux.64.md5.previous 
     50        } 
     51 
     52        echo "flashing kernel to /dev/$kernel" 
     53        tar xf $tar_file sysupgrade-$board/kernel -O > /boot/vmlinux.64 
     54        md5sum /boot/vmlinux.64 | cut -f1 -d " " > /boot/vmlinux.64.md5 
     55        echo "flashing rootfs to ${rootfs}" 
     56        tar xf $tar_file sysupgrade-$board/root -O | dd of="${rootfs}" bs=4096 
     57        sync 
     58        umount /boot 
     59} 
     60 
    3861platform_do_upgrade() { 
     62        local tar_file="$1" 
    3963        local board=$(octeon_board_name) 
    4064        local rootfs="$(platform_get_rootfs)" 
     65        local kernel= 
    4166 
    4267        [ -b "${rootfs}" ] || return 1 
    43  
    4468        case "$board" in 
    4569        erlite) 
    46                 local tar_file="$1" 
    47                 local kernel_length=`(tar xf $tar_file sysupgrade-erlite/kernel -O | wc -c) 2> /dev/null` 
    48                 local rootfs_length=`(tar xf $tar_file sysupgrade-erlite/root -O | wc -c) 2> /dev/null` 
    49  
    50                 mkdir -p /boot 
    51                 mount -t vfat /dev/sda1 /boot 
    52  
    53                 [ -f /boot/vmlinux.64 -a ! -L /boot/vmlinux.64 ] && { 
    54                         mv /boot/vmlinux.64 /boot/vmlinux.64.previous 
    55                         mv /boot/vmlinux.64.md5 /boot/vmlinux.64.md5.previous 
    56                 } 
    57  
    58                 tar xf $tar_file sysupgrade-erlite/kernel -O > /boot/vmlinux.64 
    59                 md5sum /boot/vmlinux.64 | cut -f1 -d " " > /boot/vmlinux.64.md5 
    60                 tar xf $tar_file sysupgrade-erlite/root -O | dd of="${rootfs}" bs=4096 
    61                 sync 
    62                 umount /boot 
    63                 return 0 
     70                kernel=sda1 
    6471                ;; 
     72        er) 
     73                kernel=mmcblk0p1 
     74                ;; 
     75        *) 
     76                return 1 
    6577        esac 
    6678 
    67         return 1 
     79        platform_do_flash $tar_file $board $kernel $rootfs 
     80 
     81        return 0 
    6882         
    6983} 
     
    7387 
    7488        case "$board" in 
    75         erlite) 
     89        erlite | \ 
     90        er) 
    7691                local tar_file="$1" 
    77                 local kernel_length=`(tar xf $tar_file sysupgrade-erlite/kernel -O | wc -c) 2> /dev/null` 
    78                 local rootfs_length=`(tar xf $tar_file sysupgrade-erlite/root -O | wc -c) 2> /dev/null` 
     92                local kernel_length=`(tar xf $tar_file sysupgrade-$board/kernel -O | wc -c) 2> /dev/null` 
     93                local rootfs_length=`(tar xf $tar_file sysupgrade-$board/root -O | wc -c) 2> /dev/null` 
    7994                [ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && { 
    8095                        echo "The upgarde image is corrupt." 
  • trunk/target/linux/octeon/config-3.18

    r44901 r44902  
    1717CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y 
    1818CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y 
    19 # CONFIG_AUDIT_ARCH_COMPAT_GENERIC is not set 
    2019CONFIG_BINFMT_ELF32=y 
    2120CONFIG_BLK_DEV_SD=y 
     
    127126CONFIG_HZ_250=y 
    128127CONFIG_HZ_PERIODIC=y 
     128CONFIG_IMAGE_CMDLINE_HACK=y 
    129129CONFIG_INITRAMFS_SOURCE="" 
    130130CONFIG_IOMMU_HELPER=y 
     
    147147CONFIG_MIPS_L1_CACHE_SHIFT_7=y 
    148148# CONFIG_MIPS_MACHINE is not set 
    149 # CONFIG_MIPS_PARAVIRT is not set 
    150149CONFIG_MIPS_PGD_C0_CONTEXT=y 
    151150CONFIG_MMC=y 
     
    155154CONFIG_MODULES_USE_ELF_REL=y 
    156155CONFIG_MODULES_USE_ELF_RELA=y 
     156CONFIG_MTD_BLOCK2MTD=y 
    157157# CONFIG_MTD_CFI_INTELEXT is not set 
    158158CONFIG_MTD_CMDLINE_PARTS=y 
     
    205205CONFIG_SECCOMP_FILTER=y 
    206206CONFIG_SERIAL_8250_DW=y 
    207 CONFIG_SERIAL_EARLYCON=y 
    208207CONFIG_SMP=y 
    209208CONFIG_SPARSEMEM=y 
  • trunk/target/linux/octeon/image/Makefile

    r42809 r44902  
    88include $(INCLUDE_DIR)/image.mk 
    99 
     10define Image/BuildKernel/Template 
     11        # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section 
     12        $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux.elf -o $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 
     13        $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 '$(strip $(2))' 
     14        md5sum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 | cut -d " " -f 1 | tee $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64.md5 
     15endef 
     16 
     17define Image/BuildKernel/Initramfs/Template 
     18        $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux-initramfs.elf -o $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf 
     19        $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf '$(strip $(2))' 
     20endef 
     21 
     22ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait 
     23 
    1024define Image/BuildKernel 
    11         # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section 
    12         $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux.elf -o $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf 
    13         $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7 
    14         dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux.lzma bs=65536 conv=sync 
    15         $(CP) $(KDIR)/vmlinux.elf $(BIN_DIR)/vmlinux.64 
    16         md5sum  $(BIN_DIR)/vmlinux.64 | cut -d " " -f 1 | tee $(BIN_DIR)/vmlinux.64.md5 
     25        $(call Image/BuildKernel/Template,generic,) 
     26        $(call Image/BuildKernel/Template,er,$(ER_CMDLINE)) 
     27endef 
     28 
     29define Image/BuildKernel/Initramfs 
     30        $(call Image/BuildKernel/Initramfs/Template,generic,) 
     31        $(call Image/BuildKernel/Initramfs/Template,er,$(ER_CMDLINE)) 
     32endef 
     33 
     34define Image/Build/sysupgrade 
     35        mkdir -p $(KDIR)/sysupgrade-$(1)/ 
     36        echo "BOARD=er" > $(KDIR)/sysupgrade-$(1)/CONTROL 
     37        $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(2)-vmlinux.64 $(KDIR)/sysupgrade-$(1)/kernel 
     38        $(CP) $(KDIR)/root.$(3) $(KDIR)/sysupgrade-$(1)/root 
     39        (cd $(KDIR); $(TAR) cvf \ 
     40                $(BIN_DIR)/$(IMG_PREFIX)-$(1)-sysupgrade.tar sysupgrade-$(1)) 
     41endef 
     42 
     43define Image/Build/ext4 
     44        $(call Image/Build/sysupgrade,erlite,generic,ext4) 
    1745endef 
    1846 
    1947define Image/Build/squashfs 
    20     $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) 
    21 endef 
    22  
    23 define Image/Build/ext4/erlite 
    24         mkdir -p $(KDIR)/sysupgrade-erlite/ 
    25         echo "BOARD=erlite" > $(KDIR)/sysupgrade-erlite/CONTROL 
    26         $(CP) $(KDIR)/vmlinux.elf $(KDIR)/sysupgrade-erlite/kernel 
    27         $(CP) $(KDIR)/root.ext4 $(KDIR)/sysupgrade-erlite/root 
    28         (cd $(KDIR); $(TAR) cvf \ 
    29                 $(BIN_DIR)/$(IMG_PREFIX)-erlite-sysupgrade.tar sysupgrade-erlite) 
    30 endef 
    31  
    32 define Image/Build/ext4 
    33     $(call Image/Build/ext4/erlite) 
     48        $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) 
     49        $(call Image/Build/sysupgrade,er,er,squashfs) 
    3450endef 
    3551 
Note: See TracChangeset for help on using the changeset viewer.