Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3167690
  • 博文数量: 685
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 5303
  • 用 户 组: 普通用户
  • 注册时间: 2014-04-19 14:17
个人简介

文章分类

全部博文(685)

文章存档

2015年(116)

2014年(569)

分类: 嵌入式

2014-09-29 15:55:43

package/basefiles/config.in中的所有菜单内容均在menuconfig-->Image configuration下。

#

# Copyright (C) 2007-2013 OpenWrt.org

# Copyright (C) 2010 Vertical Communications

#

# This is free software, licensed under the GNU General Public License v2.

# See /LICENSE for more information.

#

include $(TOPDIR)/rules.mk

include $(INCLUDE_DIR)/kernel.mk

include $(INCLUDE_DIR)/version.mk

PKG_NAME:=base-files

PKG_RELEASE:=118.2

PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/

PKG_BUILD_DEPENDS:=opkg/host

include $(INCLUDE_DIR)/package.mk

ifneq ($(DUMP),1)

  TARGET:=-$(BOARD)

  ifneq ($(wildcard $(PLATFORM_DIR)/base-files-$(PROFILE) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)),)

    TARGET:=$(TARGET)-$(PROFILE)

  endif

endif

define Package/base-files

  SECTION:=base

  CATEGORY:=Base system

  DEPENDS:=+netifd +libc +procd

  TITLE:=Base filesystem for OpenWrt

  URL:=

  VERSION:=$(PKG_RELEASE)-$(REVISION)

endef

define Package/base-files/conffiles

/etc/hosts

/etc/inittab

/etc/group

/etc/passwd

/etc/shadow

/etc/profile

/etc/shells

/etc/sysctl.conf

/etc/rc.local

/etc/sysupgrade.conf

/etc/config/

/etc/dropbear/

/etc/crontabs/

$(call $(TARGET)/conffiles)

endef

define Package/base-files/description

 This package contains a base filesystem and system scripts for OpenWrt.

endef

ifneq ($(CONFIG_PREINITOPT),)

define ImageConfigOptions

mkdir -p $(1)/lib/preinit

echo 'pi_suppress_stderr="$(CONFIG_TARGET_PREINIT_SUPPRESS_STDERR)"' >$(1)/lib/preinit/00_preinit.conf

echo 'fs_failsafe_wait_timeout=$(if $(CONFIG_TARGET_PREINIT_TIMEOUT),$(CONFIG_TARGET_PREINIT_TIMEOUT),2)' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_init_path=$(if $(CONFIG_TARGET_INIT_PATH),$(CONFIG_TARGET_INIT_PATH),"/bin:/sbin:/usr/bin:/usr/sbin")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_init_env=$(if $(CONFIG_TARGET_INIT_ENV),$(CONFIG_TARGET_INIT_ENV),"")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_init_cmd=$(if $(CONFIG_TARGET_INIT_CMD),$(CONFIG_TARGET_INIT_CMD),"/sbin/init")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_init_suppress_stderr="$(CONFIG_TARGET_INIT_SUPPRESS_STDERR)"' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_ifname=$(if $(CONFIG_TARGET_PREINIT_IFNAME),$(CONFIG_TARGET_PREINIT_IFNAME),"")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_ip=$(if $(CONFIG_TARGET_PREINIT_IP),$(CONFIG_TARGET_PREINIT_IP),"192.168.1.1")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_netmask=$(if $(CONFIG_TARGET_PREINIT_NETMASK),$(CONFIG_TARGET_PREINIT_NETMASK),"255.255.255.0")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_broadcast=$(if $(CONFIG_TARGET_PREINIT_BROADCAST),$(CONFIG_TARGET_PREINIT_BROADCAST),"192.168.1.255")' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf

echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf

endef

endif

define Build/Prepare

mkdir -p $(PKG_BUILD_DIR)

endef

define Build/Compile/Default

endef

Build/Compile = $(Build/Compile/Default)

define Package/base-files/install

$(CP) ./files/* $(1)/

if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \

$(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \

fi

if [ -d $(PLATFORM_DIR)/base-files/. ]; then \

$(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \

fi

if [ -d $(PLATFORM_DIR)/base-files-$(PROFILE)/. ]; then \

$(CP) $(PLATFORM_DIR)/base-files-$(PROFILE)/* $(1)/; \

fi

if [ -d $(PLATFORM_DIR)/$(PROFILE)/base-files/. ]; then \

$(CP) $(PLATFORM_DIR)/$(PROFILE)/base-files/* $(1)/; \

fi

$(if $(filter-out $(PLATFORM_DIR),$(PLATFORM_SUBDIR)), \

if [ -d $(PLATFORM_SUBDIR)/base-files/. ]; then \

$(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \

fi; \

if [ -d $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/. ]; then \

$(CP) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/* $(1)/; \

fi; \

if [ -d $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/. ]; then \

$(CP) $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/* $(1)/; \

fi \

)

$(VERSION_SED) \

$(1)/etc/banner \

$(1)/etc/openwrt_version \

$(1)/etc/openwrt_release

mkdir -p $(1)/CONTROL

mkdir -p $(1)/dev

mkdir -p $(1)/etc/crontabs

mkdir -p $(1)/etc/rc.d

mkdir -p $(1)/overlay

mkdir -p $(1)/lib/firmware

$(if $(LIB_SUFFIX),-ln -s lib $(1)/lib$(LIB_SUFFIX))

mkdir -p $(1)/mnt

mkdir -p $(1)/proc

mkdir -p $(1)/tmp

mkdir -p $(1)/usr/lib

$(if $(LIB_SUFFIX),-ln -s lib $(1)/usr/lib$(LIB_SUFFIX))

mkdir -p $(1)/usr/bin

mkdir -p $(1)/sys

mkdir -p $(1)/www

mkdir -p $(1)/root

ln -sf /proc/mounts $(1)/etc/mtab

rm -f $(1)/var

ln -sf /tmp $(1)/var

mkdir -p $(1)/etc

ln -sf /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/

chmod 0600 $(1)/etc/shadow

chmod 1777 $(1)/tmp

$(call ImageConfigOptions,$(1))

$(call Package/base-files/install-target,$(1))

for conffile in $(1)/etc/config/*; do \

if [ -f "$$$$conffile" ]; then \

grep "$$$${conffile##$(1)}" $(1)/CONTROL/conffiles || \

echo "$$$${conffile##$(1)}" >> $(1)/CONTROL/conffiles; \

fi \

done

endef

ifneq ($(DUMP),1)

  -include $(PLATFORM_DIR)/base-files.mk

endif

$(eval $(call BuildPackage,base-files))

206 define BuildPackage

207   $(Build/IncludeOverlay)

208   $(eval $(Package/Default))-------->定义在Package-defaults.mk中。

209   $(eval $(Package/$(1)))


阅读(1875) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~