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>
This commit is contained in:
Mathias Kresin 2018-11-29 23:40:12 +01:00
parent 216397b812
commit 262b885b83
4 changed files with 16 additions and 73 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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;
}