mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			Add f2fs-tools-openipc package and some updates
							parent
							
								
									5634cb3b07
								
							
						
					
					
						commit
						36935fcdfb
					
				|  | @ -1,6 +1,7 @@ | |||
| source "$BR2_EXTERNAL_HISILICON_PATH/linux/Config.ext.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/hisi_patcher/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/aura-httpd/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/f2fs-tools-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/fdk-aac-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/fwprintenv-openipc/Config.in" | ||||
| source "$BR2_EXTERNAL_HISILICON_PATH/package/gdbserver-lite/Config.in" | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ BR2_GCC_VERSION_7_X=y | |||
| BR2_TOOLCHAIN_USES_MUSL=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_MUSL=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_LIBC="musl" | ||||
| # BR2_TOOLCHAIN_BUILDROOT_CXX is not set | ||||
| BR2_TOOLCHAIN_BUILDROOT_CXX=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_LOCALE=y | ||||
| BR2_TOOLCHAIN_BUILDROOT_USE_SSP=y | ||||
| 
 | ||||
|  |  | |||
|  | @ -2,6 +2,7 @@ include $(BR2_EXTERNAL_HISILICON_PATH)/linux/linux-ext-hisi_patcher.mk | |||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_patcher/hisi_patcher.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/aura-httpd/aura-httpd.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/gdbserver-lite/gdbserver-lite.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/f2fs-tools-openipc/f2fs-tools-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/fdk-aac-openipc/fdk-aac-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/fwprintenv-openipc/fwprintenv-openipc.mk | ||||
| include $(BR2_EXTERNAL_HISILICON_PATH)/package/hisi_gpio/hisi_gpio.mk | ||||
|  |  | |||
|  | @ -0,0 +1 @@ | |||
| ../../general/package/f2fs-tools-openipc | ||||
|  | @ -8,6 +8,11 @@ iface eth0 inet dhcp | |||
|     hwaddress ether $(fw_printenv -n ethaddr || echo 00:24:B8:FF:FF:FF) | ||||
|     #pre-up echo -e "nameserver 77.88.8.8\nnameserver 8.8.4.4\n" >/tmp/resolv.conf | ||||
| 
 | ||||
| manual eth0:1 | ||||
| iface eth0:1 inet static | ||||
|     address $(fw_printenv -n ipaddr) | ||||
|     netmask 255.255.255.0 | ||||
| 
 | ||||
| manual wlan0 | ||||
| iface wlan0 inet dhcp | ||||
|     pre-up devmem 0x100C0080 32 0x530 | ||||
|  |  | |||
|  | @ -631,7 +631,7 @@ CONFIG_FEATURE_MDEV_EXEC=y | |||
| CONFIG_FEATURE_MDEV_DAEMON=y | ||||
| CONFIG_MESG=y | ||||
| CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y | ||||
| CONFIG_MKE2FS=y | ||||
| # CONFIG_MKE2FS is not set | ||||
| # CONFIG_MKFS_EXT2 is not set | ||||
| # CONFIG_MKFS_MINIX is not set | ||||
| # CONFIG_FEATURE_MINIX2 is not set | ||||
|  |  | |||
|  | @ -0,0 +1,30 @@ | |||
| From 7727b6fe0897849d4fc8f75a48326e902f0ab8b2 Mon Sep 17 00:00:00 2001 | ||||
| From: Fabrice Fontaine <fontaine.fabrice@gmail.com> | ||||
| Date: Sun, 22 Sep 2019 10:06:35 +0200 | ||||
| Subject: [PATCH] mkfs/Makefile.am: fix build without blkid | ||||
| 
 | ||||
| Commit d56232bc1640e2a3ffc412faff42cd8e77dbb8dd hardcoded -lblkid in | ||||
| libf2fs_format_la_LDFLAGS which breaks the build with --without-blkid | ||||
| option so use ${libblkid_LIBS} instead | ||||
| 
 | ||||
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> | ||||
| ---
 | ||||
|  mkfs/Makefile.am | 2 +- | ||||
|  1 file changed, 1 insertion(+), 1 deletion(-) | ||||
| 
 | ||||
| diff --git a/mkfs/Makefile.am b/mkfs/Makefile.am
 | ||||
| index cae2f93..83e2389 100644
 | ||||
| --- a/mkfs/Makefile.am
 | ||||
| +++ b/mkfs/Makefile.am
 | ||||
| @@ -12,7 +12,7 @@ lib_LTLIBRARIES = libf2fs_format.la
 | ||||
