bcm53xx: put kernel into TRX when building initramfs images

Many (most?) devices can't boot raw kernel using tftp and probably none
allows flashing it. It's way more usable to have TRX with kernel
containing initrams as such an image can be actually flashed.

An exception are Buffalo devices which have recovery mode with support
for booting kernels over TFTP. For them keep building default images.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This commit is contained in:
Rafał Miłecki 2017-03-24 18:25:23 +01:00
parent 6c937df749
commit 2ebfdabfbd

View file

@ -49,6 +49,15 @@ define Build/buffalo-wzr-header
mv $@.new $@ mv $@.new $@
endef endef
# TRX with only one (kernel) partition
define Build/trx
$(STAGING_DIR_HOST)/bin/trx \
-o $@.new \
-m 33554432 \
-f $@
mv $@.new $@
endef
define Build/trx-serial define Build/trx-serial
$(STAGING_DIR_HOST)/bin/trx \ $(STAGING_DIR_HOST)/bin/trx \
-o $@.new \ -o $@.new \
@ -111,6 +120,8 @@ define Device/Default
DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb))) DEVICE_DTS := $(patsubst %.dtb,%,$(notdir $(wildcard $(if $(IB),$(KDIR),$(DTS_DIR))/*-$(1).dtb)))
KERNEL := kernel-bin | append-dtb | lzma-d16 KERNEL := kernel-bin | append-dtb | lzma-d16
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_INITRAMFS_SUFFIX := .trx
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma-d16 | trx
FILESYSTEMS := squashfs FILESYSTEMS := squashfs
KERNEL_NAME := zImage KERNEL_NAME := zImage
IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2) IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
@ -149,19 +160,32 @@ define Device/asus-rt-n18u
endef endef
TARGET_DEVICES += asus-rt-n18u TARGET_DEVICES += asus-rt-n18u
# Buffalo devices have TFTP recovery mode which can work nicely with initramfs
# kernels.
# We should have two initramfs images for Buffalo: plain initramfs kernel and
# TRX with initramfs kernel. It's not possible right now so let's just build
# plain initramfs kernel as it may be more useful.
define Device/buffalo/Default
KERNEL_INITRAMFS_SUFFIX = $$(KERNEL_SUFFIX)
KERNEL_INITRAMFS = $$(KERNEL)
endef
define Device/buffalo-wxr-1900dhp define Device/buffalo-wxr-1900dhp
$(call Device/buffalo/Default)
DEVICE_TITLE := Buffalo WXR-1900DHP DEVICE_TITLE := Buffalo WXR-1900DHP
DEVICE_PACKAGES := $(USB3_PACKAGES) DEVICE_PACKAGES := $(USB3_PACKAGES)
endef endef
TARGET_DEVICES += buffalo-wxr-1900dhp TARGET_DEVICES += buffalo-wxr-1900dhp
define Device/buffalo-wzr-600dhp2 define Device/buffalo-wzr-600dhp2
$(call Device/buffalo/Default)
DEVICE_TITLE := Buffalo WZR-600DHP2 DEVICE_TITLE := Buffalo WZR-600DHP2
DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES) DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
endef endef
TARGET_DEVICES += buffalo-wzr-600dhp2 TARGET_DEVICES += buffalo-wzr-600dhp2
define Device/buffalo-wzr-900dhp define Device/buffalo-wzr-900dhp
$(call Device/buffalo/Default)
DEVICE_TITLE := Buffalo WZR-900DHP DEVICE_TITLE := Buffalo WZR-900DHP
DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES)
BUFFALO_TAG_PLATFORM := bcm BUFFALO_TAG_PLATFORM := bcm
@ -182,6 +206,7 @@ endef
TARGET_DEVICES += buffalo-wzr-900dhp TARGET_DEVICES += buffalo-wzr-900dhp
define Device/buffalo-wzr-1750dhp define Device/buffalo-wzr-1750dhp
$(call Device/buffalo/Default)
DEVICE_TITLE := Buffalo WZR-1750DHP DEVICE_TITLE := Buffalo WZR-1750DHP
DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES) DEVICE_PACKAGES := kmod-b43 $(USB3_PACKAGES)
endef endef