You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

142 lines
7.2 KiB

# makefile to build coolstream kernel
DTB = $(SOURCE_DIR)/$(NI_DRIVERS-BIN)/$(DRIVERS_DIR)/device-tree-overlay/$(KTECHSTR).dtb
IMAGE = $(BUILD_TMP)/linux-$(KVERSION)/arch/arm/boot/Image
ZIMAGE = $(BUILD_TMP)/linux-$(KVERSION)/arch/arm/boot/zImage
MODULES_DIR = $(BUILD_TMP)/linux-$(KVERSION)-modules/lib/modules/$(KVERSION_FULL)
TARGETMODULES = $(TARGETLIB)/modules/$(KVERSION_FULL)
ifneq ($(wildcard $(SKEL_ROOT)-$(BOXFAMILY)),)
KDESTDIR = $(SKEL_ROOT)-$(BOXFAMILY)/var/update
else
KDESTDIR = $(SKEL_ROOT)/var/update
endif
kernel-cst: kernel-cst-$(BOXSERIES)
kernel-cst-install: kernel-cst-install-$(BOXSERIES)
kernel-cst-install-all:
make clean BOXFAMILY=nevis
make -j$(NUM_CPUS) kernel-cst-hd1 BOXFAMILY=nevis
make kernel-cst-install-hd1 BOXFAMILY=nevis
#
make clean BOXFAMILY=apollo
make -j$(NUM_CPUS) kernel-cst-hd2 BOXFAMILY=apollo
make kernel-cst-install-hd2 BOXFAMILY=apollo
#
make clean BOXFAMILY=kronos
make -j$(NUM_CPUS) kernel-cst-hd2 BOXFAMILY=kronos
make kernel-cst-install-hd2 BOXFAMILY=kronos
#
make clean BOXFAMILY=nevis > /dev/null 2>&1
make get-update-info-hd1 BOXFAMILY=nevis
#
make clean BOXFAMILY=apollo > /dev/null 2>&1
make get-update-info-hd2 BOXFAMILY=apollo
#
make clean BOXFAMILY=kronos > /dev/null 2>&1
make get-update-info-hd2 BOXFAMILY=kronos
#
make clean > /dev/null 2>&1
$(D)/kernel-cst-hd2: $(SOURCE_DIR)/$(NI_LINUX-KERNEL) $(SOURCE_DIR)/$(NI_DRIVERS-BIN) | $(TARGETPREFIX)
cd $(SOURCE_DIR)/$(NI_LINUX-KERNEL) && \
git checkout $(KBRANCH) && \
tar -C $(SOURCE_DIR) -cp $(NI_LINUX-KERNEL) --exclude-vcs | tar -C $(BUILD_TMP) -x
cd $(BUILD_TMP) && \
mv $(NI_LINUX-KERNEL) linux-$(KVERSION) && \
cd $(BUILD_TMP)/linux-$(KVERSION) && \
touch .scmversion && \
cp $(CONFIGS)/kernel-3.10-$(BOXFAMILY).config $(BUILD_TMP)/linux-$(KVERSION)/.config && \
sed -i -e 's/SUBLEVEL = 107/SUBLEVEL = 93/g' Makefile && \
mkdir -p $(BUILD_TMP)/linux-$(KVERSION)-modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules silentoldconfig && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules zImage && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules_install && \
cat $(ZIMAGE) $(DTB) > zImage_DTB && \
mkimage -A ARM -O linux -T kernel -C none -a 0x8000 -e 0x8000 -n "$(KSTRING)" -d zImage_DTB $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-vmlinux.ub.gz
ifeq ($(BOXFAMILY), apollo)
ifeq ($(BOXMODEL), apollo)
cp -a $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-vmlinux.ub.gz $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-shiner-vmlinux.ub.gz
else ifeq ($(BOXMODEL), shiner)
cp -a $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-vmlinux.ub.gz $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-apollo-vmlinux.ub.gz
endif
endif
touch $@
$(D)/kernel-cst-install-hd2: $(D)/kernel-cst-hd2
cp -af $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-vmlinux.ub.gz $(KDESTDIR)/vmlinux.ub.gz
$(D)/kernel-cst-hd1: $(D)/uboot-cst-hd1 $(SOURCE_DIR)/$(NI_LINUX-KERNEL) | $(TARGETPREFIX)
cd $(SOURCE_DIR)/$(NI_LINUX-KERNEL) && \
git checkout $(KBRANCH) && \
tar -C $(SOURCE_DIR) -cp $(NI_LINUX-KERNEL) --exclude-vcs | tar -C $(BUILD_TMP) -x
cd $(BUILD_TMP) && \
mv $(NI_LINUX-KERNEL) linux-$(KVERSION) && \
cd $(BUILD_TMP)/linux-$(KVERSION) && \
touch .scmversion && \
cp $(CONFIGS)/kernel-$(KVERSION).config $(BUILD_TMP)/linux-$(KVERSION)/.config && \
sed -i -e 's/EXTRAVERSION = .15/EXTRAVERSION = .13/g' Makefile && \
mkdir -p $(BUILD_TMP)/linux-$(KVERSION)-modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules silentoldconfig && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules zImage && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules && \
$(MAKE) ARCH=arm CROSS_COMPILE=$(TARGET)- INSTALL_MOD_PATH=$(BUILD_TMP)/linux-$(KVERSION)-modules modules_install && \
mkimage -A arm -O linux -T kernel -C none -a 0x48000 -e 0x48000 -n "$(KSTRING)" -d $(IMAGE) $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-uImage.img && \
mkimage -A arm -O linux -T kernel -C none -a 0x48000 -e 0x48000 -n "$(KSTRING)" -d $(ZIMAGE) $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-zImage.img
touch $@
$(D)/kernel-cst-install-hd1: $(D)/kernel-cst-hd1
cp -af $(IMAGE_DIR)/kernel-$(BOXTYPE_SC)-$(BOXMODEL)-zImage.img $(KDESTDIR)/zImage
$(D)/uboot-cst-hd1: $(SOURCE_DIR)/$(TUXBOX_BOOTLOADER) | $(TARGETPREFIX)
cd $(SOURCE_DIR)/$(TUXBOX_BOOTLOADER) && git checkout coolstream_hdx
tar -C $(SOURCE_DIR) -cp $(TUXBOX_BOOTLOADER) --exclude-vcs | tar -C $(BUILD_TMP) -x
cd $(BUILD_TMP)/$(TUXBOX_BOOTLOADER) && \
make coolstream_hdx_config && \
$(MAKE)
cp $(BUILD_TMP)/$(TUXBOX_BOOTLOADER)/u-boot.bin $(BUILD_TMP)/u-boot.bin
touch $@
kernel-cst-modules: kernel-cst-modules-$(BOXSERIES)
$(D)/kernel-cst-modules-hd1: kernel-cst
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/mtd/devices/mtdram.ko
cp -af $(MODULES_DIR)/kernel/drivers/mtd/devices/mtdram.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/mtd/devices/block2mtd.ko
cp -af $(MODULES_DIR)/kernel/drivers/mtd/devices/block2mtd.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/net/tun.ko
cp -af $(MODULES_DIR)/kernel/drivers/net/tun.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/staging/rt2870/rt2870sta.ko
cp -af $(MODULES_DIR)/kernel/drivers/staging/rt2870/rt2870sta.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/usb/serial/ftdi_sio.ko
cp -af $(MODULES_DIR)/kernel/drivers/usb/serial/ftdi_sio.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/usb/serial/pl2303.ko
cp -af $(MODULES_DIR)/kernel/drivers/usb/serial/pl2303.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/drivers/usb/serial/usbserial.ko
cp -af $(MODULES_DIR)/kernel/drivers/usb/serial/usbserial.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/fs/autofs4/autofs4.ko
cp -af $(MODULES_DIR)/kernel/fs/autofs4/autofs4.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/fs/cifs/cifs.ko
cp -af $(MODULES_DIR)/kernel/fs/cifs/cifs.ko $(TARGETMODULES)
$(TARGET)-objcopy --strip-unneeded $(MODULES_DIR)/kernel/fs/fuse/fuse.ko
cp -af $(MODULES_DIR)/kernel/fs/fuse/fuse.ko $(TARGETMODULES)
rm -rf $(TARGETMODULES)/usb-storage.ko # builtin already
make depmod-hd1
$(D)/kernel-cst-modules-hd2: kernel-cst
rm -rf $(TARGETMODULES)/kernel # nuke cst kernel-drivers but leave cst extra-drivers
cp -a $(MODULES_DIR)/kernel $(TARGETMODULES) # copy own kernel-drivers
cp -a $(MODULES_DIR)/modules.builtin $(TARGETMODULES)
cp -a $(MODULES_DIR)/modules.order $(TARGETMODULES)
make depmod-hd2
depmod-hd1:
PATH=$(PATH):/sbin:/usr/sbin depmod -b $(TARGETPREFIX) $(KVERSION_FULL)
mv $(TARGETMODULES)/modules.dep $(TARGETMODULES)/.modules.dep
rm $(TARGETMODULES)/modules.*
mv $(TARGETMODULES)/.modules.dep $(TARGETMODULES)/modules.dep
depmod-hd2:
PATH=$(PATH):/sbin:/usr/sbin depmod -b $(TARGETPREFIX) $(KVERSION_FULL)