From 262b885b834cecf7e7afbaca32d0a67c0b75aa44 Mon Sep 17 00:00:00 2001 From: Mathias Kresin <dev@kresin.me> Date: Thu, 29 Nov 2018 23:40:12 +0100 Subject: [PATCH] ramips: use new image build code for D-Link DCS-930 family Drop the factory images and the firmware tool to create them. They don't work any more, since the factory image has an uImage header covering the whole kernel + rootfs. This way the uImage splitter will not be able to find the rootfs and the kernel will panic later on. The factory images were most likely added at a time the board had distinct partitions for kernel and rootfs. Signed-off-by: Mathias Kresin <dev@kresin.me> --- target/linux/ramips/image/rt305x-legacy.mk | 33 ------------------ target/linux/ramips/image/rt305x.mk | 16 +++++++++ tools/firmware-utils/Makefile | 1 - tools/firmware-utils/src/mkdcs932.c | 39 ---------------------- 4 files changed, 16 insertions(+), 73 deletions(-) delete mode 100644 tools/firmware-utils/src/mkdcs932.c diff --git a/target/linux/ramips/image/rt305x-legacy.mk b/target/linux/ramips/image/rt305x-legacy.mk index 5116dfcd88..f5a892d365 100644 --- a/target/linux/ramips/image/rt305x-legacy.mk +++ b/target/linux/ramips/image/rt305x-legacy.mk @@ -1,23 +1,6 @@ # # RT305X Profiles # -define BuildFirmware/DCS930/squashfs - $(call BuildFirmware/Default4M/squashfs,squashfs,$(2),$(3)) - dd if=$(KDIR)/vmlinux-$(2).bin.lzma of=$(KDIR)/image.$(2).combined bs=1048512 count=1 conv=sync - cat $(KDIR)/root.squashfs >> $(KDIR)/image.$(2).combined - $(call MkImage,lzma,$(KDIR)/image.$(2).combined,$(KDIR)/image.$(2)) - $(call prepare_generic_squashfs,$(KDIR)/image.$(2)) - if [ `stat -c%s "$(KDIR)/image.$(2)"` -gt $(ralink_default_fw_size_4M) ]; then \ - echo "Warning: $(KDIR)/image.$(2) is too big" >&2; \ - else \ - dd if=$(KDIR)/image.$(2) of=$(KDIR)/dcs.tmp bs=64K count=5 conv=sync ;\ - cat $(KDIR)/image.$(2) >> $(KDIR)/dcs.tmp ; \ - dd if=$(KDIR)/dcs.tmp of=$(call imgname,$(1),$(2))-factory.bin bs=4096k count=1 conv=sync ;\ - $(STAGING_DIR_HOST)/bin/mkdcs932 $(call imgname,$(1),$(2))-factory.bin ; \ - fi -endef -BuildFirmware/DCS930/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3)) - kernel_size_wl341v3=917504 rootfs_size_wl341v3=2949120 define BuildFirmware/WL-341V3/squashfs @@ -46,8 +29,6 @@ define Image/Build/Profile/ALL02393G $(call Image/Build/Template/$(image_type)/$(1),UIMAGE_8M,all0239-3g,ALL0239-3G,ttyS1,57600,phys) endef -Image/Build/Profile/DCS930=$(call BuildFirmware/DCS930/$(1),$(1),dcs-930,DCS-930) -Image/Build/Profile/DCS930LB1=$(call BuildFirmware/DCS930/$(1),$(1),dcs-930l-b1,DCS-930L-B1) Image/Build/Profile/WL-341V3=$(call BuildFirmware/WL-341V3/$(1),$(1)) define LegacyDevice/ALL02393G @@ -56,20 +37,6 @@ define LegacyDevice/ALL02393G endef LEGACY_DEVICES += ALL02393G - -define LegacyDevice/DCS930 - DEVICE_TITLE := D-Link DCS-930 - DEVICE_PACKAGES := kmod-video-core kmod-video-uvc kmod-sound-core kmod-usb-audio kmod-usb-core kmod-usb-dwc2 -endef -LEGACY_DEVICES += DCS930 - - -define LegacyDevice/DCS930LB1 - DEVICE_TITLE := D-Link DCS-930L B1 - DEVICE_PACKAGES := kmod-video-core kmod-video-uvc kmod-sound-core kmod-usb-audio kmod-usb-core kmod-usb-ohci kmod-usb2 -endef -LEGACY_DEVICES += DCS930LB1 - define LegacyDevice/WL-341V3 DEVICE_TITLE := Sitecom WL-341 v3 endef diff --git a/target/linux/ramips/image/rt305x.mk b/target/linux/ramips/image/rt305x.mk index cc743c609d..5f514290dc 100644 --- a/target/linux/ramips/image/rt305x.mk +++ b/target/linux/ramips/image/rt305x.mk @@ -210,6 +210,22 @@ define Device/dap-1350 endef TARGET_DEVICES += dap-1350 +define Device/dcs-930 + DTS := DCS-930 + IMAGE_SIZE := $(ralink_default_fw_size_4M) + DEVICE_TITLE := D-Link DCS-930 + DEVICE_PACKAGES := kmod-video-core kmod-video-uvc kmod-sound-core kmod-usb-audio kmod-usb-core kmod-usb-dwc2 +endef +TARGET_DEVICES += dcs-930 + +define Device/dcs-930l-b1 + DTS := DCS-930L-B1 + IMAGE_SIZE := $(ralink_default_fw_size_4M) + DEVICE_TITLE := D-Link DCS-930L B1 + DEVICE_PACKAGES := kmod-video-core kmod-video-uvc kmod-sound-core kmod-usb-audio kmod-usb-core kmod-usb-ohci kmod-usb2 +endef +TARGET_DEVICES += dcs-930l-b1 + define Device/dir-300-b1 DTS := DIR-300-B1 IMAGE_SIZE := $(ralink_default_fw_size_4M) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 00917c3417..63df63191d 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -72,7 +72,6 @@ define Host/Compile $(call cc,mkporayfw, -Wall) $(call cc,mkrasimage, --std=gnu99) $(call cc,mkhilinkfw, -lcrypto) - $(call cc,mkdcs932, -Wall) $(call cc,mkheader_gemtek,-lz) $(call cc,mkrtn56uimg, -lz) $(call cc,dgn3500sum, -Wall) diff --git a/tools/firmware-utils/src/mkdcs932.c b/tools/firmware-utils/src/mkdcs932.c deleted file mode 100644 index 28c67aa3b3..0000000000 --- a/tools/firmware-utils/src/mkdcs932.c +++ /dev/null @@ -1,39 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License, - * version 2 as published by the Free Software Foundation. - * - * (C) John Crispin <blogic@openwrt.org> - */ - -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <stdio.h> -#include <stdint.h> -#include <unistd.h> -#include <errno.h> - -int main(int argc, char **argv) -{ - uint32_t t = 0, sum = 0x55aa55aa; - int fd; - - if ((argc != 2) || ((fd = open(argv[1], O_RDWR)) == -1)) { - fprintf(stderr, "Usage: %s input_file\n", *argv); - return -EINVAL; - } - - lseek(fd, -4, SEEK_END); - write(fd, &t, 4); - lseek(fd, 0, SEEK_SET); - - while (read(fd, &t, 4) > 0) - sum -= t; - - lseek(fd, -4, SEEK_END); - write(fd, &sum, 4); - close(fd); - - return 0; -} -- 2.30.2