2021-02-10 13:52:34 +00:00
|
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
2013-01-08 22:20:16 +00:00
|
|
|
#
|
2016-10-13 10:52:20 +00:00
|
|
|
# Copyright (C) 2012-2016 OpenWrt.org
|
|
|
|
# Copyright (C) 2016 LEDE-project.org
|
2015-08-05 13:55:52 +00:00
|
|
|
|
|
|
|
JFFS2_BLOCKSIZE = 128k
|
|
|
|
|
2013-01-08 22:20:16 +00:00
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
include $(INCLUDE_DIR)/image.mk
|
|
|
|
|
2020-03-10 06:41:09 +00:00
|
|
|
DEVICE_VARS += BOOT_SCRIPT UBOOT
|
2016-07-20 08:04:03 +00:00
|
|
|
KERNEL_LOADADDR := 0x00008000
|
2015-02-05 11:22:43 +00:00
|
|
|
|
2018-02-14 16:34:38 +00:00
|
|
|
define Build/boot-scr
|
|
|
|
rm -f $@-boot.scr
|
2019-05-11 17:37:30 +00:00
|
|
|
sed \
|
2019-11-04 20:55:23 +00:00
|
|
|
-e 's#@ROOT@#$(IMG_PART_SIGNATURE)#g' \
|
2019-05-11 17:37:30 +00:00
|
|
|
-e 's#@DTB@#$(firstword $(DEVICE_DTS))#g' \
|
|
|
|
$(BOOT_SCRIPT).bootscript > $@-new.bootscript
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $@-new.bootscript $@-boot.scr
|
2017-04-06 18:13:31 +00:00
|
|
|
endef
|
|
|
|
|
2016-08-09 13:23:24 +00:00
|
|
|
define Build/boot-img
|
|
|
|
rm -f $@.boot
|
2019-03-28 17:07:05 +00:00
|
|
|
mkfs.fat -C $@.boot $$(( $(CONFIG_TARGET_KERNEL_PARTSIZE) * 1024 ))
|
2019-05-11 17:37:28 +00:00
|
|
|
$(foreach dts,$(DEVICE_DTS), mcopy -i $@.boot $(KDIR)/image-$(dts).dtb ::$(dts).dtb;)
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
mcopy -i $@.boot $(IMAGE_KERNEL) ::$(KERNEL_NAME)
|
2018-02-14 16:34:38 +00:00
|
|
|
-mcopy -i $@.boot $@-boot.scr ::boot.scr
|
2016-08-09 13:23:24 +00:00
|
|
|
endef
|
|
|
|
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
define Build/boot-img-ext4
|
|
|
|
rm -fR $@.boot
|
|
|
|
mkdir -p $@.boot
|
2019-05-11 17:37:28 +00:00
|
|
|
$(foreach dts,$(DEVICE_DTS), $(CP) $(KDIR)/image-$(dts).dtb $@.boot/$(dts).dtb;)
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
$(CP) $(IMAGE_KERNEL) $@.boot/$(KERNEL_NAME)
|
|
|
|
-$(CP) $@-boot.scr $@.boot/boot.scr
|
2022-03-28 17:25:34 +00:00
|
|
|
make_ext4fs -J -L kernel -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M \
|
|
|
|
$(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \
|
|
|
|
$@.bootimg $@.boot
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
endef
|
|
|
|
|
mvebu: add support for Buffalo LinkStation LS421DE
Buffalo LinkStation LS421DE is a dual bay NAS, based on Marvell Armada 370
Hardware:
SoC: Marvell Armada 88F6707-A1
CPU: Cortex-A9 1200 MHz, 1 core
Flash: SPI-NOR 1 MiB, NAND 512 MiB
RAM: DDR3 512 MiB
Ethernet: 1x 10/100/1000 Mbps
USB: 1x 2.0, 1x 3.0
SATA: 2x 3.0 Gbps
LEDs/Input : 5x / 2x (1x button, 1x slide-switch)
RTC: Ricoh RS5C372A, I2C, no battery
Flash instruction (UART+TFTP):
1. Downgrade the OEM firmware to 1.34 version (BUFFALO_BOOTVER=0.13)
2. Remove any hard drive from inside the bays.
3. Boot the Openwrt initramfs image using the U-Boot serial console:
tftpboot 0x1200000 buffalo_ls421de-initramfs-kernel.bin
bootm 0x1200000
4. Flash the sysupgrade image using the Openwrt console:
sysupgrade -n buffalo_ls421de-squashfs-sysupgrade.bin
5. Wait until it finish, the device will reboot with Openwrt installed
on the NAND flash.
Note:
- Device shuting down doesn't work, even if the power slide switch is
used. We must first, via MDIO, set the unused LED2 at the ethernet
phy0 to off state. Reboot works ok.
Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com>
Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2020-04-07 12:35:26 +00:00
|
|
|
define Build/buffalo-kernel-jffs2
|
|
|
|
rm -rf $(KDIR)/kernel_jffs2 $@.fakerd
|
|
|
|
mkdir -p $(KDIR)/kernel_jffs2
|
|
|
|
dd if=/dev/zero of=$@.fakerd bs=131008 count=1 conv=sync
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkimage \
|
|
|
|
-T ramdisk -A $(LINUX_KARCH) -O linux -C gzip -n 'fake initrd' \
|
|
|
|
-d $@.fakerd $(KDIR)/kernel_jffs2/initrd.buffalo
|
|
|
|
cp $@ $(KDIR)/kernel_jffs2/uImage.buffalo
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
|
|
|
|
--little-endian -v --squash-uids -q -f -n -x lzma -x rtime -m none \
|
|
|
|
--eraseblock=128KiB --pad=$(KERNEL_SIZE) -d $(KDIR)/kernel_jffs2 -o $@
|
|
|
|
rm -rf $(KDIR)/kernel_jffs2 $@.fakerd
|
|
|
|
endef
|
|
|
|
|
2023-02-20 23:43:55 +00:00
|
|
|
define Build/buffalo-kernel-ubifs
|
|
|
|
rm -rf $@-ubidir
|
|
|
|
mkdir -p $@-ubidir
|
|
|
|
mv $@ $@-ubidir/uImage.buffalo
|
|
|
|
touch $@
|
|
|
|
$(call Build/append-uImage-fakehdr, ramdisk)
|
|
|
|
mv $@ $@-ubidir/initrd.buffalo
|
|
|
|
$(STAGING_DIR_HOST)/bin/mkfs.ubifs $(KERNEL_UBIFS_OPTS) -r $@-ubidir $@
|
|
|
|
endef
|
|
|
|
|
2021-12-11 22:23:22 +00:00
|
|
|
# Some info about Ctera firmware:
|
|
|
|
# 1. It's simple tar file (GNU standard), but it must have ".firm" suffix.
|
|
|
|
# 2. It contains two images: kernel and romdisk. Both are required.
|
|
|
|
# 3. Every image has header and trailer file.
|
|
|
|
# 4. The struct of tar firmware is: header kernel trailer header romdisk trailer
|
|
|
|
# 5. In header file are some strings used to describe image. It was decoded from
|
|
|
|
# factory image.
|
|
|
|
# 6. Version format in header file is restricted by Original FW.
|
|
|
|
# 7. Trailer file contains MD5 sum string of header and image file.
|
|
|
|
# 8. Firmware file must have <=24MB size.
|
|
|
|
|
|
|
|
define Build/ctera-firmware
|
|
|
|
mkdir -p $@.tmp
|
|
|
|
|
|
|
|
# Prepare header and trailer file for kernel
|
|
|
|
echo "# CTera firmware information file" > $@.tmp/header
|
|
|
|
echo "image_type=kernel" >> $@.tmp/header
|
|
|
|
echo "arch=ARM" >> $@.tmp/header
|
|
|
|
echo "board=2Drive_A" >> $@.tmp/header
|
|
|
|
echo "version=5.5.165.61499" >> $@.tmp/header
|
|
|
|
echo "kernel_cmd=console=ttyS0,115200 earlycon" >> $@.tmp/header
|
|
|
|
echo "date=$$(date $(if $(SOURCE_DATE_EPOCH),-d@$(SOURCE_DATE_EPOCH)))" \
|
|
|
|
>> $@.tmp/header
|
|
|
|
|
|
|
|
cp $@ $@.tmp/kernel
|
|
|
|
|
|
|
|
echo "MD5=$$(cat $@.tmp/header $@.tmp/kernel | $(MKHASH) md5)" \
|
|
|
|
> $@.tmp/trailer
|
|
|
|
|
|
|
|
tar $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
|
-H gnu -C $@.tmp -cf $@.tar header kernel trailer
|
|
|
|
|
|
|
|
# Prepare header and trailer file for fake romdisk
|
|
|
|
echo "# CTera firmware information file" > $@.tmp/header
|
|
|
|
echo "image_type=romdisk" >> $@.tmp/header
|
|
|
|
echo "initrd=yes" >> $@.tmp/header
|
|
|
|
echo "arch=ARM" >> $@.tmp/header
|
|
|
|
echo "board=2Drive_A" >> $@.tmp/header
|
|
|
|
echo "version=5.5.165.61499" >> $@.tmp/header
|
|
|
|
echo "date=$$(date $(if $(SOURCE_DATE_EPOCH),-d@$(SOURCE_DATE_EPOCH)))" \
|
|
|
|
>> $@.tmp/header
|
|
|
|
|
|
|
|
rm -f $@
|
|
|
|
touch $@
|
|
|
|
$(call Build/append-uImage-fakehdr, ramdisk)
|
|
|
|
cp $@ $@.tmp/romdisk
|
|
|
|
|
|
|
|
echo "MD5=$$(cat $@.tmp/header $@.tmp/romdisk | $(MKHASH) md5)" \
|
|
|
|
> $@.tmp/trailer
|
|
|
|
|
|
|
|
tar $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
|
-H gnu -C $@.tmp -rf $@.tar header romdisk trailer
|
|
|
|
|
|
|
|
mv $@.tar $@
|
|
|
|
rm -rf $@.tmp
|
|
|
|
endef
|
|
|
|
|
2016-08-09 13:23:24 +00:00
|
|
|
define Build/sdcard-img
|
2019-11-04 20:55:23 +00:00
|
|
|
SIGNATURE="$(IMG_PART_SIGNATURE)" \
|
2016-09-08 12:19:34 +00:00
|
|
|
./gen_mvebu_sdcard_img.sh $@ \
|
2019-05-11 17:37:32 +00:00
|
|
|
$(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \
|
|
|
|
c $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.boot \
|
|
|
|
83 $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS)
|
2016-08-09 13:23:24 +00:00
|
|
|
endef
|
2016-08-11 15:20:54 +00:00
|
|
|
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
define Build/sdcard-img-ext4
|
2019-11-04 20:55:23 +00:00
|
|
|
SIGNATURE="$(IMG_PART_SIGNATURE)" \
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
./gen_mvebu_sdcard_img.sh $@ \
|
2019-05-11 17:37:32 +00:00
|
|
|
$(if $(UBOOT),$(STAGING_DIR_IMAGE)/$(UBOOT)) \
|
|
|
|
83 $(CONFIG_TARGET_KERNEL_PARTSIZE) $@.bootimg \
|
|
|
|
83 $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(IMAGE_ROOTFS)
|
mvebu: new subtarget cortex A53
This commit introduces new subtarget for Marvell EBU Armada Cortex A53
processor based devices.
The first device is Globalscale ESPRESSObin. Some hardware specs:
SoC: Marvell Armada 3700LP (88F3720) dual core ARM Cortex A53
processor up to 1.2GHz
RAM: 512MB, 1GB or 2GB DDR3
Storage: SATA interface
µSD card slot with footprint for an optional 4GB EMMC
4MB SPI NOR flash for bootloader
Ethernet: Topaz Networking Switch (88E6341) with 3x GbE ports
Connectors: USB 3.0
USB 2.0
µUSB port connected to PL2303SA (USB to serial bridge
controller) for UART access
Expansion: 2x 46-pin GPIO headers for accessories and shields with
I2C, GPIOs, PWM, UART, SPI, MMC, etc
MiniPCIe slot
Misc: Reset button, JTAG interface
Currently booting only from µSD card is supported.
The boards depending on date of dispatch can come with various U-Boot
versions. For the newest version 2017.03-armada-17.10 no manual
intervention should be needed to boot OpenWrt image. For the older ones
it's necessary to modify default U-Boot environment:
1. Interrupt boot process to run U-Boot command line,
2. Run following commands:
(for version 2017.03-armada-17.06 and 2017.03-armada-17.08)
setenv bootcmd "load mmc 0:1 0x4d00000 boot.scr; source 0x4d00000"
saveenv
(for version 2015.01-armada-17.02 and 2015.01-armada-17.04)
setenv bootargs "console=ttyMV0,115200 root=/dev/mmcblk0p2 rw rootwait"
setenv bootcmd "ext4load mmc 0:1 ${fdt_addr} armada-3720-espressobin.dtb; ext4load mmc 0:1 ${kernel_addr} Image; booti ${kernel_addr} - ${fdt_addr}"
saveenv
3. Poweroff, insert SD card with OpenWrt image, boot and enjoy.
Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
2018-03-07 21:10:02 +00:00
|
|
|
endef
|
|
|
|
|
2017-06-02 16:31:06 +00:00
|
|
|
define Build/omnia-medkit-initramfs
|
|
|
|
$(TAR) -c -T /dev/null -f $@
|
|
|
|
rm -rf $(dir $(IMAGE_KERNEL))boot
|
|
|
|
mkdir -p $(dir $(IMAGE_KERNEL))boot/boot/
|
|
|
|
cp $(KDIR)/zImage-initramfs $(dir $(IMAGE_KERNEL))boot/boot/zImage
|
2019-05-11 17:37:28 +00:00
|
|
|
cp $(KDIR)/image-$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb
|
2017-06-02 16:31:06 +00:00
|
|
|
$(TAR) -rp --numeric-owner --owner=0 --group=0 --sort=name \
|
|
|
|
$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
|
--file=$@ -C $(dir $(IMAGE_KERNEL))boot/ .
|
|
|
|
endef
|
|
|
|
|
2019-07-22 11:08:18 +00:00
|
|
|
define Build/uDPU-firmware
|
|
|
|
(rm -fR $@-fw; mkdir -p $@-fw)
|
2021-02-22 14:55:43 +00:00
|
|
|
$(CP) $(BIN_DIR)/$(DEVICE_IMG_PREFIX)-initramfs.itb $@-fw/recovery.itb
|
2019-07-22 11:08:18 +00:00
|
|
|
$(CP) $@-boot.scr $@-fw/boot.scr
|
2020-02-10 15:33:25 +00:00
|
|
|
$(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
|
|
|
|
$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
|
-f $@-fw/rootfs.tgz -C $(TARGET_DIR) .
|
|
|
|
$(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
|
|
|
|
$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
|
|
|
-f $@-fw/boot.tgz -C $@.boot .
|
|
|
|
$(TAR) -cvzp --numeric-owner --owner=0 --group=0 --sort=name \
|
|
|
|
$(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
|
2021-02-22 14:55:43 +00:00
|
|
|
-f $(KDIR_TMP)/$(DEVICE_IMG_PREFIX)-firmware.tgz -C $@-fw .
|
2019-07-22 11:08:18 +00:00
|
|
|
endef
|
|
|
|
|
2016-07-20 08:04:03 +00:00
|
|
|
define Device/Default
|
2016-07-26 06:36:45 +00:00
|
|
|
PROFILES := Default
|
2020-01-18 01:21:12 +00:00
|
|
|
DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1)))
|
2020-02-10 15:33:23 +00:00
|
|
|
DEVICE_DTS_DIR := $(DTS_DIR)
|
2016-07-20 08:04:03 +00:00
|
|
|
BOARD_NAME = $$(DEVICE_DTS)
|
|
|
|
KERNEL_NAME := zImage
|
|
|
|
KERNEL := kernel-bin | append-dtb | uImage none
|
2019-05-11 17:37:31 +00:00
|
|
|
IMAGES := sysupgrade.bin
|
|
|
|
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
|
|
|
|
UBINIZE_OPTS := -E 5
|
2018-03-14 21:07:08 +00:00
|
|
|
UBOOT :=
|
2019-05-11 17:37:30 +00:00
|
|
|
BOOT_SCRIPT :=
|
2014-06-27 13:00:25 +00:00
|
|
|
endef
|
2016-07-20 08:04:03 +00:00
|
|
|
|
2019-05-11 17:37:29 +00:00
|
|
|
define Device/Default-arm64
|
2019-05-11 17:37:30 +00:00
|
|
|
BOOT_SCRIPT := generic-arm64
|
2020-02-10 15:33:23 +00:00
|
|
|
DEVICE_DTS_DIR := $(DTS_DIR)/marvell
|
2019-05-11 17:37:29 +00:00
|
|
|
IMAGES := sdcard.img.gz
|
|
|
|
IMAGE/sdcard.img.gz := boot-scr | boot-img-ext4 | sdcard-img-ext4 | gzip | append-metadata
|
|
|
|
KERNEL_NAME := Image
|
|
|
|
KERNEL := kernel-bin
|
|
|
|
endef
|
|
|
|
|
2016-07-20 08:04:03 +00:00
|
|
|
define Device/NAND-128K
|
2016-09-04 06:56:05 +00:00
|
|
|
BLOCKSIZE := 128k
|
2016-07-20 08:04:03 +00:00
|
|
|
PAGESIZE := 2048
|
|
|
|
SUBPAGESIZE := 512
|
|
|
|
VID_HDR_OFFSET := 2048
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/NAND-256K
|
2016-09-04 06:56:05 +00:00
|
|
|
BLOCKSIZE := 256k
|
2016-07-20 08:04:03 +00:00
|
|
|
PAGESIZE := 4096
|
|
|
|
endef
|
|
|
|
|
|
|
|
define Device/NAND-512K
|
2016-09-04 06:56:05 +00:00
|
|
|
BLOCKSIZE := 512k
|
2016-07-20 08:04:03 +00:00
|
|
|
PAGESIZE := 4096
|
|
|
|
endef
|
|
|
|
|
2020-06-07 11:11:15 +00:00
|
|
|
include $(SUBTARGET).mk
|
2017-06-02 16:31:06 +00:00
|
|
|
|
2013-01-08 22:20:16 +00:00
|
|
|
$(eval $(call BuildImage))
|