openwrt/target/linux/ixp4xx/image/Makefile

141 lines
4.5 KiB
Makefile
Raw Normal View History

# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2006-2021 OpenWrt.org
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
# Cook a Linksys NSLU2 etc image
define Build/linksys-ixp425-image
touch $@.null-initrd
$(TOPDIR)/scripts/slugimage.pl -L $(STAGING_DIR_IMAGE)/apex/apex-$(1)-armeb.bin -k $@ -r $@.null-initrd -p -o $@.new
mv $@.new $@
endef
define Build/freecom-image
mkdir -p $@.tmptar
# Add kernel
cp $@ $@.tmptar/zImage
cd $@.tmptar && tar -c -j -f $@.new --numeric-owner --owner=0 --group=0 *
rm -rf $@.tmptar
encode_crc $@.new $@
rm -f $@.new
endef
# Build sysupgrade image
define BuildFirmware/Generic
dd if=$(KDIR)/zImage of=$(KDIR)/zImage.pad bs=64k conv=sync; \
dd if=$(KDIR)/root.$(1) of=$(KDIR)/root.$(1).pad bs=128k conv=sync; \
sh $(TOPDIR)/scripts/combined-image.sh \
$(KDIR)/zImage.pad \
$(KDIR)/root.$(1).pad \
$(BIN_DIR)/$(IMG_PREFIX)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))-sysupgrade.bin
endef
define Image/Build
$(call Image/Build/$(1),$(1))
$(call BuildFirmware/Generic,$(1))
endef
define Device/Default
PROFILES := Default
DEVICE_DTS_DIR = $$(DTS_DIR)/intel/ixp
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_NAME := zImage
KERNEL := kernel-bin | append-dtb
BLOCKSIZE := 128k
endef
define Device/dlink_dsm_g600_a
DEVICE_VENDOR := D-Link
DEVICE_MODEL := DSM G600 A
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-pcf8563 kmod-via-velocity kmod-ata-artop kmod-ath5k wpad-basic-mbedtls
DEVICE_DTS := intel-ixp42x-dlink-dsm-g600
KERNEL := kernel-bin | append-dtb
IMAGES := kernel.bin rootfs.bin
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
endef
TARGET_DEVICES += dlink_dsm_g600_a
define Device/freecom_fsg_3
DEVICE_VENDOR := Freecom
DEVICE_MODEL := FSG-3
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-isl1208 kmod-ath5k wpad-basic-mbedtls
# Only 4 MB of Flash so not building by default
DEFAULT := n
DEVICE_DTS := intel-ixp42x-freecom-fsg-3
KERNEL := kernel-bin | append-dtb
IMAGES := factory.bin
# This has to boot from harddisk so just append the kernel
IMAGE/factory.bin := append-kernel | freecom-image
endef
TARGET_DEVICES += freecom_fsg_3
define Device/gateworks_avila
DEVICE_VENDOR := Gateworks
DEVICE_MODEL := Avila GW2348-4
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-ds1672 kmod-eeprom-at24 kmod-hwmon-ad7418
DEVICE_DTS := intel-ixp42x-gateworks-gw2348
KERNEL := kernel-bin | append-dtb
IMAGES := kernel.bin rootfs.bin
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
endef
TARGET_DEVICES += gateworks_avila
define Device/gateworks_cambria
DEVICE_VENDOR := Gateworks
DEVICE_MODEL := Cambria GW2358-4
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-ds1672 kmod-eeprom-at24 kmod-hwmon-ad7418
DEVICE_DTS := intel-ixp43x-gateworks-gw2358
KERNEL := kernel-bin | append-dtb
IMAGES := kernel.bin rootfs.bin
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
endef
TARGET_DEVICES += gateworks_cambria
define Device/iomega_nas100d
DEVICE_VENDOR := Iomega
DEVICE_MODEL := NAS100d
# USB2 is compiled in and needs no package
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-pcf8563
DEVICE_DTS := intel-ixp42x-iomega-nas100d
KERNEL := kernel-bin | append-dtb
IMAGES := factory.bin
# This has to boot from harddisk so just append the kernel
IMAGE/factory.bin := append-kernel | linksys-ixp425-image "nas100d"
endef
TARGET_DEVICES += iomega_nas100d
define Device/linksys_nslu2
DEVICE_VENDOR := Linksys
DEVICE_MODEL := NSLU2
# USB2 is compiled in and needs no package
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-x1205
# Only 32 MB of RAM so not building by default
DEFAULT := n
DEVICE_DTS := intel-ixp42x-linksys-nslu2
KERNEL := kernel-bin | append-dtb
IMAGES := factory.bin
# This has to boot from harddisk so just append the kernel
IMAGE/factory.bin := append-kernel | linksys-ixp425-image "nslu2"
endef
TARGET_DEVICES += linksys_nslu2
define Device/usrobotics_usr8200
DEVICE_VENDOR := USRobotics
DEVICE_MODEL := USR8200
# USB2 is compiled in and needs no package
DEVICE_PACKAGES := ixp4xx-microcode-ethernet kmod-rtc-r7301 kmod-firewire kmod-firewire-ohci
DEVICE_DTS := intel-ixp42x-usrobotics-usr8200
KERNEL := kernel-bin | append-dtb
IMAGES := kernel.bin rootfs.bin
IMAGE/kernel.bin := append-kernel
IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
endef
TARGET_DEVICES += usrobotics_usr8200
$(eval $(call BuildImage))