|  libf2fs_format_la_SOURCES = f2fs_format_main.c f2fs_format.c f2fs_format_utils.c | ||||
|  libf2fs_format_la_CFLAGS = -DWITH_BLKDISCARD | ||||
|  libf2fs_format_la_CPPFLAGS = -I$(top_srcdir)/include | ||||
| -libf2fs_format_la_LDFLAGS = -lblkid -luuid -L$(top_builddir)/lib -lf2fs \
 | ||||
| +libf2fs_format_la_LDFLAGS = ${libblkid_LIBS} -luuid -L$(top_builddir)/lib -lf2fs \
 | ||||
|  	-version-info $(FMT_CURRENT):$(FMT_REVISION):$(FMT_AGE) | ||||
|   | ||||
|  install-exec-hook: | ||||
| -- 
 | ||||
| 2.23.0 | ||||
| 
 | ||||
|  | @ -0,0 +1,195 @@ | |||
| From eee12fe5e2e6c5f71bc7cbe25a608b730fd5362e Mon Sep 17 00:00:00 2001 | ||||
| From: Chao Yu <yuchao0@huawei.com> | ||||
| Date: Fri, 7 Aug 2020 10:02:31 +0800 | ||||
| Subject: [PATCH] fsck.f2fs: correct return value | ||||
| MIME-Version: 1.0 | ||||
| Content-Type: text/plain; charset=UTF-8 | ||||
| Content-Transfer-Encoding: 8bit | ||||
| 
 | ||||
| As Norbert Lange reported: | ||||
| 
 | ||||
| " | ||||
| $ fsck.f2fs -a /dev/mmcblk0p5; echo $? | ||||
| Info: Fix the reported corruption. | ||||
| Info: Mounted device! | ||||
| Info: Check FS only on RO mounted device | ||||
| Error: Failed to open the device! | ||||
| 255 | ||||
| " | ||||
| 
 | ||||
| Michael Laß reminds: | ||||
| 
 | ||||
| " | ||||
| I think the return value is exactly the problem here. See fsck(8) ( | ||||
| https://linux.die.net/man/8/fsck) which specifies the return values. | ||||
| Systemd looks at these and decides how to proceed: | ||||
| 
 | ||||
| https://github.com/systemd/systemd/blob/a859abf062cef1511e4879c4ee39c6036ebeaec8/src/fsck/fsck.c#L407 | ||||
| 
 | ||||
| That means, if fsck.f2fs returns 255, then | ||||
| the FSCK_SYSTEM_SHOULD_REBOOT bit is set and systemd will reboot. | ||||
| " | ||||
| 
 | ||||
| So the problem here is fsck.f2fs didn't return correct value to userspace | ||||
| apps, result in later unexpected behavior of rebooting, let's fix this. | ||||
| 
 | ||||
| Reported-by: Norbert Lange <nolange79@gmail.com> | ||||
| Reported-by: Michael Laß <bevan@bi-co.net> | ||||
| Signed-off-by: Chao Yu <yuchao0@huawei.com> | ||||
| Signed-off-by: Norbert Lange <nolange79@gmail.com> | ||||
| ---
 | ||||
|  fsck/fsck.h | 11 +++++++++++ | ||||
|  fsck/main.c | 45 +++++++++++++++++++++++++++++++-------------- | ||||
|  2 files changed, 42 insertions(+), 14 deletions(-) | ||||
| 
 | ||||
| diff --git a/fsck/fsck.h b/fsck/fsck.h
 | ||||
| index ccf4a39..c8aeb06 100644
 | ||||
| --- a/fsck/fsck.h
 | ||||
| +++ b/fsck/fsck.h
 | ||||
| @@ -13,6 +13,17 @@
 | ||||
|   | ||||
|  #include "f2fs.h" | ||||
|   | ||||
| +enum {
 | ||||
| +	FSCK_SUCCESS                 = 0,
 | ||||
| +	FSCK_ERROR_CORRECTED         = 1 << 0,
 | ||||
| +	FSCK_SYSTEM_SHOULD_REBOOT    = 1 << 1,
 | ||||
| +	FSCK_ERRORS_LEFT_UNCORRECTED = 1 << 2,
 | ||||
| +	FSCK_OPERATIONAL_ERROR       = 1 << 3,
 | ||||
| +	FSCK_USAGE_OR_SYNTAX_ERROR   = 1 << 4,
 | ||||
| +	FSCK_USER_CANCELLED          = 1 << 5,
 | ||||
| +	FSCK_SHARED_LIB_ERROR        = 1 << 7,
 | ||||
| +};
 | ||||
| +
 | ||||
|  struct quota_ctx; | ||||
|   | ||||
|  #define FSCK_UNMATCHED_EXTENT		0x00000001 | ||||
| diff --git a/fsck/main.c b/fsck/main.c
 | ||||
| index 8c62a14..b0f2ec3 100644
 | ||||
| --- a/fsck/main.c
 | ||||
| +++ b/fsck/main.c
 | ||||
| @@ -591,7 +591,7 @@ void f2fs_parse_options(int argc, char *argv[])
 | ||||
|  	error_out(prog); | ||||
|  } | ||||
|   | ||||
| -static void do_fsck(struct f2fs_sb_info *sbi)
 | ||||
