1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(TOPDIR
)/rules.mk
5 include $(TOPDIR
)/mk
/rootfs.mk
11 PKG_DESCR
:= basic files and scripts
13 WRKDIST
= ${WRKDIR}/base-files
16 include $(TOPDIR
)/mk
/package.mk
18 $(eval
$(call PKG_template
,BASE_FILES
,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
22 INSTALL_STYLE
:= manual
25 $(CP
) .
/src
/* $(IDIR_BASE_FILES
)
26 ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y
)
27 @echo
"#" > $(IDIR_BASE_FILES
)/etc
/network
/interfaces
29 $(SED
) 's,@ARCH@,$(ADK_TARGET_ARCH),g' $(IDIR_BASE_FILES
)/etc
/ipkg.conf
30 $(SED
) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES
)/etc
/ipkg.conf
31 $(SED
) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES
)/etc
/ipkg.conf
32 $(SED
) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES
)/etc
/ipkg.conf
33 $(SED
) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES
)/etc
/ipkg.conf
34 echo
/bin
/sh
>${IDIR_BASE_FILES}/etc
/shells
35 echo
/bin
/ash
>>${IDIR_BASE_FILES}/etc
/shells
36 ifneq (${ADK_PACKAGE_BASH},)
37 echo
/bin
/bash
>>${IDIR_BASE_FILES}/etc
/shells
39 ifneq (${ADK_PACKAGE_MKSH},)
40 echo
/bin
/mksh
>>${IDIR_BASE_FILES}/etc
/shells
42 ifneq (${ADK_PACKAGE_ZSH},)
43 echo
/bin
/zsh
>>${IDIR_BASE_FILES}/etc
/shells
45 mkdir
-p
$(IDIR_BASE_FILES
)/usr
/lib
/ipkg
/lists
46 mkdir
-p
$(IDIR_BASE_FILES
)/etc
/crontabs
47 mkdir
-p
$(IDIR_BASE_FILES
)/{dev
,boot
,root
,sys
,proc
,tmp
,mnt
}
48 ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y
)
49 mkdir
-p
$(IDIR_BASE_FILES
)/etc
/network
/{if-pre-up.d
,if-up.d
,if-down.d
,if-post-down.d
}
51 mkdir
-p
$(IDIR_BASE_FILES
)/usr
/{lib
,bin
}
52 chmod
755 $(IDIR_BASE_FILES
)/lib
/mdev
/init
53 chmod
600 $(IDIR_BASE_FILES
)/etc
/shadow
54 chmod
600 $(IDIR_BASE_FILES
)/etc
/network
/interfaces
55 chmod
1777 ${IDIR_BASE_FILES}/tmp
56 ln
-sf ..
/proc
/mounts
$(IDIR_BASE_FILES
)/etc
/mtab
57 rm -rf
$(IDIR_BASE_FILES
)/var
58 ln
-sf tmp
$(IDIR_BASE_FILES
)/var
59 test -z
$(ADK_RUNTIME_CONSOLE_VGA
) || \
60 cat .
/files
/inittab.vga
>> $(IDIR_BASE_FILES
)/etc
/inittab
61 test -z
$(ADK_RUNTIME_CONSOLE_SERIAL
) || \
62 cat .
/files
/inittab.serial
>> $(IDIR_BASE_FILES
)/etc
/inittab
63 test -z
$(ADK_RUNTIME_CONSOLE_BOTH
) || \
64 cat .
/files
/inittab.serial
>> $(IDIR_BASE_FILES
)/etc
/inittab
65 test -z
$(ADK_RUNTIME_CONSOLE_BOTH
) || \
66 cat .
/files
/inittab.vga
>> $(IDIR_BASE_FILES
)/etc
/inittab
67 ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE
),y
)
68 $(SED
) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES
)/etc
/inittab
70 $(SED
) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES
)/etc
/inittab
71 test -z
$(ADK_RUNTIME_HOSTNAME
) || \
72 echo
$(ADK_RUNTIME_HOSTNAME
) > $(IDIR_BASE_FILES
)/etc
/hostname
; \
73 echo
"127.0.0.1 localhost" > $(IDIR_BASE_FILES
)/etc
/hosts
74 echo
"::1 localhost" >> $(IDIR_BASE_FILES
)/etc
/hosts
75 echo
"127.0.1.1 $(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES
)/etc
/hosts
76 test -z
$(ADK_RUNTIME_PASSWORD
) || \
77 $(SED
) 's,\*NP\*,'"$$(${TOPDIR}/bin/tools/mkcrypt \
78 ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES
)/etc
/shadow
79 git log
-1|head
-1|sed
-e
's#commit ##' \
80 > $(IDIR_BASE_FILES
)/etc
/adkversion
81 test -z
$(ADK_TARGET_SYSTEM
) || \
82 echo
$(ADK_TARGET_SYSTEM
) > $(IDIR_BASE_FILES
)/etc
/adktarget
83 echo
$(ADK_RUNTIME_TMPFS_SIZE
) > $(IDIR_BASE_FILES
)/etc
/tmpfs
84 ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
85 gzip
-9c
${TOPDIR}/.config
>$(IDIR_BASE_FILES
)/etc
/adkconfig.gz
86 chmod
600 $(IDIR_BASE_FILES
)/etc
/adkconfig.gz
91 # simple network configuration
92 ifneq (${ADK_SIMPLE_NETWORK_CONFIG},)
93 ${INSTALL_DIR} ${IDIR_BASE_FILES}/etc
/network
95 # network config local
96 echo
-e
"auto lo\niface lo inet loopback" > ${IDIR_BASE_FILES}/etc
/network
/interfaces
99 # configure nic with manual ip
100 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC},y
)
101 echo
-e
"\nauto eth0\niface eth0 inet dhcp" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
103 # configure nic with dhcp
104 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL},y
)
105 echo
-e
"\nauto eth0\niface eth0 inet static" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
106 echo
-e
" address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
107 echo
-e
" netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
108 echo
-e
" broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
109 echo
-e
" gateway ${SIMPLE_NETWORK_CONFIG_ETH0_GW}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
112 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE},y
)
113 echo
-e
"\nauto br0\niface br0 inet manual" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
114 echo
-e
" bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
116 #configure bridge with ip
117 ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP},y
)
118 echo
-e
"\nauto br0\niface br0 inet static" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
119 echo
-e
" address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
120 echo
-e
" netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
121 echo
-e
" broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
122 echo
-e
" bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
125 # network config eth1
126 # configure nic with manual ip
127 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC},y
)
128 echo
-e
"\nauto eth1\niface eth1 inet dhcp" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
130 # configure nic with dhcp
131 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC_MANUAL},y
)
132 echo
-e
"\nauto eth1\niface eth1 inet static" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
133 echo
-e
" address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
134 echo
-e
" netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
135 echo
-e
" broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
136 echo
-e
" gateway ${SIMPLE_NETWORK_CONFIG_ETH1_GW}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
139 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE},y
)
140 echo
-e
"\nauto br0\niface br1 inet manual" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
141 echo
-e
" bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
143 #configure bridge with ip
144 ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP},y
)
145 echo
-e
"\nauto br0\niface br1 inet static" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
146 echo
-e
" address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
147 echo
-e
" netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
148 echo
-e
" broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
149 echo
-e
" bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
152 # newline at the end of interfaces file
153 echo
-en
"\n" >> ${IDIR_BASE_FILES}/etc
/network
/interfaces
156 echo
-e
"nameserver ${SIMPLE_NETWORK_CONFIG_RESOLV}" > ${IDIR_BASE_FILES}/etc
/resolv.conf
160 include ${TOPDIR}/mk
/pkg-bottom.mk