summaryrefslogtreecommitdiff
path: root/polux/package/initramfs/initramfs.mk
diff options
context:
space:
mode:
authorJean-Philippe SAVE2012-02-20 16:38:56 +0100
committerJean-Philippe SAVE2012-02-20 16:38:56 +0100
commit55a15cc820e926219ebce47218ce1e2f35bb0c48 (patch)
treedba3ff39a766e47859ab7fd837d8da5d30b56b1f /polux/package/initramfs/initramfs.mk
parent1353d3215782b997fdec3f9182cbda547d92d7e9 (diff)
parentcfc4d43d4d19c398d994b75cb1eeda3c499bd234 (diff)
Add polux base by subtree merge
Diffstat (limited to 'polux/package/initramfs/initramfs.mk')
-rw-r--r--polux/package/initramfs/initramfs.mk96
1 files changed, 96 insertions, 0 deletions
diff --git a/polux/package/initramfs/initramfs.mk b/polux/package/initramfs/initramfs.mk
new file mode 100644
index 0000000000..dc19465cb7
--- /dev/null
+++ b/polux/package/initramfs/initramfs.mk
@@ -0,0 +1,96 @@
+#############################################################
+#
+# initramfs
+#
+#############################################################
+INITRAMFS_DIR=$(TOPDIR)/package/initramfs
+TARGET_MDIR=$(TARGET_DIR)/lib/modules/
+
+-include $(LINUX_DIR)/.config
+
+# Create suffixes
+ifeq ($(CONFIG_ARCH_SPC200C),y)
+PLATFORM=spc200c
+else
+PLATFORM=spc200e
+endif
+
+ifeq ($(BR2_CONFIG_SLAVE),y)
+VERSION=slave
+else
+VERSION=all
+endif
+
+# Append suffix to objects
+PLC_DRV_KO := plc_drv_$(PLATFORM)_$(VERSION).ko
+RTAI_HAL_KO := rtai_hal_$(PLATFORM)_$(VERSION).ko
+RTAI_UP_KO := rtai_up_$(PLATFORM)_$(VERSION).ko
+RTAI_TIMER_KO := rtai_timer_start_$(PLATFORM)_$(VERSION).ko
+
+$(INITRAMFS_DIR)/initramfs_list:
+ @echo " Generating linux modules..."
+ make -C $(LINUX_DIR) modules
+ @echo " Generating initramfs..."
+#
+# Setting defaults
+#
+ @cat $(INITRAMFS_DIR)/initramfs.default > $@
+ @cp $(INITRAMFS_DIR)/root/* $(TARGET_DIR)/ -R
+#
+# Selecting the proper sysctl file and rename it, erase the other
+#
+ifeq ($(BR2_CONFIG_SLAVE),y)
+ @rm $(TARGET_DIR)/factory/sysctl_master.conf;
+ @mv $(TARGET_DIR)/factory/sysctl_slave.conf $(TARGET_DIR)/factory/sysctl.conf;
+else
+ @rm $(TARGET_DIR)/factory/sysctl_slave.conf;
+ @mv $(TARGET_DIR)/factory/sysctl_master.conf $(TARGET_DIR)/factory/sysctl.conf;
+endif
+ifeq ($(BR2_PACKAGE_AGENT),y)
+ @echo "::respawn:/etc/snmp_script" >> $(TARGET_DIR)/etc/inittab;
+endif
+ifeq ($(BR2_PACKAGE_SSHD),y)
+ @echo "::respawn:/usr/sbin/sshd -D" >> $(TARGET_DIR)/etc/inittab;
+endif
+ @echo "::respawn:/sbin/getty -L 115200 ttyS00 vt100" >> $(TARGET_DIR)/etc/inittab;
+
+# Setting modules
+#
+ @mkdir -p $(TARGET_MDIR)
+ @cp $(TOPDIR)/binaries/$(RTAI_HAL_KO) $(TARGET_MDIR)/rtai_hal.ko
+ @cp $(TOPDIR)/binaries/$(RTAI_UP_KO) $(TARGET_MDIR)/rtai_up.ko
+ @cp $(TOPDIR)/binaries/$(PLC_DRV_KO) $(TARGET_MDIR)/plc_drv.ko
+ @cp $(TOPDIR)/binaries/$(RTAI_TIMER_KO) $(TARGET_MDIR)/rtai_timer_start.ko
+ @cp $(LINUX_DIR)/net/bridge/netfilter/ebt_plc.ko $(TARGET_MDIR)/ebt_plc.ko
+ @cp $(LINUX_DIR)/drivers/plc/igmp_filter/igmp_filter.ko $(TARGET_MDIR)/igmp_filter.ko
+
+
+#
+# Creating initramfs_list
+#
+ @for s in `find $(TARGET_DIR)/.`; do \
+ d=`echo /$${s##*\./}`; \
+ [ -f $$s ] && [ ! -L $$s ] && \
+ echo "file $$d $$s 0755 0 0" >> $@; \
+ [ -d $$s ] && [ -n "$$d" ] && \
+ echo "dir $$d 0755 0 0" >> $@; \
+ [ -L $$s ] && \
+ echo "slink $$d `readlink $$s` 0777 0 0" >> $@; \
+ [ 0 ]; \
+ done
+
+initramfs: $(INITRAMFS_DIR)/initramfs_list
+
+initramfs-clean:
+ @rm $(INITRAMFS_DIR)/initramfs_list -f
+
+initramfs-mrproper: initramfs-clean
+
+.PHONY: $(INITRAMFS_DIR)/initramfs_list
+
+###########################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+#TARGETS+=initramfs