summaryrefslogtreecommitdiff
path: root/polux/package/initramfs/initramfs.mk
blob: e417cbd5b6d5b9a637131e4ce8d118446a3e4b31 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#############################################################
#
# initramfs
#
#############################################################
INITRAMFS_DIR=$(TOPDIR)/package/initramfs
TARGET_MDIR=$(TARGET_DIR)/lib/modules/

-include $(LINUX_DIR)/.config

# Create suffixes
ifeq ($(BR2_CONFIG_MARCH_MSE500DINI_200),y)
PLATFORM=mse500dini_200
else ifeq ($(BR2_CONFIG_MARCH_MSE500_200),y)
PLATFORM=mse500_200
else ifeq ($(BR2_CONFIG_MARCH_SPC200C),y)
PLATFORM=spc200c
else ifeq ($(BR2_CONFIG_MARCH_SPC200E),y)
PLATFORM=spc200e
else
$(error unknown architecture)
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