| +static int do_fsck(struct f2fs_sb_info *sbi)
 | ||||
|  { | ||||
|  	struct f2fs_checkpoint *ckpt = F2FS_CKPT(sbi); | ||||
|  	u32 flag = le32_to_cpu(ckpt->ckpt_flags); | ||||
| @@ -614,7 +614,7 @@ static void do_fsck(struct f2fs_sb_info *sbi)
 | ||||
|  			} else { | ||||
|  				MSG(0, "[FSCK] F2FS metadata   [Ok..]"); | ||||
|  				fsck_free(sbi); | ||||
| -				return;
 | ||||
| +				return FSCK_SUCCESS;
 | ||||
|  			} | ||||
|   | ||||
|  			if (!c.ro) | ||||
| @@ -646,7 +646,7 @@ static void do_fsck(struct f2fs_sb_info *sbi)
 | ||||
|  		ret = quota_init_context(sbi); | ||||
|  		if (ret) { | ||||
|  			ASSERT_MSG("quota_init_context failure: %d", ret); | ||||
| -			return;
 | ||||
| +			return FSCK_OPERATIONAL_ERROR;
 | ||||
|  		} | ||||
|  	} | ||||
|  	fsck_chk_orphan_node(sbi); | ||||
| @@ -654,8 +654,14 @@ static void do_fsck(struct f2fs_sb_info *sbi)
 | ||||
|  			F2FS_FT_DIR, TYPE_INODE, &blk_cnt, NULL); | ||||
|  	fsck_chk_quota_files(sbi); | ||||
|   | ||||
| -	fsck_verify(sbi);
 | ||||
| +	ret = fsck_verify(sbi);
 | ||||
|  	fsck_free(sbi); | ||||
| +
 | ||||
| +	if (!c.bug_on)
 | ||||
| +		return FSCK_SUCCESS;
 | ||||
| +	if (!ret)
 | ||||
| +		return FSCK_ERROR_CORRECTED;
 | ||||
| +	return FSCK_ERRORS_LEFT_UNCORRECTED;
 | ||||
|  } | ||||
|   | ||||
|  static void do_dump(struct f2fs_sb_info *sbi) | ||||
| @@ -763,7 +769,7 @@ static int do_sload(struct f2fs_sb_info *sbi)
 | ||||
|  int main(int argc, char **argv) | ||||
|  { | ||||
|  	struct f2fs_sb_info *sbi; | ||||
| -	int ret = 0;
 | ||||
| +	int ret = 0, ret2;
 | ||||
|  	clock_t start = clock(); | ||||
|   | ||||
|  	f2fs_init_configuration(); | ||||
| @@ -771,10 +777,15 @@ int main(int argc, char **argv)
 | ||||
|  	f2fs_parse_options(argc, argv); | ||||
|   | ||||
|  	if (c.func != DUMP && f2fs_devs_are_umounted() < 0) { | ||||
| -		if (errno == EBUSY)
 | ||||
| +		if (errno == EBUSY) {
 | ||||
| +			if (c.func == FSCK)
 | ||||
| +				return FSCK_OPERATIONAL_ERROR;
 | ||||
|  			return -1; | ||||
| +		}
 | ||||
|  		if (!c.ro || c.func == DEFRAG) { | ||||
|  			MSG(0, "\tError: Not available on mounted device!\n"); | ||||
| +			if (c.func == FSCK)
 | ||||
| +				return FSCK_OPERATIONAL_ERROR;
 | ||||
|  			return -1; | ||||
|  		} | ||||
|   | ||||
| @@ -789,8 +800,11 @@ int main(int argc, char **argv)
 | ||||
|  	} | ||||
|   | ||||
|  	/* Get device */ | ||||
| -	if (f2fs_get_device_info() < 0)
 | ||||
| +	if (f2fs_get_device_info() < 0) {
 | ||||
| +		if (c.func == FSCK)
 | ||||
| +			return FSCK_OPERATIONAL_ERROR;
 | ||||
|  		return -1; | ||||
| +	}
 | ||||
|   | ||||
|  fsck_again: | ||||
|  	memset(&gfsck, 0, sizeof(gfsck)); | ||||
| @@ -808,7 +822,7 @@ fsck_again:
 | ||||
|   | ||||
|  	switch (c.func) { | ||||
|  	case FSCK: | ||||
| -		do_fsck(sbi);
 | ||||
| +		ret = do_fsck(sbi);
 | ||||
|  		break; | ||||
|  #ifdef WITH_DUMP | ||||
|  	case DUMP: | ||||
| @@ -856,8 +870,8 @@ fsck_again:
 | ||||
|  			char ans[255] = {0}; | ||||
|  retry: | ||||
|  			printf("Do you want to fix this partition? [Y/N] "); | ||||
| -			ret = scanf("%s", ans);
 | ||||
| -			ASSERT(ret >= 0);
 | ||||
| +			ret2 = scanf("%s", ans);
 | ||||
| +			ASSERT(ret2 >= 0);
 | ||||
|  			if (!strcasecmp(ans, "y")) | ||||
|  				c.fix_on = 1; | ||||
|  			else if (!strcasecmp(ans, "n")) | ||||
| @@ -869,12 +883,15 @@ retry:
 | ||||
|  				goto fsck_again; | ||||
|  		} | ||||
|  	} | ||||
| -	ret = f2fs_finalize_device();
 | ||||
