Check Point V-80 (Quantum Spark 1550 Appliance) is an Appliance, based on Armada 7040 (88F7040). Specification: - SoC : Marvell Armada 7040 (88F7040) - RAM : DDR4 2 GiB (4x Nanya NT5AD512M8D3-HR) - Flash : eMMC 4 GiB (Toshiba THGBMNG5D1LBAIL) - Ethernet : 6x 10/100/1000 Mbps - LAN 1-5 : Marvell 88E6352 - WAN : Marvell 88E1512 - LEDs/Keys (GPIO): 6x/1x - UART : "CONSOLE" port (USB 1.1 Type-C) - chip : Silicon Labs CP2102N - port : ttyS0 - settings : 115200bps 8n1 - HW Monitoring : 2x nuvoTon NCT7802Y - USB : USB 3.0 Type-A - Power : 12 VDC, 3.3 A - plug : DC Plug 2.5/5.5 mm (inner/outer) Flash instruction (common): 1. Boot V-80 normally 2. Login to the vendor CLI (default: admin/admin) and login to the Linux CLI by `expert` command 3. Update U-Boot environment variables by the following commands fw_setenv bootcmd_ow_usb 'usb start; load usb 0:1 ${loadaddr} boot.scr && source ${loadaddr}' fw_setenv bootcmd_ow_emmc 'run set_mmc_internal; mmc read ${loadaddr} ${prim_header_mmc_blk} 4 && source ${loadaddr}' fw_setenv bootcmd 'run bootcmd_ow_usb; run bootcmd_ow_emmc; run bootcmd_part${activePartition};' Attention: don't forget single quatations of values to prevent expansion of each variables 4. Turn off the device Flash instruction (USB-boot): 1. Burn (squashfs|ext4)-sdcard.img.gz to USB storage 2. Connect that storage to the USB 3.0 port on V-80 3. Turn on V-80 and it will be booted with OpenWrt in that USB storage Flash instruction (eMMC-boot): 1. Copy initramfs image, dtb and bootsctipt to the USB storage with renaming initramfs.bin -------> Image dtb -----------------> armada-7040-v-80.dtb bootscript (.scr) ---> boot.scr 2. Connect that storage to the USB 3.0 port on V-80 3. Turn on V-80 and it will be booted with OpenWrt initramfs image in that USB storage 4. Upload (squashfs|ext4)-sysupgrade.gz to V-80 5. Perform sysupgrade with the uploaded image 6. Wait ~100 seconds to complete flashing Reverting to stock firmware: 1. Turn on V-80 and interrupt booting by Ctrl + C 2. Select "4. Restore to Factory Defaults (local)" 3. Wait ~180 seconds to complete restoring and rebooting Notes: - V-80 has some HW versions. Internal MicroSD card slot and mPCIe slot is available on some HW versions, but not on the other HW versions. confirmed (MicroSD/mPCIe slots): - 1.0.1: unavailable - 1.0.3: available - The partition table in the internal eMMC has single partition, but "blkdevparts=" parameter will be passed from the bootloader and that definition will be used instead. MAC addresses: LAN: 00:1C:7F:xx:xx:4B (mmcblk1boot0, ethaddr (text)) WAN: 00:1C:7F:xx:xx:4A (mmcblk1boot0, eth1addr (text)) Tested-by: Yanase Yuki <dev@zpc.st> Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/16904 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
49 lines
1.2 KiB
Text
49 lines
1.2 KiB
Text
# Bootscript for Check Point V-80 (eMMC/USB/SD)
|
|
setenv ow_root "@ROOT@-02"
|
|
|
|
# ROOT is "eMMC"
|
|
if test "${ow_root}" = "eMMC-02"; then
|
|
mmc read ${fdt_addr_r} ${prim_dtb_dest_mmc_blk} ${dtb_partition_block_count}
|
|
mmc read ${kernel_addr_r} 0x5004 ${kernel_partition_block_count}
|
|
|
|
setenv ow_root "/dev/mmcblk1p3"
|
|
# ROOT is other value (USB/SD)
|
|
else
|
|
# ROOT is "INIT", try USB storage (initramfs)
|
|
if test "${ow_root}" = "INIT-02"; then
|
|
setenv devtype usb
|
|
setenv ow_root
|
|
else
|
|
# try USB storage
|
|
part uuid usb 0:2 uuid
|
|
if test -n "${uuid}" -a "${uuid}" = "${ow_root}"; then
|
|
setenv devtype usb
|
|
fi
|
|
|
|
set uuid
|
|
# try SD card
|
|
test -z "${devtype}" && part uuid mmc 0:2 uuid
|
|
if test -n "${uuid}" -a "${uuid}" = "${ow_root}"; then
|
|
setenv devtype mmc
|
|
fi
|
|
|
|
if test -z "${devtype}"; then
|
|
echo "Cannot find any boot device!"
|
|
exit
|
|
fi
|
|
|
|
setenv ow_root "PARTUUID=${ow_root}"
|
|
fi
|
|
|
|
load ${devtype} 0:1 ${fdt_addr_r} @DTB@.dtb
|
|
load ${devtype} 0:1 ${kernel_addr_r} Image
|
|
fi
|
|
|
|
# remove "quiet" option from bootargs
|
|
setenv cp_quiet
|
|
# set bootargs with "blkdevparts" option
|
|
run set_bootargs_vx
|
|
|
|
test -n "${ow_root}" && setenv bootargs "${bootargs} root=${ow_root} rw rootwait"
|
|
|
|
booti ${kernel_addr_r} - ${fdt_addr_r}
|