add block-extroot, a package for using an external filesystem as rootfs (patch by...
[openwrt/svn-archive/archive.git] / package / block-extroot / Makefile
1 #
2 # Copyright (C) 2009 OpenWrt.org
3 # Copyright (C) 2010 Vertical Communications
4 #
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
7 #
8
9 include $(TOPDIR)/rules.mk
10
11 PKG_NAME:=block-extroot
12 PKG_VERSION:=0.0.1
13 PKG_RELEASE:=1
14
15 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
16
17 include $(INCLUDE_DIR)/package.mk
18
19 define Package/block-extroot/Default
20 SECTION:=utils
21 CATEGORY:=Utilities
22 TITLE:=root filesystem on secondary storage
23 SUBMENU:=disc
24 endef
25
26 define Package/block-extroot
27 $(call Package/block-extroot/Default)
28 MENU:=1
29 DEPENDS:=+block-mount @PACKAGE_kmod-ide-core||PACKAGE_kmod-usb-storage||PACKAGE_kmod-mmc
30 endef
31
32 define Package/block-extroot/config
33 source "$(SOURCE)/Config.in"
34 endef
35
36 define Package/block-extroot/description
37 Based on the moduluarized preinit and firstboot, adds the option to have
38 the root filesystem on storage other than the jffs or the boot root device.
39 For a squashfs image this package must be installed into the image, not as
40 a package to add later.
41 endef
42
43 define Build/Prepare
44 endef
45
46 define Build/Configure
47 endef
48
49 define Build/Compile
50 endef
51
52 define Package/block-extroot/install
53 $(INSTALL_DIR) $(1)/lib/functions
54 $(INSTALL_DATA) ./files/extmount.sh $(1)/lib/functions/
55 $(INSTALL_DIR) $(1)/lib/preinit
56 $(INSTALL_DATA) ./files/50_determine_usb_root $(1)/lib/preinit/
57 $(INSTALL_DATA) ./files/60_pivot_usb_root $(1)/lib/preinit/
58 $(INSTALL_DIR) $(1)/lib/preinit
59 echo "extroot_settle_time=\"$(CONFIG_EXTROOT_SETTLETIME)\"" >$(1)/lib/preinit/00_extroot.conf
60 $(INSTALL_DIR) $(1)/overlay
61 endef
62
63 $(eval $(call BuildPackage,block-extroot))
64