aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/octeon/base-files/lib/upgrade
Commit message (Collapse)AuthorAgeFilesLines
* octeon: use shared function for platform_copy_config()Adrian Schmutzler2021-05-171-11/+13
| | | | | | | | | This reduces redundant instructions. The solution is inspired by a different implemention of Roman Kuzmitskii. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add new target and support for Ubiquiti EdgeRouter 6PDan Brown2021-05-171-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 6P is 6 port router with similar specifications as the EdgeRouter 4, support for which was added in commit dd651e54cc5eadba480a56a7d2c18471e560f491 There are five 10/100/1000 Mbps RJ/Copper ports and one 1000 Mbps SFP port. SoC: Octeon Cavium 7130 (Cavium 3) at 1000MHz Memory: 1GiB DDR3 Flash: 2x2M chips with uboots (chainloaded) + 512K eeprom LEDs: 1x for power status (white/blue, controllable) and 6x for ethernet and SFP ports (no control over them) Buttons: 1x Reset Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 USB: 1x USB3.0 on front panel MII: 1x QSGMII from SoC PHY: 1x Vitesse VSC8504 of which 4 ports are used (phys 4-7) 1x Vitesse VSC8514 of which 2 ports are used (phys 8-9) Network port mapping - eth0 on device maps to lan0 and phy5 - eth1 on device maps to lan1 and phy6 - eth2 on device maps to lan2 and phy7 - eth3 on device maps to lan3 and phy8 - eth4 on device maps to lan4 and phy9 - eth5 (SFP) on device maps to lan5 and phy4 What is not working: - There is no port status available before it goes up - SFP have no additional status and presented as no different from eth - Power-over-ethernet (passive) support has not been tested How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to EdgeRouter 6P front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to EdgeRouter 6P - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-6p-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-6p-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 6p running openwrt Signed-off-by: Dan Brown <danbrown@gmail.com> [reorder/squash patches, move ethernet@0 to DTS, share image setup] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: add support for Ubiquiti EdgeRouter 4Roman Kuzmitskii2020-11-051-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ubiquiti EdgeRouter 4 is 4 port Octeon Cavium 7130 powered router. It has internal power supply and needs c13 power cord. There are three 10/100/1000 Mbps RJ45/Copper ports and one 1000 Mbps SFP port connected directly to a SoC. SoC: Octeon Cavium 7130 (Cavium 3) Clocked at 1000Mhz Memory: 1 GiB (SK hynix H5TQ4G63CFR-RDC × 2) DDR3, clocked at 533 Mhz (1066Mhz effective) Flash: - mtd: 8 MiB (Macronix MX25L6408EMI-12G) used for uboot/eeprom - emmc: 4 GiB (SanDisk SDIN7DP2-4G) used for kernel+rootfs Leds: 1x for power status (white/blue, controllable) and 4x for ethernet and sfp ports (no control over them) Buttons: 1x Reset (from SOC) Serial: 1x RJ45 port on front panel. 115200 baud, 8N1 (from SoC) USB: 1x USB3.0 on front panel (from SoC) MII: 1x QSGMII from SoC is used PHY: 1x Vitesse VSC8504 of which 4x ports is used All physical port numbers are properly mapped inside OS and named by lanX instead of ethX. There is also special purpose four(4) loopX ports available. That loopX ports are currently hardcoded by linux kernel and exact use case of them is currently unknown. We leave them to the linux kernel and octeon board defaults. All four (4) physical ports are connected to the same QSGMII. vsc8504 is used for phys and only 4, 5, 6 and 7 phys are used. Phy mapping: - Phy5 is connected to physical eth0 port - Phy6 is connected to physical eth1 port - Phy7 is connected to physical eth2 port - Phy4 is connected to physical eth3 port Why this device needs external dts: - faster boot time since need to initialize less device tree nodes. - to add actual indication with LED about boot/failure/upgrade. i.e. user could know when to enter failsafe mode or if upgrade is done - reset button support so user can reset their device in case off failure - sfp port indication in dmesg with information about sfp module it also indicates when module inserted or removed Octeon quirks: - There is no port status available before it interface brought up - SFP port can not be tied to actual phy due to octeon-ethernet state and currently we can only get reports a about SFP state in dmesg How to flash the firmware: - copy openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin and openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar to USB flash drive that is formatted to vfat/fat32 - connect USB flash drive to edgerouter 4 front USB port - connect serial cable using front RJ45 port (115200 baud, 8N1) - connect power to cable to edgerouter 4 - connect terminal to the console to see uboot boot process - interrupt boot by pressing button(s) on your keyboard to log in to the uboot - detect usb connected flash drives by typing to the console: usb start - after drive is detected load initramfs+kernel to the memory by typing: fatload usb 0:1 0x20000000 openwrt-octeon-ubnt_edgerouter-4-initramfs-kernel.bin - after initramfs+kernel is loaded to the memory load it by typing: bootoctlinux 0 numcores=4 endbootargs mem=0 - boot process should finish and you will be greeted with console after pressing enter - create directory to mount usb flash drive to by typing: mkdir /tmp/sda - mount flash drive to that directory by typing: mount /dev/sda1 /tmp/sda - flash firmware to router internal storage by typing: sysupgrade /tmp/sda/openwrt-octeon-ubnt_edgerouter-4-squashfs-sysupgrade.tar - device will reboot and after it gets up you will have edgerouter 4 running openwrt Reviewed-by: Johannes Kimmel <fff@bareminimum.eu> Tested-by: Johannes Kimmel <fff@bareminimum.eu> Signed-off-by: Roman Kuzmitskii <damex.pp@icloud.com>
* base-files: remove block2mtd checks from sysupgradeFelix Fietkau2020-10-171-4/+0
| | | | | | This hasn't been used in a long time Signed-off-by: Felix Fietkau <nbd@nbd.name>
* octeon: add support for Itus Shield RouterDonald Hoskins2020-08-161-10/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Itus Networks Shield - 1Ghz dual-core mips64 / Cavium Octeon 3 SoC, 1Gb RAM, 4Gb eMMC,3 GbE 10/100/1000 ports Information regarding device can be found: https://deviwiki.com/wiki/Itus_Networks_Shield_Pro Installing OpenWrt on Itus Networks Shield: 1) Boot Shield 2) On device: mount /dev/mmcblk1p1 /mnt 3) scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusrouterImage 3a) Optionally: scp openwrt-octeon-itus,shield-router-initramfs-kernel.bin to /mnt/ItusgatewayImage to allow you to have an emergency recovery boot in the GATEWAY slot - this slot will have no permament storage and is used for emergency recovery only when booted in the (G)ateway position 4) On device: umount /mnt 5) reboot Once booted, run the sysupgrade via cli or luCi on the openwrt-octeon-itus,shield-router-squashfs-sysupgrade.tar file the mode you are running. Once rebooted, the system installation is complete. Your storage partition for the mode is inialized and set. Signed-off-by: Donald Hoskins <grommish@gmail.com> [cut out sysupgrade-* changes, move a few lines, drop case CVMX_BOARD_TYPE_ITUS_SHIELD] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: determine sysupgrade-* directory for upgrade automaticallyDonald Hoskins2020-08-161-5/+13
| | | | | | | | | | | | | | | | | | So far, the sysupgrade-* folder used during upgrade in octeon was hardcoded to contain the board name. Therefore, changing board name or BOARD_NAME variable in image/Makefile might have broken upgrade. Improve this by adding a step to determine the folder name via a wildcard, as it is done for generic nand_upgrade_tar() in lib/upgrade/nand.sh. While this still does not remove the problem for existing devices (which still have the old script), it will entirely remove the issue on newly added devices on this platform. Signed-off-by: Donald Hoskins <grommish@gmail.com> [split into separate patch, add commit message, add return values] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* octeon: fix sysupgradeStijn Tintel2019-11-301-2/+2
| | | | | | | | Sysupgrade was failing due to incorrect replacement of backticks: /sbin/sysupgrade: /lib/upgrade/platform.sh: line 101: syntax error: missing '))' Fixes: 0bbfc3dff719 ("octeon: replace backticks by $(...)") Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* octeon: replace backticks by $(...)Adrian Schmutzler2019-09-291-2/+2
| | | | | | | | This replaces deprecated backticks by more versatile $(...) syntax. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [decapitalized patch subject at submitter's request] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* treewide: use new procd sysupgrade $UPGRADE_BACKUP variableRafał Miłecki2019-09-051-1/+1
| | | | | | | | | | It's a variable set by procd that should replace hardcoded /tmp/sysupgrade.tgz. This change requires the most recent procd with the commit 0f3c136 ("sysupgrade: set UPGRADE_BACKUP env variable"). Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: when copying a backup file always specify dest nameRafał Miłecki2019-09-051-1/+1
| | | | | | | $CONF_TAR shouldn't be assumed to always point to the sysupgrade.tgz. This change makes code more generic and allows refactoring $CONF_TAR. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* octeon: fix typo in platform.shHans Dedecker2019-01-121-1/+1
| | | | | | Fix upgrade typo Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
* octeon: Evaluate board names in alphabetical orderJonathan Thibault2018-12-061-5/+5
| | | | Signed-off-by: Jonathan Thibault <jonathan@navigue.com>
* treewide: use only board_name function to get nameMathias Kresin2017-07-151-5/+3
| | | | | | | | | | | | Do not parse /tmp/sysinfo/board_name, /proc/cpuinfo or the device tree compatible string directly. Always use the board_name function to get the board name. The admswconfig package still reads /proc/cpuinfo directly. The code looks somehow broken and the whole adm5120 which uses this package looks unmaintained. Leave it as it is for now. Signed-off-by: Mathias Kresin <dev@kresin.me>
* octeon: get rid of /lib/functions/octeon.sh hackery, use sysinfo directlyFelix Fietkau2016-01-291-5/+3
| | | | | | | | Fixes sysupgrade Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48558
* octeon: add er8 sysupgrade supportJohn Crispin2015-03-201-23/+38
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 44902
* octeon: sysupgrade: support config restore on ERLJohn Crispin2014-12-051-4/+7
| | | | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 43524
* octeon: sysupgrade: rename old kernel after mounting /bootJohn Crispin2014-12-051-3/+4
| | | | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 43523
* octeon: sysupgrade: fix test for rootfs deviceJohn Crispin2014-12-051-1/+1
| | | | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 43522
* octeon: sysupgrade: support config restoreJohn Crispin2014-12-051-0/+9
| | | | SVN-Revision: 43518
* octeon: sysupgrade: get rootfsdev from kernel cmdlineJohn Crispin2014-12-051-2/+24
| | | | | | Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> SVN-Revision: 43517
* octeon: add sysupgrade support for the erliteJohn Crispin2014-06-201-0/+54
Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 41286