| -	if (ret < 0)
 | ||||
| -		return ret;
 | ||||
| +	ret2 = f2fs_finalize_device();
 | ||||
| +	if (ret2) {
 | ||||
| +		if (c.func == FSCK)
 | ||||
| +			return FSCK_OPERATIONAL_ERROR;
 | ||||
| +		return ret2;
 | ||||
| +	}
 | ||||
|   | ||||
|  	printf("\nDone: %lf secs\n", (clock() - start) / (double)CLOCKS_PER_SEC); | ||||
| -	return 0;
 | ||||
| +	return ret;
 | ||||
|   | ||||
|  out_err: | ||||
|  	if (sbi->ckpt) | ||||
| -- 
 | ||||
| 2.27.0 | ||||
| 
 | ||||
|  | @ -0,0 +1,12 @@ | |||
| config BR2_PACKAGE_F2FS_TOOLS_OPENIPC | ||||
| 	bool "f2fs-tools-openipc" | ||||
| 	depends on BR2_USE_WCHAR # uses wchar_t | ||||
| 	select BR2_PACKAGE_UTIL_LINUX | ||||
| 	select BR2_PACKAGE_UTIL_LINUX_LIBUUID | ||||
| 	help | ||||
| 	  Tools for Flash-Friendly File System (F2FS) | ||||
| 
 | ||||
| 	  https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git | ||||
| 
 | ||||
| comment "f2fs-tools-openipc needs a toolchain w/ wchar" | ||||
| 	depends on !BR2_USE_WCHAR | ||||
|  | @ -0,0 +1,22 @@ | |||
| ################################################################################
 | ||||
| #
 | ||||
| # f2fs-tools-openipc
 | ||||
| #
 | ||||
| ################################################################################
 | ||||
| 
 | ||||
| F2FS_TOOLS_OPENIPC_VERSION = 1.13.0 | ||||
| F2FS_TOOLS_OPENIPC_SITE = https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/snapshot | ||||
| F2FS_TOOLS_OPENIPC_CONF_ENV = ac_cv_file__git=no | ||||
| F2FS_TOOLS_OPENIPC_DEPENDENCIES = host-pkgconf | ||||
| # GIT version, shipped without configure
 | ||||
| F2FS_TOOLS_OPENIPC_AUTORECONF = YES | ||||
| F2FS_TOOLS_OPENIPC_INSTALL_STAGING = YES | ||||
| F2FS_TOOLS_OPENIPC_LICENSE = GPL-2.0 | ||||
| F2FS_TOOLS_OPENIPC_LICENSE_FILES = COPYING | ||||
| 
 | ||||
| F2FS_TOOLS_OPENIPC_CONF_OPTS = \
 | ||||
| 	--without-selinux \
 | ||||
| 	--without-blkid | ||||
| 
 | ||||
| $(eval $(autotools-package)) | ||||
| $(eval $(host-autotools-package)) | ||||
|  | @ -1,6 +1,6 @@ | |||
| ################################################################################
 | ||||
| #
 | ||||
| # majestic-hi3516c2300
 | ||||
| # majestic-hi3516cv200
 | ||||
| #
 | ||||
| ################################################################################
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue