# This file is part of the FreeWRT project. FreeWRT is copyrighted # material, please see the LICENCE file in the top-level directory include $(TOPDIR)/rules.mk KDIR:=$(BUILD_DIR)/linux-$(KERNEL)-$(BOARD) # compile and install loader lzma-loader-clean: $(MAKE) -C lzma-loader clean lzma-loader-prepare: $(MAKE) -C lzma-loader prepare lzma-loader-compile: lzma-loader-prepare $(MAKE) -C lzma-loader compile $(KDIR)/vmlinux.lzma: $(KDIR)/vmlinux cat $^ | $(STAGING_DIR)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $@ || (rm -f $@ && false) install-kernel: $(KDIR)/vmlinux.lzma mkdir -p $(BIN_DIR)/kernel cp $^ $(BIN_DIR)/kernel/kernel-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS) install-prepare: find $(KDIR)/root -type f ! -perm -0100 | xargs chmod 0644 find $(KDIR)/root -type f -perm -0100 | xargs chmod 0755 find $(KDIR)/root -type d | xargs chmod 0755 chmod 4755 $(KDIR)/root/bin/busybox mkdir -p $(KDIR)/root/tmp chmod 1777 $(KDIR)/root/tmp JFFS2_OPTS:= --little-endian --pad --squash-uid SQUASHFS_OPTS:= -nopad -noappend -root-owned ifeq ($(FWRT_TARGET_ROOTFS_JFFS2),y) $(KDIR)/root.jffs2-64k: rm -f $(KDIR)/root.jffs2-64k $(STAGING_DIR)/bin/mkfs.jffs2 $(JFFS2_OPTS) -e 0x10000 \ -o $(KDIR)/root.jffs2-64k -d $(KDIR)/root $(MAKE_TRACE) $(KDIR)/root.jffs2-128k: rm -f $(KDIR)/root.jffs2-128k $(STAGING_DIR)/bin/mkfs.jffs2 $(JFFS2_OPTS) -e 0x20000 \ -o $(KDIR)/root.jffs2-128k -d $(KDIR)/root $(MAKE_TRACE) endif ifeq ($(FWRT_TARGET_ROOTFS_SQUASHFS_OVERLAY),y) $(KDIR)/root.squashfs-overlay: rm -f $(KDIR)/root.squashfs-overlay $(STAGING_DIR)/bin/mksquashfs $(KDIR)/root \ $(KDIR)/root.squashfs-overlay $(SQUASHFS_OPTS) $(MAKE_TRACE) endif $(KDIR)/loader.tmp.gz: lzma-loader-compile $(CP) $(BUILD_DIR)/loader.gz $@ echo -ne "\\x00" >> $@ install-loader: $(KDIR)/loader.tmp.gz mkdir -p $(BIN_DIR)/boot cp $^ $(BIN_DIR)/boot/bootloader-$(BOARD)-$(KERNEL).gz cp $(BUILD_DIR)/loader.elf $(BIN_DIR)/boot/bootloader-$(BOARD)-$(KERNEL).elf ifeq ($(FS),squashfs-overlay) $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS).trx: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS) $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a 1024 $(KDIR)/root.$(FS) $(MAKE_TRACE) endif ifeq ($(FS),jffs2) $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)-64k.trx: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS)-64k $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a 0x10000 $(KDIR)/root.$(FS)-64k $(MAKE_TRACE) $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)-128k.trx: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS)-128k $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a 0x20000 $(KDIR)/root.$(FS)-128k $(MAKE_TRACE) endif # do nothing in autobuild mode ifneq ($(FWRT_ALL_PACKAGE_SELECTION),y) ifeq ($(FWRT_LINUX_BRCM_ASUS_WL500G),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k ALIGN:=0x10000 else ALIGN:=1024 endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -p WL500g -v 1.9.6.0 -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a $(ALIGN) $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(MAKE_TRACE) install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_ASUS_WL500G_DELUXE),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k ALIGN:=0x10000 else ALIGN:=1024 endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -p WL500gx -v 1.9.6.0 -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a $(ALIGN) $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(MAKE_TRACE) install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_ASUS_WL500G_PREMIUM),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k ALIGN:=0x10000 else ALIGN:=1024 endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(KDIR)/loader.tmp.gz $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(KDIR)/vmlinux.lzma $(STAGING_DIR)/bin/trx -p WL500gp -v 1.9.7.0 -o $@ $(KDIR)/loader.tmp.gz $(KDIR)/vmlinux.lzma -a $(ALIGN) $(KDIR)/root.$(FS)$(MTD_ERASESIZE) $(MAKE_TRACE) install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_10),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_11),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_20),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_22),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_30),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_31),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G_4),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54GL),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54G -v v4.20.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54G3G),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54F -v v1.99.5 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54GS_4),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-64k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54s -v v1.05.2 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54GS_10),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-128k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54S -v v4.70.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_LINKSYS_WRT54GS_11),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-128k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx $(STAGING_DIR)/bin/addpattern -4 -p W54S -v v4.70.6 -i $< -o $@ -g install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif ifeq ($(FWRT_LINUX_BRCM_NETGEAR_WGT634U),y) ifeq ($(FS),jffs2) MTD_ERASESIZE:=-128k endif $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin: $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx dd if=$(BUILD_DIR)/loader.elf of=$@ bs=131072 conv=sync 2>/dev/null cat $(STAGING_DIR)/$(FWRT_PREFIX)-$(BOARD)-$(KERNEL)-$(FS)$(MTD_ERASESIZE).trx >> $@ install: $(BIN_DIR)/$(FWRT_PREFIX)-$(MODEL)-$(BOARD)-$(KERNEL)-$(FS).bin endif else install: @echo "package autobuild successful" endif