1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Build the btrfs root filesystem image 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunBTRFS_SIZE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE)) 8*4882a593Smuzhiyunifeq ($(BR2_TARGET_ROOTFS_BTRFS)-$(BTRFS_SIZE),y-) 9*4882a593Smuzhiyun$(error BR2_TARGET_ROOTFS_BTRFS_SIZE cannot be empty) 10*4882a593Smuzhiyunendif 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunBTRFS_SIZE_NODE = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_NODE)) 13*4882a593SmuzhiyunBTRFS_SIZE_SECTOR = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_SIZE_SECTOR)) 14*4882a593SmuzhiyunBTRFS_FEATURES = $(call qstrip,$(BR2_TARGET_ROOTFS_BTRFS_FEATURES)) 15*4882a593Smuzhiyun# qstrip results in stripping consecutive spaces into a single one. So the 16*4882a593Smuzhiyun# variable is not qstrip-ed to preserve the integrity of the string value. 17*4882a593SmuzhiyunBTRFS_LABEL = $(subst ",,$(BR2_TARGET_ROOTFS_BTRFS_LABEL)) 18*4882a593Smuzhiyun# ") 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunBTRFS_OPTS = \ 21*4882a593Smuzhiyun -f \ 22*4882a593Smuzhiyun -r '$(TARGET_DIR)' \ 23*4882a593Smuzhiyun -L '$(BTRFS_LABEL)' \ 24*4882a593Smuzhiyun --byte-count '$(BTRFS_SIZE)' \ 25*4882a593Smuzhiyun $(if $(BTRFS_SIZE_NODE),--nodesize '$(BTRFS_SIZE_NODE)') \ 26*4882a593Smuzhiyun $(if $(BTRFS_SIZE_SECTOR),--sectorsize '$(BTRFS_SIZE_SECTOR)') \ 27*4882a593Smuzhiyun $(if $(BTRFS_FEATURES),--features '$(BTRFS_FEATURES)') 28*4882a593Smuzhiyun 29*4882a593SmuzhiyunROOTFS_BTRFS_DEPENDENCIES = host-btrfs-progs 30*4882a593Smuzhiyun 31*4882a593Smuzhiyundefine ROOTFS_BTRFS_CMD 32*4882a593Smuzhiyun $(RM) -f $@ 33*4882a593Smuzhiyun $(HOST_DIR)/bin/mkfs.btrfs $(BTRFS_OPTS) $@ 34*4882a593Smuzhiyunendef 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun$(eval $(rootfs)) 37