
Fix execution of initramfs image on NEC Aterm devices by increasing available memory for lzma extraction of lzma-loader. The size of initramfs image of v24.10.0 exceeds available memory (LZMA_TEXT_START - LOADADDR) and loader data running at LZMA_TEXT_START will be overwritten by extracted data. As a result, LZMA extraction will be broken and stuck (or unexpectedly reset). Fix that issue by setting higher LZMA_TEXT_START address to increase available memory for LZMA extraction by lzma-loader. log (v24.10.0): boot> tftpd tftpd start 192.168.0.1 boot> start tftp load openwrt-24.10.0-ath79-generic-ne end tftp load length = 6569768 start memory load ... memory load complete begin : 0x80040000 length : 6567044 startup: 0x80040000 boot> boot begin : 0x80040000 length : 6567044 startup: 0x80040000 option: 0x0 NEC Aterm series (QCA9558) Calibrating SGMII SGMII cal value = 0xe Configuring SGMII force mode SGMII_CONFIG : 0x000000a2 MR_AN_CONTROL: 0x00008140 MR_AN_CONTROL: 0x00000140 OpenWrt kernel loader for AR7XXX/AR9XXX Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org> Decompressing kernel... [:<syntax:value>]');retu <--- (stuck) IPL:SOFT-RESET <--- (reset by WDT) memory test ... ok flinstall OK boot version: 1.0.0 ... Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com> Link: https://github.com/openwrt/openwrt/pull/18476 Signed-off-by: Robert Marko <robimarko@gmail.com>
27 lines
956 B
Makefile
27 lines
956 B
Makefile
DEVICE_VARS += NEC_FW_TYPE
|
|
|
|
define Build/nec-usbaterm-fw
|
|
$(STAGING_DIR_HOST)/bin/nec-usbatermfw $@.new -t $(NEC_FW_TYPE) $(1)
|
|
mv $@.new $@
|
|
endef
|
|
|
|
define Device/nec-netbsd-aterm
|
|
DEVICE_VENDOR := NEC
|
|
LOADER_TYPE := bin
|
|
LZMA_TEXT_START := 0x82800000
|
|
KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
|
|
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | uImage none
|
|
ARTIFACTS := uboot.bin
|
|
ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
|
|
COMPILE := loader-$(1).bin
|
|
COMPILE/loader-$(1).bin := loader-okli-compile
|
|
ARTIFACTS += initramfs-factory.bin
|
|
ARTIFACT/initramfs-factory.bin := append-image-stage initramfs-kernel.bin | \
|
|
pad-to 4 skip=16 | \
|
|
nec-usbaterm-fw -f 0x0003 -d $$(KDIR)/loader-$(1).bin -d $$$$@ | check-size
|
|
endif
|
|
UBOOT_PATH := $$(STAGING_DIR_IMAGE)/$$(SOC)_nec_aterm-u-boot.bin
|
|
ARTIFACT/uboot.bin := append-uboot | check-size 128k
|
|
DEVICE_PACKAGES := kmod-usb2 -uboot-envtools
|
|
endef
|