FWIMAGE_SITE=http://tsd.dlink.com.tw/temp/download/2286 FWIMAGE_ARCHIVE=DSM-G600__B2_+firmware_v1[1].02(1.49.1019.2006).zip FWIMAGE_DIR=firmwaredump FWIMAGE_FILENAME=302WH_DLINKww_DSMG600__FCC.1.02(1.49.1019.2006) .PHONY: fwimage fwimage: $(FWIMAGE_DIR)/.worked $(FWIMAGE_ARCHIVE): wget -P $(CURDIR) "$(FWIMAGE_SITE)/$(FWIMAGE_ARCHIVE)" $(FWIMAGE_DIR)/.unpacked: $(FWIMAGE_ARCHIVE) unzip -o "$(CURDIR)/$(FWIMAGE_ARCHIVE)" -d $(CURDIR)/$(FWIMAGE_DIR) fwbuild-0.4/fwdump -k $(FWIMAGE_DIR)/kernel -r $(FWIMAGE_DIR)/ramdisk -e $(FWIMAGE_DIR)/defaults "$(CURDIR)/$(FWIMAGE_DIR)/$(FWIMAGE_FILENAME)" chmod 777 $(CURDIR)/ddlines $(CURDIR)/ddlines touch $(FWIMAGE_DIR)/.unpacked $(FWIMAGE_DIR)/.worked: $(FWIMAGE_DIR)/.unpacked mkdir -p $(FWIMAGE_DIR)/fs mount -o loop $(FWIMAGE_DIR)/ramdisk.ext2 $(FWIMAGE_DIR)/fs rm $(FWIMAGE_DIR)/fs/bin/busybox symlinks -d $(FWIMAGE_DIR)/fs/bin symlinks -d $(FWIMAGE_DIR)/fs/sbin for i in 0 1 2 3 4 5 6 7 ; \ do \ (mknod $(FWIMAGE_DIR)/fs/dev/ttyp$$i c 3 $$i ; mknod $(FWIMAGE_DIR)/fs/dev/ptyp$$i c 2 $$i) ; \ done ( cd $(FWIMAGE_DIR)/fs; tar -cvf - ./dev | gzip -c > ../dev.tgz; rm -r ./dev; tar -cvf - ./* | gzip -c > ../files.tgz; cd ../../ ) umount $(FWIMAGE_DIR)/fs touch $(FWIMAGE_DIR)/.worked CLEAN_ALL+=clean_fwimage clean_fwimage: -( cd $(FWIMAGE_DIR) ; make clean ) rm -f $(FWIMAGE_DIR)/.pack clobber_fwimage: rm -rf $(FWIMAGE_DIR)