mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2025-10-30 19:48:15 +00:00
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>
50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
# 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}
|