From: hschang Date: Wed, 2 Jul 2014 04:19:51 +0000 (+0900) Subject: [busybox] fix bbappend & patches for version 2.22.1 X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=commitdiff_plain;h=a21a49a4366b35022bb543e8dc79eb520ecad6bf;hp=961cbc3bac5f720d7af8f347e679587416013fd3 [busybox] fix bbappend & patches for version 2.22.1 --- diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch deleted file mode 100644 index ae78e6d..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-ifupdown-support-post-up-pre-down-hooks.patch +++ /dev/null @@ -1,60 +0,0 @@ -From b58a1a06ca695aed6a4f6e5039e2de0e5a3df111 Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -Date: Wed, 19 Oct 2011 02:35:54 +0200 -Subject: [PATCH 01/10] ifupdown: support post-up / pre-down hooks - -function old new delta -set_environ 330 371 +41 -ifupdown_main 2156 2194 +38 -iface_up 97 113 +16 -iface_down 97 113 +16 ------------------------------------------------------------------------------- -(add/remove: 0/0 grow/shrink: 4/0 up/down: 111/0) Total: 111 bytes - -Signed-off-by: Peter Korsgaard -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 3820330..abc6b58 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -891,6 +891,8 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (strcmp(first_word, "up") != 0 - && strcmp(first_word, "down") != 0 - && strcmp(first_word, "pre-up") != 0 -+ && strcmp(first_word, "pre-down") != 0 -+ && strcmp(first_word, "post-up") != 0 - && strcmp(first_word, "post-down") != 0 - ) { - int i; -@@ -987,6 +989,8 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - if (strcmp(iface->option[i].name, "up") == 0 - || strcmp(iface->option[i].name, "down") == 0 - || strcmp(iface->option[i].name, "pre-up") == 0 -+ || strcmp(iface->option[i].name, "pre-down") == 0 -+ || strcmp(iface->option[i].name, "post-up") == 0 - || strcmp(iface->option[i].name, "post-down") == 0 - ) { - continue; -@@ -1056,6 +1060,7 @@ static int iface_up(struct interface_defn_t *iface) - if (!execute_all(iface, "pre-up")) return 0; - if (!iface->method->up(iface, doit)) return 0; - if (!execute_all(iface, "up")) return 0; -+ if (!execute_all(iface, "post-up")) return 0; - return 1; - } - -@@ -1063,6 +1068,7 @@ static int iface_down(struct interface_defn_t *iface) - { - if (!iface->method->down(iface,check)) return -1; - set_environ(iface, "stop"); -+ if (!execute_all(iface, "pre-down")) return 0; - if (!execute_all(iface, "down")) return 0; - if (!iface->method->down(iface, doit)) return 0; - if (!execute_all(iface, "post-down")) return 0; --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch deleted file mode 100644 index fa2e237..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0001-work-around-linux-ext2_fs.h-breakage.patch +++ /dev/null @@ -1,50 +0,0 @@ -From caf5768154301697430f0a3718838967d0f55f95 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Thu, 12 Apr 2012 14:01:10 +0200 -Subject: [PATCH 01/33] work around linux/ext2_fs.h breakage - -See https://bugzilla.kernel.org/show_bug.cgi?id=42986 - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/tune2fs.c | 6 ++++++ - util-linux/mkfs_ext2.c | 6 ++++++ - 2 files changed, 12 insertions(+) - -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 020bdaa..8da7432 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,6 +8,12 @@ - */ - #include "libbb.h" - #include -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -+ */ -+typedef mode_t bb__umode_t; -+#define umode_t bb__umode_t - #include - - // storage helpers -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 6cbbe0e..759bb0a 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,6 +48,12 @@ - - #include "libbb.h" - #include -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -+ */ -+typedef mode_t bb__umode_t; -+#define umode_t bb__umode_t - #include - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch deleted file mode 100644 index f9de87f..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch +++ /dev/null @@ -1,607 +0,0 @@ -From 0b2b0f31a38d77ebfb2a6416011562687ef58191 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Fri, 13 Apr 2012 16:39:18 +0200 -Subject: [PATCH 01/32] Create and use our own copy of linux/ext2_fs.h - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/tune2fs.c | 8 +- - include/bb_linux_ext2_fs.h | 547 ++++++++++++++++++++++++++++++++++++++++++++ - util-linux/mkfs_ext2.c | 8 +- - 3 files changed, 549 insertions(+), 14 deletions(-) - create mode 100644 include/bb_linux_ext2_fs.h - -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 8da7432..841d58a 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,13 +8,7 @@ - */ - #include "libbb.h" - #include --/* -- * Work around linux/ext2_fs.h breakage. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -- */ --typedef mode_t bb__umode_t; --#define umode_t bb__umode_t --#include -+#include "bb_linux_ext2_fs.h" - - // storage helpers - char BUG_wrong_field_size(void); -diff --git a/include/bb_linux_ext2_fs.h b/include/bb_linux_ext2_fs.h -new file mode 100644 -index 0000000..fdc470b ---- /dev/null -+++ b/include/bb_linux_ext2_fs.h -@@ -0,0 +1,547 @@ -+/* -+ * Work around linux/ext2_fs.h breakage. -+ * linux/ext2_fs.h might be removed from future kernel header distribution. -+ * See https://bugzilla.kernel.org/show_bug.cgi?id=42986 -+ * -+ * Licensed under GPLv2, see file LICENSE in this source tree. -+ */ -+#ifndef BB_LINUX_EXT2_FS_H -+#define BB_LINUX_EXT2_FS_H -+ -+/* -+ * From linux/magic.h -+ */ -+ -+#define EXT2_SUPER_MAGIC 0xEF53 -+#define EXT3_SUPER_MAGIC 0xEF53 -+#define EXT4_SUPER_MAGIC 0xEF53 -+ -+/* -+ * From linux/ext2_fs.h, with minor changes. -+ */ -+ -+/* -+ * Copyright (C) 1992, 1993, 1994, 1995 -+ * Remy Card (card@masi.ibp.fr) -+ * Laboratoire MASI - Institut Blaise Pascal -+ * Universite Pierre et Marie Curie (Paris VI) -+ * -+ * from -+ * -+ * linux/include/linux/minix_fs.h -+ * -+ * Copyright (C) 1991, 1992 Linus Torvalds -+ */ -+ -+/* -+ * The second extended filesystem constants/structures -+ */ -+ -+/* -+ * Define EXT2_RESERVATION to reserve data blocks for expanding files -+ */ -+#define EXT2_DEFAULT_RESERVE_BLOCKS 8 -+/*max window size: 1024(direct blocks) + 3([t,d]indirect blocks) */ -+#define EXT2_MAX_RESERVE_BLOCKS 1027 -+#define EXT2_RESERVE_WINDOW_NOT_ALLOCATED 0 -+ -+/* -+ * Special inode numbers -+ */ -+#define EXT2_BAD_INO 1 /* Bad blocks inode */ -+#define EXT2_ROOT_INO 2 /* Root inode */ -+#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ -+#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -+ -+/* First non-reserved inode for old ext2 filesystems */ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+ -+/* Assume that user mode programs are passing in an ext2fs superblock, not -+ * a kernel struct super_block. This will allow us to call the feature-test -+ * macros from user land. */ -+#define EXT2_SB(sb) (sb) -+ -+/* -+ * Maximal count of links to a file -+ */ -+#define EXT2_LINK_MAX 32000 -+ -+/* -+ * Macro-instructions used to manage several block sizes -+ */ -+#define EXT2_MIN_BLOCK_SIZE 1024 -+#define EXT2_MAX_BLOCK_SIZE 4096 -+#define EXT2_MIN_BLOCK_LOG_SIZE 10 -+# define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) -+#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (uint32_t)) -+# define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : \ -+ (s)->s_inode_size) -+#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_FIRST_INO : \ -+ (s)->s_first_ino) -+ -+/* -+ * Macro-instructions used to manage fragments -+ */ -+#define EXT2_MIN_FRAG_SIZE 1024 -+#define EXT2_MAX_FRAG_SIZE 4096 -+#define EXT2_MIN_FRAG_LOG_SIZE 10 -+# define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) -+# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -+ -+/* -+ * Structure of a blocks group descriptor -+ */ -+struct ext2_group_desc -+{ -+ uint32_t bg_block_bitmap; /* Blocks bitmap block */ -+ uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -+ uint32_t bg_inode_table; /* Inodes table block */ -+ uint16_t bg_free_blocks_count; /* Free blocks count */ -+ uint16_t bg_free_inodes_count; /* Free inodes count */ -+ uint16_t bg_used_dirs_count; /* Directories count */ -+ uint16_t bg_pad; -+ uint32_t bg_reserved[3]; -+}; -+ -+/* -+ * Macro-instructions used to manage group descriptors -+ */ -+# define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group) -+# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -+# define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group) -+ -+/* -+ * Constants relative to the data blocks -+ */ -+#define EXT2_NDIR_BLOCKS 12 -+#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS -+#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) -+#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) -+#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -+ -+/* -+ * Inode flags (GETFLAGS/SETFLAGS) -+ */ -+#define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */ -+#define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */ -+#define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */ -+#define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */ -+#define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */ -+#define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */ -+#define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */ -+#define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */ -+/* Reserved for compression usage... */ -+#define EXT2_DIRTY_FL FS_DIRTY_FL -+#define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */ -+#define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */ -+#define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */ -+/* End compression flags --- maybe not all used */ -+#define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */ -+#define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */ -+#define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */ -+#define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */ -+#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ -+#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ -+#define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ -+#define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ -+ -+#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ -+#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ -+ -+/* Flags that should be inherited by new inodes from their parent. */ -+#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\ -+ EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\ -+ EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\ -+ EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\ -+ EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL) -+ -+/* Flags that are appropriate for regular files (all but dir-specific ones). */ -+#define EXT2_REG_FLMASK (~(EXT2_DIRSYNC_FL | EXT2_TOPDIR_FL)) -+ -+/* Flags that are appropriate for non-directories/regular files. */ -+#define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) -+ -+/* Mask out flags that are inappropriate for the given type of inode. */ -+static inline uint32_t ext2_mask_flags(mode_t mode, uint32_t flags) -+{ -+ if (S_ISDIR(mode)) -+ return flags; -+ else if (S_ISREG(mode)) -+ return flags & EXT2_REG_FLMASK; -+ else -+ return flags & EXT2_OTHER_FLMASK; -+} -+ -+/* -+ * ioctl commands -+ */ -+#define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS -+#define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS -+#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION -+#define EXT2_IOC_SETVERSION FS_IOC_SETVERSION -+#define EXT2_IOC_GETRSVSZ _IOR('f', 5, long) -+#define EXT2_IOC_SETRSVSZ _IOW('f', 6, long) -+ -+/* -+ * ioctl commands in 32 bit emulation -+ */ -+#define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS -+#define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS -+#define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION -+#define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION -+ -+/* -+ * Structure of an inode on the disk -+ */ -+struct ext2_inode { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+}; -+ -+#define i_size_high i_dir_acl -+ -+#if defined(__KERNEL__) || defined(__linux__) -+#define i_reserved1 osd1.linux1.l_i_reserved1 -+#define i_frag osd2.linux2.l_i_frag -+#define i_fsize osd2.linux2.l_i_fsize -+#define i_uid_low i_uid -+#define i_gid_low i_gid -+#define i_uid_high osd2.linux2.l_i_uid_high -+#define i_gid_high osd2.linux2.l_i_gid_high -+#define i_reserved2 osd2.linux2.l_i_reserved2 -+#endif -+ -+#ifdef __hurd__ -+#define i_translator osd1.hurd1.h_i_translator -+#define i_frag osd2.hurd2.h_i_frag -+#define i_fsize osd2.hurd2.h_i_fsize -+#define i_uid_high osd2.hurd2.h_i_uid_high -+#define i_gid_high osd2.hurd2.h_i_gid_high -+#define i_author osd2.hurd2.h_i_author -+#endif -+ -+#ifdef __masix__ -+#define i_reserved1 osd1.masix1.m_i_reserved1 -+#define i_frag osd2.masix2.m_i_frag -+#define i_fsize osd2.masix2.m_i_fsize -+#define i_reserved2 osd2.masix2.m_i_reserved2 -+#endif -+ -+/* -+ * File system states -+ */ -+#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ -+#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -+ -+/* -+ * Mount flags -+ */ -+#define EXT2_MOUNT_CHECK 0x000001 /* Do mount-time checks */ -+#define EXT2_MOUNT_OLDALLOC 0x000002 /* Don't use the new Orlov allocator */ -+#define EXT2_MOUNT_GRPID 0x000004 /* Create files with directory's group */ -+#define EXT2_MOUNT_DEBUG 0x000008 /* Some debugging messages */ -+#define EXT2_MOUNT_ERRORS_CONT 0x000010 /* Continue on errors */ -+#define EXT2_MOUNT_ERRORS_RO 0x000020 /* Remount fs ro on errors */ -+#define EXT2_MOUNT_ERRORS_PANIC 0x000040 /* Panic on errors */ -+#define EXT2_MOUNT_MINIX_DF 0x000080 /* Mimics the Minix statfs */ -+#define EXT2_MOUNT_NOBH 0x000100 /* No buffer_heads */ -+#define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ -+#define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ -+#define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ -+#define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ -+#define EXT2_MOUNT_USRQUOTA 0x020000 /* user quota */ -+#define EXT2_MOUNT_GRPQUOTA 0x040000 /* group quota */ -+#define EXT2_MOUNT_RESERVATION 0x080000 /* Preallocation */ -+ -+ -+#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt -+#define set_opt(o, opt) o |= EXT2_MOUNT_##opt -+#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -+ EXT2_MOUNT_##opt) -+/* -+ * Maximal mount counts between two filesystem checks -+ */ -+#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ -+#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -+ -+/* -+ * Behaviour when detecting errors -+ */ -+#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ -+#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ -+#define EXT2_ERRORS_PANIC 3 /* Panic */ -+#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -+ -+/* -+ * Structure of the super block -+ */ -+struct ext2_super_block { -+ uint32_t s_inodes_count; /* Inodes count */ -+ uint32_t s_blocks_count; /* Blocks count */ -+ uint32_t s_r_blocks_count; /* Reserved blocks count */ -+ uint32_t s_free_blocks_count; /* Free blocks count */ -+ uint32_t s_free_inodes_count; /* Free inodes count */ -+ uint32_t s_first_data_block; /* First Data Block */ -+ uint32_t s_log_block_size; /* Block size */ -+ uint32_t s_log_frag_size; /* Fragment size */ -+ uint32_t s_blocks_per_group; /* # Blocks per group */ -+ uint32_t s_frags_per_group; /* # Fragments per group */ -+ uint32_t s_inodes_per_group; /* # Inodes per group */ -+ uint32_t s_mtime; /* Mount time */ -+ uint32_t s_wtime; /* Write time */ -+ uint16_t s_mnt_count; /* Mount count */ -+ uint16_t s_max_mnt_count; /* Maximal mount count */ -+ uint16_t s_magic; /* Magic signature */ -+ uint16_t s_state; /* File system state */ -+ uint16_t s_errors; /* Behaviour when detecting errors */ -+ uint16_t s_minor_rev_level; /* minor revision level */ -+ uint32_t s_lastcheck; /* time of last check */ -+ uint32_t s_checkinterval; /* max. time between checks */ -+ uint32_t s_creator_os; /* OS */ -+ uint32_t s_rev_level; /* Revision level */ -+ uint16_t s_def_resuid; /* Default uid for reserved blocks */ -+ uint16_t s_def_resgid; /* Default gid for reserved blocks */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ uint32_t s_first_ino; /* First non-reserved inode */ -+ uint16_t s_inode_size; /* size of inode structure */ -+ uint16_t s_block_group_nr; /* block group # of this superblock */ -+ uint32_t s_feature_compat; /* compatible feature set */ -+ uint32_t s_feature_incompat; /* incompatible feature set */ -+ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -+ uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ uint32_t s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_COMPAT_PREALLOC flag is on. -+ */ -+ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ uint16_t s_padding1; -+ /* -+ * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -+ uint32_t s_journal_inum; /* inode number of journal file */ -+ uint32_t s_journal_dev; /* device number of journal file */ -+ uint32_t s_last_orphan; /* start of list of inodes to delete */ -+ uint32_t s_hash_seed[4]; /* HTREE hash seed */ -+ uint8_t s_def_hash_version; /* Default hash version to use */ -+ uint8_t s_reserved_char_pad; -+ uint16_t s_reserved_word_pad; -+ uint32_t s_default_mount_opts; -+ uint32_t s_first_meta_bg; /* First metablock block group */ -+ uint32_t s_reserved[190]; /* Padding to the end of the block */ -+}; -+ -+/* -+ * Codes for operating systems -+ */ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ -+/* -+ * Revision levels -+ */ -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+ -+#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV -+#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -+ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+ -+/* -+ * Feature set definitions -+ */ -+ -+#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) ) -+#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) ) -+#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) ) -+#define EXT2_SET_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask) -+#define EXT2_SET_RO_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask) -+#define EXT2_SET_INCOMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask) -+#define EXT2_CLEAR_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask) -+#define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask) -+#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ -+ EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask) -+ -+#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 -+#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 -+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 -+#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 -+#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -+#define EXT2_FEATURE_COMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 -+#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 -+#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 -+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 -+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 -+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 -+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 -+#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff -+ -+#define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR -+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \ -+ EXT2_FEATURE_INCOMPAT_META_BG) -+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -+#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP -+#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP -+ -+/* -+ * Default values for user and/or group using reserved blocks -+ */ -+#define EXT2_DEF_RESUID 0 -+#define EXT2_DEF_RESGID 0 -+ -+/* -+ * Default mount options -+ */ -+#define EXT2_DEFM_DEBUG 0x0001 -+#define EXT2_DEFM_BSDGROUPS 0x0002 -+#define EXT2_DEFM_XATTR_USER 0x0004 -+#define EXT2_DEFM_ACL 0x0008 -+#define EXT2_DEFM_UID16 0x0010 -+ /* Not used by ext2, but reserved for use by ext3 */ -+#define EXT3_DEFM_JMODE 0x0060 -+#define EXT3_DEFM_JMODE_DATA 0x0020 -+#define EXT3_DEFM_JMODE_ORDERED 0x0040 -+#define EXT3_DEFM_JMODE_WBACK 0x0060 -+ -+/* -+ * Structure of a directory entry -+ */ -+#define EXT2_NAME_LEN 255 -+ -+struct ext2_dir_entry { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint16_t name_len; /* Name length */ -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * The new version of the directory entry. Since EXT2 structures are -+ * stored in intel byte order, and the name_len field could never be -+ * bigger than 255 chars, it's safe to reclaim the extra byte for the -+ * file_type field. -+ */ -+struct ext2_dir_entry_2 { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint8_t name_len; /* Name length */ -+ uint8_t file_type; -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * Ext2 directory file types. Only the low 3 bits are used. The -+ * other bits are reserved for now. -+ */ -+enum { -+ EXT2_FT_UNKNOWN = 0, -+ EXT2_FT_REG_FILE = 1, -+ EXT2_FT_DIR = 2, -+ EXT2_FT_CHRDEV = 3, -+ EXT2_FT_BLKDEV = 4, -+ EXT2_FT_FIFO = 5, -+ EXT2_FT_SOCK = 6, -+ EXT2_FT_SYMLINK = 7, -+ EXT2_FT_MAX -+}; -+ -+/* -+ * EXT2_DIR_PAD defines the directory entries boundaries -+ * -+ * NOTE: It must be a multiple of 4 -+ */ -+#define EXT2_DIR_PAD 4 -+#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) -+#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -+ ~EXT2_DIR_ROUND) -+#define EXT2_MAX_REC_LEN ((1<<16)-1) -+ -+#endif -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 759bb0a..2d9d720 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,13 +48,7 @@ - - #include "libbb.h" - #include --/* -- * Work around linux/ext2_fs.h breakage. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986. -- */ --typedef mode_t bb__umode_t; --#define umode_t bb__umode_t --#include -+#include "bb_linux_ext2_fs.h" - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 - #define ENABLE_FEATURE_MKFS_EXT2_DIR_INDEX 1 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch deleted file mode 100644 index 2d9d695..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0002-ifupdown-code-shrink.patch +++ /dev/null @@ -1,122 +0,0 @@ -From e5221a142e8ee4509734c17584f898a1f4ac86cc Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Wed, 19 Oct 2011 02:37:08 +0200 -Subject: [PATCH 02/10] ifupdown: code shrink - -function old new delta -keywords_up_down - 43 +43 -set_environ 371 259 -112 -ifupdown_main 2194 2073 -121 ------------------------------------------------------------------------------- -(add/remove: 1/0 grow/shrink: 0/2 up/down: 43/-233) Total: -190 bytes - -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 42 +++++++++++++++--------------------------- - 1 file changed, 15 insertions(+), 27 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index abc6b58..5946323 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -87,7 +87,6 @@ struct mapping_defn_t { - - char *script; - -- int max_mappings; - int n_mappings; - char **mapping; - }; -@@ -102,7 +101,6 @@ struct interface_defn_t { - const struct method_t *method; - - char *iface; -- int max_options; - int n_options; - struct variable_t *option; - }; -@@ -138,6 +136,16 @@ struct globals { - #define INIT_G() do { } while (0) - - -+static const char keywords_up_down[] ALIGN1 = -+ "up\0" -+ "down\0" -+ "pre-up\0" -+ "pre-down\0" -+ "post-up\0" -+ "post-down\0" -+; -+ -+ - #if ENABLE_FEATURE_IFUPDOWN_IPV4 || ENABLE_FEATURE_IFUPDOWN_IPV6 - - static void addstr(char **bufp, const char *str, size_t str_length) -@@ -803,7 +811,6 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - currmap->match = xrealloc_vector(currmap->match, 4, currmap->n_matches); - currmap->match[currmap->n_matches++] = xstrdup(first_word); - } -- /*currmap->max_mappings = 0; - done by xzalloc */ - /*currmap->n_mappings = 0;*/ - /*currmap->mapping = NULL;*/ - /*currmap->script = NULL;*/ -@@ -888,25 +895,16 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (rest_of_line[0] == '\0') - bb_error_msg_and_die("option with empty value \"%s\"", buf); - -- if (strcmp(first_word, "up") != 0 -- && strcmp(first_word, "down") != 0 -- && strcmp(first_word, "pre-up") != 0 -- && strcmp(first_word, "pre-down") != 0 -- && strcmp(first_word, "post-up") != 0 -- && strcmp(first_word, "post-down") != 0 -- ) { -+ /* If not one of "up", "down",... words... */ -+ if (index_in_strings(keywords_up_down, first_word) < 0) { - int i; - for (i = 0; i < currif->n_options; i++) { - if (strcmp(currif->option[i].name, first_word) == 0) - bb_error_msg_and_die("duplicate option \"%s\"", buf); - } - } -- if (currif->n_options >= currif->max_options) { -- currif->max_options += 10; -- currif->option = xrealloc(currif->option, -- sizeof(*currif->option) * currif->max_options); -- } - debug_noise("\t%s=%s\n", first_word, rest_of_line); -+ currif->option = xrealloc_vector(currif->option, 4, currif->n_options); - currif->option[currif->n_options].name = xstrdup(first_word); - currif->option[currif->n_options].value = xstrdup(rest_of_line); - currif->n_options++; -@@ -918,11 +916,7 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - bb_error_msg_and_die("duplicate script in mapping \"%s\"", buf); - currmap->script = xstrdup(next_word(&rest_of_line)); - } else if (strcmp(first_word, "map") == 0) { -- if (currmap->n_mappings >= currmap->max_mappings) { -- currmap->max_mappings = currmap->max_mappings * 2 + 1; -- currmap->mapping = xrealloc(currmap->mapping, -- sizeof(char *) * currmap->max_mappings); -- } -+ currmap->mapping = xrealloc_vector(currmap->mapping, 2, currmap->n_mappings); - currmap->mapping[currmap->n_mappings] = xstrdup(next_word(&rest_of_line)); - currmap->n_mappings++; - } else { -@@ -986,13 +980,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - pp = G.my_environ; - - for (i = 0; i < iface->n_options; i++) { -- if (strcmp(iface->option[i].name, "up") == 0 -- || strcmp(iface->option[i].name, "down") == 0 -- || strcmp(iface->option[i].name, "pre-up") == 0 -- || strcmp(iface->option[i].name, "pre-down") == 0 -- || strcmp(iface->option[i].name, "post-up") == 0 -- || strcmp(iface->option[i].name, "post-down") == 0 -- ) { -+ if (index_in_strings(keywords_up_down, iface->option[i].name) >= 0) { - continue; - } - *pp++ = setlocalenv("IF_%s=%s", iface->option[i].name, iface->option[i].value); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch deleted file mode 100644 index 2a3b21b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch +++ /dev/null @@ -1,1877 +0,0 @@ -From 176bc344751dfc41e87976182381ae0560c94f22 Mon Sep 17 00:00:00 2001 -From: Denys Vlasenko -Date: Tue, 17 Apr 2012 15:06:55 +0200 -Subject: [PATCH 04/32] Drop include/bb_linux_ext2_fs.h, use existing - e2fsprogs/e2fs_defs.h - -Signed-off-by: Denys Vlasenko ---- - e2fsprogs/e2fs_defs.h | 561 --------------------------- - e2fsprogs/e2fs_lib.h | 2 +- - e2fsprogs/old_e2fsprogs/e2fsck.c | 6 +- - e2fsprogs/old_e2fsprogs/e2p/feature.c | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h | 2 +- - e2fsprogs/old_e2fsprogs/ext2fs/initialize.c | 2 +- - e2fsprogs/old_e2fsprogs/mke2fs.c | 8 +- - e2fsprogs/tune2fs.c | 2 +- - include/bb_e2fs_defs.h | 561 +++++++++++++++++++++++++++ - include/bb_linux_ext2_fs.h | 547 -------------------------- - util-linux/mkfs_ext2.c | 2 +- - 12 files changed, 575 insertions(+), 1122 deletions(-) - delete mode 100644 e2fsprogs/e2fs_defs.h - create mode 100644 include/bb_e2fs_defs.h - delete mode 100644 include/bb_linux_ext2_fs.h - -diff --git a/e2fsprogs/e2fs_defs.h b/e2fsprogs/e2fs_defs.h -deleted file mode 100644 -index 379640e..0000000 ---- a/e2fsprogs/e2fs_defs.h -+++ /dev/null -@@ -1,561 +0,0 @@ --/* vi: set sw=4 ts=4: */ --/* -- * linux/include/linux/ext2_fs.h -- * -- * Copyright (C) 1992, 1993, 1994, 1995 -- * Remy Card (card@masi.ibp.fr) -- * Laboratoire MASI - Institut Blaise Pascal -- * Universite Pierre et Marie Curie (Paris VI) -- * -- * Copyright (C) 1991, 1992 Linus Torvalds -- */ -- --#ifndef LINUX_EXT2_FS_H --#define LINUX_EXT2_FS_H 1 -- --/* -- * Special inode numbers -- */ --#define EXT2_BAD_INO 1 /* Bad blocks inode */ --#define EXT2_ROOT_INO 2 /* Root inode */ --#define EXT2_ACL_IDX_INO 3 /* ACL inode */ --#define EXT2_ACL_DATA_INO 4 /* ACL inode */ --#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ --#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ --#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ --#define EXT2_JOURNAL_INO 8 /* Journal inode */ -- --/* First non-reserved inode for old ext2 filesystems */ --#define EXT2_GOOD_OLD_FIRST_INO 11 -- --/* -- * The second extended file system magic number -- */ --#define EXT2_SUPER_MAGIC 0xEF53 -- --/* Assume that user mode programs are passing in an ext2fs superblock, not -- * a kernel struct super_block. This will allow us to call the feature-test -- * macros from user land. */ --#define EXT2_SB(sb) (sb) -- --/* -- * Maximal count of links to a file -- */ --#define EXT2_LINK_MAX 32000 -- --/* -- * Macro-instructions used to manage several block sizes -- */ --#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */ --#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */ --#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE) --#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE) --#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) --#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) --#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size) --#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino) --#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t)) -- --/* -- * Macro-instructions used to manage fragments -- */ --#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE --#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE --#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE --#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) --#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -- --/* -- * ACL structures -- */ --struct ext2_acl_header { /* Header of Access Control Lists */ -- uint32_t aclh_size; -- uint32_t aclh_file_count; -- uint32_t aclh_acle_count; -- uint32_t aclh_first_acle; --}; -- --struct ext2_acl_entry { /* Access Control List Entry */ -- uint32_t acle_size; -- uint16_t acle_perms; /* Access permissions */ -- uint16_t acle_type; /* Type of entry */ -- uint16_t acle_tag; /* User or group identity */ -- uint16_t acle_pad1; -- uint32_t acle_next; /* Pointer on next entry for the */ -- /* same inode or on next free entry */ --}; -- --/* -- * Structure of a blocks group descriptor -- */ --struct ext2_group_desc { -- uint32_t bg_block_bitmap; /* Blocks bitmap block */ -- uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -- uint32_t bg_inode_table; /* Inodes table block */ -- uint16_t bg_free_blocks_count; /* Free blocks count */ -- uint16_t bg_free_inodes_count; /* Free inodes count */ -- uint16_t bg_used_dirs_count; /* Directories count */ -- uint16_t bg_pad; -- uint32_t bg_reserved[3]; --}; -- --/* -- * Data structures used by the directory indexing feature -- * -- * Note: all of the multibyte integer fields are little endian. -- */ -- --/* -- * Note: dx_root_info is laid out so that if it should somehow get -- * overlaid by a dirent the two low bits of the hash version will be -- * zero. Therefore, the hash version mod 4 should never be 0. -- * Sincerely, the paranoia department. -- */ --struct ext2_dx_root_info { -- uint32_t reserved_zero; -- uint8_t hash_version; /* 0 now, 1 at release */ -- uint8_t info_length; /* 8 */ -- uint8_t indirect_levels; -- uint8_t unused_flags; --}; -- --#define EXT2_HASH_LEGACY 0 --#define EXT2_HASH_HALF_MD4 1 --#define EXT2_HASH_TEA 2 -- --#define EXT2_HASH_FLAG_INCOMPAT 0x1 -- --struct ext2_dx_entry { -- uint32_t hash; -- uint32_t block; --}; -- --struct ext2_dx_countlimit { -- uint16_t limit; -- uint16_t count; --}; -- -- --/* -- * Macro-instructions used to manage group descriptors -- */ --#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) --#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) --#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) --/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */ --#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8) --#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s)) --#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -- --/* -- * Constants relative to the data blocks -- */ --#define EXT2_NDIR_BLOCKS 12 --#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS --#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) --#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) --#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -- --/* -- * Inode flags -- */ --#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ --#define EXT2_UNRM_FL 0x00000002 /* Undelete */ --#define EXT2_COMPR_FL 0x00000004 /* Compress file */ --#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ --#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ --#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ --#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ --#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ --/* Reserved for compression usage... */ --#define EXT2_DIRTY_FL 0x00000100 --#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ --#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */ --#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ --/* End compression flags --- maybe not all used */ --#define EXT2_BTREE_FL 0x00001000 /* btree format dir */ --#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */ --#define EXT2_IMAGIC_FL 0x00002000 --#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */ --#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ --#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */ --#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ --#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */ --#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ -- --#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ --#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */ -- --/* -- * ioctl commands -- */ --#define EXT2_IOC_GETFLAGS _IOR('f', 1, long) --#define EXT2_IOC_SETFLAGS _IOW('f', 2, long) --#define EXT2_IOC_GETVERSION _IOR('v', 1, long) --#define EXT2_IOC_SETVERSION _IOW('v', 2, long) -- --/* -- * Structure of an inode on the disk -- */ --struct ext2_inode { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ --}; -- --/* -- * Permanent part of an large inode on the disk -- */ --struct ext2_inode_large { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ -- uint16_t i_extra_isize; -- uint16_t i_pad1; --}; -- --#define i_size_high i_dir_acl -- --/* -- * File system states -- */ --#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ --#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -- --/* -- * Mount flags -- */ --#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */ --#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */ --#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */ --#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ --#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ --#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ --#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ --#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */ -- --#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt --#define set_opt(o, opt) o |= EXT2_MOUNT_##opt --#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -- EXT2_MOUNT_##opt) --/* -- * Maximal mount counts between two filesystem checks -- */ --#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ --#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -- --/* -- * Behaviour when detecting errors -- */ --#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ --#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ --#define EXT2_ERRORS_PANIC 3 /* Panic */ --#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -- --/* -- * Structure of the super block -- */ --struct ext2_super_block { -- uint32_t s_inodes_count; /* Inodes count */ -- uint32_t s_blocks_count; /* Blocks count */ -- uint32_t s_r_blocks_count; /* Reserved blocks count */ -- uint32_t s_free_blocks_count; /* Free blocks count */ -- uint32_t s_free_inodes_count; /* Free inodes count */ -- uint32_t s_first_data_block; /* First Data Block */ -- uint32_t s_log_block_size; /* Block size */ -- int32_t s_log_frag_size; /* Fragment size */ -- uint32_t s_blocks_per_group; /* # Blocks per group */ -- uint32_t s_frags_per_group; /* # Fragments per group */ -- uint32_t s_inodes_per_group; /* # Inodes per group */ -- uint32_t s_mtime; /* Mount time */ -- uint32_t s_wtime; /* Write time */ -- uint16_t s_mnt_count; /* Mount count */ -- int16_t s_max_mnt_count; /* Maximal mount count */ -- uint16_t s_magic; /* Magic signature */ -- uint16_t s_state; /* File system state */ -- uint16_t s_errors; /* Behaviour when detecting errors */ -- uint16_t s_minor_rev_level; /* minor revision level */ -- uint32_t s_lastcheck; /* time of last check */ -- uint32_t s_checkinterval; /* max. time between checks */ -- uint32_t s_creator_os; /* OS */ -- uint32_t s_rev_level; /* Revision level */ -- uint16_t s_def_resuid; /* Default uid for reserved blocks */ -- uint16_t s_def_resgid; /* Default gid for reserved blocks */ -- /* -- * These fields are for EXT2_DYNAMIC_REV superblocks only. -- * -- * Note: the difference between the compatible feature set and -- * the incompatible feature set is that if there is a bit set -- * in the incompatible feature set that the kernel doesn't -- * know about, it should refuse to mount the filesystem. -- * -- * e2fsck's requirements are more strict; if it doesn't know -- * about a feature in either the compatible or incompatible -- * feature set, it must abort and not try to meddle with -- * things it doesn't understand... -- */ -- uint32_t s_first_ino; /* First non-reserved inode */ -- uint16_t s_inode_size; /* size of inode structure */ -- uint16_t s_block_group_nr; /* block group # of this superblock */ -- uint32_t s_feature_compat; /* compatible feature set */ -- uint32_t s_feature_incompat; /* incompatible feature set */ -- uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -- uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -- char s_volume_name[16]; /* volume name */ -- char s_last_mounted[64]; /* directory where last mounted */ -- uint32_t s_algorithm_usage_bitmap; /* For compression */ -- /* -- * Performance hints. Directory preallocation should only -- * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -- */ -- uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -- uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -- uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */ -- /* -- * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -- */ -- uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -- uint32_t s_journal_inum; /* inode number of journal file */ -- uint32_t s_journal_dev; /* device number of journal file */ -- uint32_t s_last_orphan; /* start of list of inodes to delete */ -- uint32_t s_hash_seed[4]; /* HTREE hash seed */ -- uint8_t s_def_hash_version; /* Default hash version to use */ -- uint8_t s_jnl_backup_type; /* Default type of journal backup */ -- uint16_t s_reserved_word_pad; -- uint32_t s_default_mount_opts; -- uint32_t s_first_meta_bg; /* First metablock group */ -- uint32_t s_mkfs_time; /* When the filesystem was created */ -- uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */ -- uint32_t s_reserved[172]; /* Padding to the end of the block */ --}; -- --/* -- * Codes for operating systems -- */ --#define EXT2_OS_LINUX 0 --#define EXT2_OS_HURD 1 --#define EXT2_OS_MASIX 2 --#define EXT2_OS_FREEBSD 3 --#define EXT2_OS_LITES 4 -- --/* -- * Revision levels -- */ --#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ --#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -- --#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV --#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -- --#define EXT2_GOOD_OLD_INODE_SIZE 128 -- --/* -- * Journal inode backup types -- */ --#define EXT3_JNL_BACKUP_BLOCKS 1 -- --/* -- * Feature set definitions -- */ -- --#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_compat & (mask) ) --#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_ro_compat & (mask) ) --#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_feature_incompat & (mask) ) -- --#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 --#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 --#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 --#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 --#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -- --#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 --#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 --/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */ -- --#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 --#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 --#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */ --#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */ --#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 --#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040 -- -- --#define EXT2_FEATURE_COMPAT_SUPP 0 --#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE) --#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -- EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -- EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -- --/* -- * Default values for user and/or group using reserved blocks -- */ --#define EXT2_DEF_RESUID 0 --#define EXT2_DEF_RESGID 0 -- --/* -- * Default mount options -- */ --#define EXT2_DEFM_DEBUG 0x0001 --#define EXT2_DEFM_BSDGROUPS 0x0002 --#define EXT2_DEFM_XATTR_USER 0x0004 --#define EXT2_DEFM_ACL 0x0008 --#define EXT2_DEFM_UID16 0x0010 --#define EXT3_DEFM_JMODE 0x0060 --#define EXT3_DEFM_JMODE_DATA 0x0020 --#define EXT3_DEFM_JMODE_ORDERED 0x0040 --#define EXT3_DEFM_JMODE_WBACK 0x0060 -- --/* -- * Structure of a directory entry -- */ --#define EXT2_NAME_LEN 255 -- --struct ext2_dir_entry { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint16_t name_len; /* Name length */ -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * The new version of the directory entry. Since EXT2 structures are -- * stored in intel byte order, and the name_len field could never be -- * bigger than 255 chars, it's safe to reclaim the extra byte for the -- * file_type field. -- */ --struct ext2_dir_entry_2 { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint8_t name_len; /* Name length */ -- uint8_t file_type; -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * Ext2 directory file types. Only the low 3 bits are used. The -- * other bits are reserved for now. -- */ --#define EXT2_FT_UNKNOWN 0 --#define EXT2_FT_REG_FILE 1 --#define EXT2_FT_DIR 2 --#define EXT2_FT_CHRDEV 3 --#define EXT2_FT_BLKDEV 4 --#define EXT2_FT_FIFO 5 --#define EXT2_FT_SOCK 6 --#define EXT2_FT_SYMLINK 7 -- --#define EXT2_FT_MAX 8 -- --/* -- * EXT2_DIR_PAD defines the directory entries boundaries -- * -- * NOTE: It must be a multiple of 4 -- */ --#define EXT2_DIR_PAD 4 --#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) --#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -- ~EXT2_DIR_ROUND) -- --#endif -diff --git a/e2fsprogs/e2fs_lib.h b/e2fsprogs/e2fs_lib.h -index 3905ee7..f2ae56f 100644 ---- a/e2fsprogs/e2fs_lib.h -+++ b/e2fsprogs/e2fs_lib.h -@@ -7,7 +7,7 @@ - */ - - /* Constants and structures */ --#include "e2fs_defs.h" -+#include "bb_e2fs_defs.h" - - PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN - -diff --git a/e2fsprogs/old_e2fsprogs/e2fsck.c b/e2fsprogs/old_e2fsprogs/e2fsck.c -index 8fffa7f..373e8ce 100644 ---- a/e2fsprogs/old_e2fsprogs/e2fsck.c -+++ b/e2fsprogs/old_e2fsprogs/e2fsck.c -@@ -11577,7 +11577,7 @@ static void check_resize_inode(e2fsck_t ctx) - * s_reserved_gdt_blocks must be zero. - */ - if (!(fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE)) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO)) { - if (fs->super->s_reserved_gdt_blocks) { - pctx.num = fs->super->s_reserved_gdt_blocks; - if (fix_problem(ctx, PR_0_NONZERO_RESERVED_GDT_BLOCKS, -@@ -11593,7 +11593,7 @@ static void check_resize_inode(e2fsck_t ctx) - retval = ext2fs_read_inode(fs, EXT2_RESIZE_INO, &inode); - if (retval) { - if (fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE) -+ EXT2_FEATURE_COMPAT_RESIZE_INO) - ctx->flags |= E2F_FLAG_RESIZE_INODE; - return; - } -@@ -11603,7 +11603,7 @@ static void check_resize_inode(e2fsck_t ctx) - * the resize inode is cleared; then we're done. - */ - if (!(fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE)) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO)) { - for (i=0; i < EXT2_N_BLOCKS; i++) { - if (inode.i_block[i]) - break; -diff --git a/e2fsprogs/old_e2fsprogs/e2p/feature.c b/e2fsprogs/old_e2fsprogs/e2p/feature.c -index b45754f..2102ed8 100644 ---- a/e2fsprogs/old_e2fsprogs/e2p/feature.c -+++ b/e2fsprogs/old_e2fsprogs/e2p/feature.c -@@ -34,7 +34,7 @@ static const struct feature feature_list[] = { - "ext_attr" }, - { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_DIR_INDEX, - "dir_index" }, -- { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INODE, -+ { E2P_FEATURE_COMPAT, EXT2_FEATURE_COMPAT_RESIZE_INO, - "resize_inode" }, - { E2P_FEATURE_RO_INCOMPAT, EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER, - "sparse_super" }, -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h b/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -index 6f4f708..80ea2cb 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2_fs.h -@@ -475,7 +475,7 @@ struct ext2_super_block { - #define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 - #define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 - #define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INODE 0x0010 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 - #define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 - - #define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h b/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -index 9f77201..39fb116 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/ext2fs.h -@@ -383,7 +383,7 @@ typedef struct ext2_icount *ext2_icount_t; - #define EXT2_LIB_FEATURE_COMPAT_SUPP (EXT2_FEATURE_COMPAT_DIR_PREALLOC|\ - EXT2_FEATURE_COMPAT_IMAGIC_INODES|\ - EXT3_FEATURE_COMPAT_HAS_JOURNAL|\ -- EXT2_FEATURE_COMPAT_RESIZE_INODE|\ -+ EXT2_FEATURE_COMPAT_RESIZE_INO|\ - EXT2_FEATURE_COMPAT_DIR_INDEX|\ - EXT2_FEATURE_COMPAT_EXT_ATTR) - -diff --git a/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c b/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -index ef1d343..da2d151 100644 ---- a/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -+++ b/e2fsprogs/old_e2fsprogs/ext2fs/initialize.c -@@ -284,7 +284,7 @@ retry: - /* - * check the number of reserved group descriptor table blocks - */ -- if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) -+ if (super->s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO) - rsv_gdt = calc_reserved_gdt_blocks(fs); - else - rsv_gdt = 0; -diff --git a/e2fsprogs/old_e2fsprogs/mke2fs.c b/e2fsprogs/old_e2fsprogs/mke2fs.c -index 7555650..35d717a 100644 ---- a/e2fsprogs/old_e2fsprogs/mke2fs.c -+++ b/e2fsprogs/old_e2fsprogs/mke2fs.c -@@ -757,7 +757,7 @@ static void parse_extended_opts(struct ext2_super_block *sb_param, - - if (rsv_gdb > 0) { - sb_param->s_feature_compat |= -- EXT2_FEATURE_COMPAT_RESIZE_INODE; -+ EXT2_FEATURE_COMPAT_RESIZE_INO; - - sb_param->s_reserved_gdt_blocks = rsv_gdb; - } -@@ -778,7 +778,7 @@ static void parse_extended_opts(struct ext2_super_block *sb_param, - - static __u32 ok_features[3] = { - EXT3_FEATURE_COMPAT_HAS_JOURNAL | -- EXT2_FEATURE_COMPAT_RESIZE_INODE | -+ EXT2_FEATURE_COMPAT_RESIZE_INO | - EXT2_FEATURE_COMPAT_DIR_INDEX, /* Compat */ - EXT2_FEATURE_INCOMPAT_FILETYPE| /* Incompat */ - EXT3_FEATURE_INCOMPAT_JOURNAL_DEV| -@@ -1123,7 +1123,7 @@ static int PRS(int argc, char **argv) - /* Since sparse_super is the default, we would only have a problem - * here if it was explicitly disabled. - */ -- if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INODE) && -+ if ((param.s_feature_compat & EXT2_FEATURE_COMPAT_RESIZE_INO) && - !(param.s_feature_ro_compat&EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER)) { - bb_error_msg_and_die("reserved online resize blocks not supported " - "on non-sparse filesystem"); -@@ -1312,7 +1312,7 @@ int mke2fs_main (int argc, char **argv) - reserve_inodes(fs); - create_bad_block_inode(fs, bb_list); - if (fs->super->s_feature_compat & -- EXT2_FEATURE_COMPAT_RESIZE_INODE) { -+ EXT2_FEATURE_COMPAT_RESIZE_INO) { - retval = ext2fs_create_resize_inode(fs); - mke2fs_error_msg_and_die(retval, "reserve blocks for online resize"); - } -diff --git a/e2fsprogs/tune2fs.c b/e2fsprogs/tune2fs.c -index 841d58a..46a745e 100644 ---- a/e2fsprogs/tune2fs.c -+++ b/e2fsprogs/tune2fs.c -@@ -8,7 +8,7 @@ - */ - #include "libbb.h" - #include --#include "bb_linux_ext2_fs.h" -+#include "bb_e2fs_defs.h" - - // storage helpers - char BUG_wrong_field_size(void); -diff --git a/include/bb_e2fs_defs.h b/include/bb_e2fs_defs.h -new file mode 100644 -index 0000000..7974497 ---- /dev/null -+++ b/include/bb_e2fs_defs.h -@@ -0,0 +1,561 @@ -+/* vi: set sw=4 ts=4: */ -+/* -+ * linux/include/linux/ext2_fs.h -+ * -+ * Copyright (C) 1992, 1993, 1994, 1995 -+ * Remy Card (card@masi.ibp.fr) -+ * Laboratoire MASI - Institut Blaise Pascal -+ * Universite Pierre et Marie Curie (Paris VI) -+ * -+ * Copyright (C) 1991, 1992 Linus Torvalds -+ */ -+ -+#ifndef LINUX_EXT2_FS_H -+#define LINUX_EXT2_FS_H 1 -+ -+/* -+ * Special inode numbers -+ */ -+#define EXT2_BAD_INO 1 /* Bad blocks inode */ -+#define EXT2_ROOT_INO 2 /* Root inode */ -+#define EXT2_ACL_IDX_INO 3 /* ACL inode */ -+#define EXT2_ACL_DATA_INO 4 /* ACL inode */ -+#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ -+#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -+#define EXT2_RESIZE_INO 7 /* Reserved group descriptors inode */ -+#define EXT2_JOURNAL_INO 8 /* Journal inode */ -+ -+/* First non-reserved inode for old ext2 filesystems */ -+#define EXT2_GOOD_OLD_FIRST_INO 11 -+ -+/* -+ * The second extended file system magic number -+ */ -+#define EXT2_SUPER_MAGIC 0xEF53 -+ -+/* Assume that user mode programs are passing in an ext2fs superblock, not -+ * a kernel struct super_block. This will allow us to call the feature-test -+ * macros from user land. */ -+#define EXT2_SB(sb) (sb) -+ -+/* -+ * Maximal count of links to a file -+ */ -+#define EXT2_LINK_MAX 32000 -+ -+/* -+ * Macro-instructions used to manage several block sizes -+ */ -+#define EXT2_MIN_BLOCK_LOG_SIZE 10 /* 1024 */ -+#define EXT2_MAX_BLOCK_LOG_SIZE 16 /* 65536 */ -+#define EXT2_MIN_BLOCK_SIZE (1 << EXT2_MIN_BLOCK_LOG_SIZE) -+#define EXT2_MAX_BLOCK_SIZE (1 << EXT2_MAX_BLOCK_LOG_SIZE) -+#define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) -+#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : (s)->s_inode_size) -+#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_FIRST_INO : (s)->s_first_ino) -+#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof(uint32_t)) -+ -+/* -+ * Macro-instructions used to manage fragments -+ */ -+#define EXT2_MIN_FRAG_SIZE EXT2_MIN_BLOCK_SIZE -+#define EXT2_MAX_FRAG_SIZE EXT2_MAX_BLOCK_SIZE -+#define EXT2_MIN_FRAG_LOG_SIZE EXT2_MIN_BLOCK_LOG_SIZE -+#define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) -+#define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -+ -+/* -+ * ACL structures -+ */ -+struct ext2_acl_header { /* Header of Access Control Lists */ -+ uint32_t aclh_size; -+ uint32_t aclh_file_count; -+ uint32_t aclh_acle_count; -+ uint32_t aclh_first_acle; -+}; -+ -+struct ext2_acl_entry { /* Access Control List Entry */ -+ uint32_t acle_size; -+ uint16_t acle_perms; /* Access permissions */ -+ uint16_t acle_type; /* Type of entry */ -+ uint16_t acle_tag; /* User or group identity */ -+ uint16_t acle_pad1; -+ uint32_t acle_next; /* Pointer on next entry for the */ -+ /* same inode or on next free entry */ -+}; -+ -+/* -+ * Structure of a blocks group descriptor -+ */ -+struct ext2_group_desc { -+ uint32_t bg_block_bitmap; /* Blocks bitmap block */ -+ uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -+ uint32_t bg_inode_table; /* Inodes table block */ -+ uint16_t bg_free_blocks_count; /* Free blocks count */ -+ uint16_t bg_free_inodes_count; /* Free inodes count */ -+ uint16_t bg_used_dirs_count; /* Directories count */ -+ uint16_t bg_pad; -+ uint32_t bg_reserved[3]; -+}; -+ -+/* -+ * Data structures used by the directory indexing feature -+ * -+ * Note: all of the multibyte integer fields are little endian. -+ */ -+ -+/* -+ * Note: dx_root_info is laid out so that if it should somehow get -+ * overlaid by a dirent the two low bits of the hash version will be -+ * zero. Therefore, the hash version mod 4 should never be 0. -+ * Sincerely, the paranoia department. -+ */ -+struct ext2_dx_root_info { -+ uint32_t reserved_zero; -+ uint8_t hash_version; /* 0 now, 1 at release */ -+ uint8_t info_length; /* 8 */ -+ uint8_t indirect_levels; -+ uint8_t unused_flags; -+}; -+ -+#define EXT2_HASH_LEGACY 0 -+#define EXT2_HASH_HALF_MD4 1 -+#define EXT2_HASH_TEA 2 -+ -+#define EXT2_HASH_FLAG_INCOMPAT 0x1 -+ -+struct ext2_dx_entry { -+ uint32_t hash; -+ uint32_t block; -+}; -+ -+struct ext2_dx_countlimit { -+ uint16_t limit; -+ uint16_t count; -+}; -+ -+ -+/* -+ * Macro-instructions used to manage group descriptors -+ */ -+#define EXT2_BLOCKS_PER_GROUP(s) (EXT2_SB(s)->s_blocks_per_group) -+#define EXT2_INODES_PER_GROUP(s) (EXT2_SB(s)->s_inodes_per_group) -+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) -+/* limits imposed by 16-bit value gd_free_{blocks,inode}_count */ -+#define EXT2_MAX_BLOCKS_PER_GROUP(s) ((1 << 16) - 8) -+#define EXT2_MAX_INODES_PER_GROUP(s) ((1 << 16) - EXT2_INODES_PER_BLOCK(s)) -+#define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) -+ -+/* -+ * Constants relative to the data blocks -+ */ -+#define EXT2_NDIR_BLOCKS 12 -+#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS -+#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) -+#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) -+#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -+ -+/* -+ * Inode flags -+ */ -+#define EXT2_SECRM_FL 0x00000001 /* Secure deletion */ -+#define EXT2_UNRM_FL 0x00000002 /* Undelete */ -+#define EXT2_COMPR_FL 0x00000004 /* Compress file */ -+#define EXT2_SYNC_FL 0x00000008 /* Synchronous updates */ -+#define EXT2_IMMUTABLE_FL 0x00000010 /* Immutable file */ -+#define EXT2_APPEND_FL 0x00000020 /* writes to file may only append */ -+#define EXT2_NODUMP_FL 0x00000040 /* do not dump file */ -+#define EXT2_NOATIME_FL 0x00000080 /* do not update atime */ -+/* Reserved for compression usage... */ -+#define EXT2_DIRTY_FL 0x00000100 -+#define EXT2_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */ -+#define EXT2_NOCOMPR_FL 0x00000400 /* Access raw compressed data */ -+#define EXT2_ECOMPR_FL 0x00000800 /* Compression error */ -+/* End compression flags --- maybe not all used */ -+#define EXT2_BTREE_FL 0x00001000 /* btree format dir */ -+#define EXT2_INDEX_FL 0x00001000 /* hash-indexed directory */ -+#define EXT2_IMAGIC_FL 0x00002000 -+#define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */ -+#define EXT2_NOTAIL_FL 0x00008000 /* file tail should not be merged */ -+#define EXT2_DIRSYNC_FL 0x00010000 /* Synchronous directory modifications */ -+#define EXT2_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/ -+#define EXT3_EXTENTS_FL 0x00080000 /* Inode uses extents */ -+#define EXT2_RESERVED_FL 0x80000000 /* reserved for ext2 lib */ -+ -+#define EXT2_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */ -+#define EXT2_FL_USER_MODIFIABLE 0x000080FF /* User modifiable flags */ -+ -+/* -+ * ioctl commands -+ */ -+#define EXT2_IOC_GETFLAGS _IOR('f', 1, long) -+#define EXT2_IOC_SETFLAGS _IOW('f', 2, long) -+#define EXT2_IOC_GETVERSION _IOR('v', 1, long) -+#define EXT2_IOC_SETVERSION _IOW('v', 2, long) -+ -+/* -+ * Structure of an inode on the disk -+ */ -+struct ext2_inode { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+}; -+ -+/* -+ * Permanent part of an large inode on the disk -+ */ -+struct ext2_inode_large { -+ uint16_t i_mode; /* File mode */ -+ uint16_t i_uid; /* Low 16 bits of Owner Uid */ -+ uint32_t i_size; /* Size in bytes */ -+ uint32_t i_atime; /* Access time */ -+ uint32_t i_ctime; /* Creation time */ -+ uint32_t i_mtime; /* Modification time */ -+ uint32_t i_dtime; /* Deletion Time */ -+ uint16_t i_gid; /* Low 16 bits of Group Id */ -+ uint16_t i_links_count; /* Links count */ -+ uint32_t i_blocks; /* Blocks count */ -+ uint32_t i_flags; /* File flags */ -+ union { -+ struct { -+ uint32_t l_i_reserved1; -+ } linux1; -+ struct { -+ uint32_t h_i_translator; -+ } hurd1; -+ struct { -+ uint32_t m_i_reserved1; -+ } masix1; -+ } osd1; /* OS dependent 1 */ -+ uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -+ uint32_t i_generation; /* File version (for NFS) */ -+ uint32_t i_file_acl; /* File ACL */ -+ uint32_t i_dir_acl; /* Directory ACL */ -+ uint32_t i_faddr; /* Fragment address */ -+ union { -+ struct { -+ uint8_t l_i_frag; /* Fragment number */ -+ uint8_t l_i_fsize; /* Fragment size */ -+ uint16_t i_pad1; -+ uint16_t l_i_uid_high; /* these 2 fields */ -+ uint16_t l_i_gid_high; /* were reserved2[0] */ -+ uint32_t l_i_reserved2; -+ } linux2; -+ struct { -+ uint8_t h_i_frag; /* Fragment number */ -+ uint8_t h_i_fsize; /* Fragment size */ -+ uint16_t h_i_mode_high; -+ uint16_t h_i_uid_high; -+ uint16_t h_i_gid_high; -+ uint32_t h_i_author; -+ } hurd2; -+ struct { -+ uint8_t m_i_frag; /* Fragment number */ -+ uint8_t m_i_fsize; /* Fragment size */ -+ uint16_t m_pad1; -+ uint32_t m_i_reserved2[2]; -+ } masix2; -+ } osd2; /* OS dependent 2 */ -+ uint16_t i_extra_isize; -+ uint16_t i_pad1; -+}; -+ -+#define i_size_high i_dir_acl -+ -+/* -+ * File system states -+ */ -+#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ -+#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -+ -+/* -+ * Mount flags -+ */ -+#define EXT2_MOUNT_CHECK 0x0001 /* Do mount-time checks */ -+#define EXT2_MOUNT_GRPID 0x0004 /* Create files with directory's group */ -+#define EXT2_MOUNT_DEBUG 0x0008 /* Some debugging messages */ -+#define EXT2_MOUNT_ERRORS_CONT 0x0010 /* Continue on errors */ -+#define EXT2_MOUNT_ERRORS_RO 0x0020 /* Remount fs ro on errors */ -+#define EXT2_MOUNT_ERRORS_PANIC 0x0040 /* Panic on errors */ -+#define EXT2_MOUNT_MINIX_DF 0x0080 /* Mimics the Minix statfs */ -+#define EXT2_MOUNT_NO_UID32 0x0200 /* Disable 32-bit UIDs */ -+ -+#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt -+#define set_opt(o, opt) o |= EXT2_MOUNT_##opt -+#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -+ EXT2_MOUNT_##opt) -+/* -+ * Maximal mount counts between two filesystem checks -+ */ -+#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ -+#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -+ -+/* -+ * Behaviour when detecting errors -+ */ -+#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ -+#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ -+#define EXT2_ERRORS_PANIC 3 /* Panic */ -+#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -+ -+/* -+ * Structure of the super block -+ */ -+struct ext2_super_block { -+ uint32_t s_inodes_count; /* Inodes count */ -+ uint32_t s_blocks_count; /* Blocks count */ -+ uint32_t s_r_blocks_count; /* Reserved blocks count */ -+ uint32_t s_free_blocks_count; /* Free blocks count */ -+ uint32_t s_free_inodes_count; /* Free inodes count */ -+ uint32_t s_first_data_block; /* First Data Block */ -+ uint32_t s_log_block_size; /* Block size */ -+ int32_t s_log_frag_size; /* Fragment size */ -+ uint32_t s_blocks_per_group; /* # Blocks per group */ -+ uint32_t s_frags_per_group; /* # Fragments per group */ -+ uint32_t s_inodes_per_group; /* # Inodes per group */ -+ uint32_t s_mtime; /* Mount time */ -+ uint32_t s_wtime; /* Write time */ -+ uint16_t s_mnt_count; /* Mount count */ -+ int16_t s_max_mnt_count; /* Maximal mount count */ -+ uint16_t s_magic; /* Magic signature */ -+ uint16_t s_state; /* File system state */ -+ uint16_t s_errors; /* Behaviour when detecting errors */ -+ uint16_t s_minor_rev_level; /* minor revision level */ -+ uint32_t s_lastcheck; /* time of last check */ -+ uint32_t s_checkinterval; /* max. time between checks */ -+ uint32_t s_creator_os; /* OS */ -+ uint32_t s_rev_level; /* Revision level */ -+ uint16_t s_def_resuid; /* Default uid for reserved blocks */ -+ uint16_t s_def_resgid; /* Default gid for reserved blocks */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ uint32_t s_first_ino; /* First non-reserved inode */ -+ uint16_t s_inode_size; /* size of inode structure */ -+ uint16_t s_block_group_nr; /* block group # of this superblock */ -+ uint32_t s_feature_compat; /* compatible feature set */ -+ uint32_t s_feature_incompat; /* incompatible feature set */ -+ uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -+ uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ uint32_t s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -+ */ -+ uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ uint16_t s_reserved_gdt_blocks; /* Per group table for online growth */ -+ /* -+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -+ uint32_t s_journal_inum; /* inode number of journal file */ -+ uint32_t s_journal_dev; /* device number of journal file */ -+ uint32_t s_last_orphan; /* start of list of inodes to delete */ -+ uint32_t s_hash_seed[4]; /* HTREE hash seed */ -+ uint8_t s_def_hash_version; /* Default hash version to use */ -+ uint8_t s_jnl_backup_type; /* Default type of journal backup */ -+ uint16_t s_reserved_word_pad; -+ uint32_t s_default_mount_opts; -+ uint32_t s_first_meta_bg; /* First metablock group */ -+ uint32_t s_mkfs_time; /* When the filesystem was created */ -+ uint32_t s_jnl_blocks[17]; /* Backup of the journal inode */ -+ uint32_t s_reserved[172]; /* Padding to the end of the block */ -+}; -+ -+/* -+ * Codes for operating systems -+ */ -+#define EXT2_OS_LINUX 0 -+#define EXT2_OS_HURD 1 -+#define EXT2_OS_MASIX 2 -+#define EXT2_OS_FREEBSD 3 -+#define EXT2_OS_LITES 4 -+ -+/* -+ * Revision levels -+ */ -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+ -+#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV -+#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -+ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+ -+/* -+ * Journal inode backup types -+ */ -+#define EXT3_JNL_BACKUP_BLOCKS 1 -+ -+/* -+ * Feature set definitions -+ */ -+ -+#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_compat & (mask) ) -+#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_ro_compat & (mask) ) -+#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -+ ( EXT2_SB(sb)->s_feature_incompat & (mask) ) -+ -+#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 -+#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 -+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 -+#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 -+#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 -+#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 -+ -+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 -+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 -+/* #define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 not used */ -+ -+#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 -+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 -+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */ -+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */ -+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 -+#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040 -+ -+ -+#define EXT2_FEATURE_COMPAT_SUPP 0 -+#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE) -+#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR) -+ -+/* -+ * Default values for user and/or group using reserved blocks -+ */ -+#define EXT2_DEF_RESUID 0 -+#define EXT2_DEF_RESGID 0 -+ -+/* -+ * Default mount options -+ */ -+#define EXT2_DEFM_DEBUG 0x0001 -+#define EXT2_DEFM_BSDGROUPS 0x0002 -+#define EXT2_DEFM_XATTR_USER 0x0004 -+#define EXT2_DEFM_ACL 0x0008 -+#define EXT2_DEFM_UID16 0x0010 -+#define EXT3_DEFM_JMODE 0x0060 -+#define EXT3_DEFM_JMODE_DATA 0x0020 -+#define EXT3_DEFM_JMODE_ORDERED 0x0040 -+#define EXT3_DEFM_JMODE_WBACK 0x0060 -+ -+/* -+ * Structure of a directory entry -+ */ -+#define EXT2_NAME_LEN 255 -+ -+struct ext2_dir_entry { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint16_t name_len; /* Name length */ -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * The new version of the directory entry. Since EXT2 structures are -+ * stored in intel byte order, and the name_len field could never be -+ * bigger than 255 chars, it's safe to reclaim the extra byte for the -+ * file_type field. -+ */ -+struct ext2_dir_entry_2 { -+ uint32_t inode; /* Inode number */ -+ uint16_t rec_len; /* Directory entry length */ -+ uint8_t name_len; /* Name length */ -+ uint8_t file_type; -+ char name[EXT2_NAME_LEN]; /* File name */ -+}; -+ -+/* -+ * Ext2 directory file types. Only the low 3 bits are used. The -+ * other bits are reserved for now. -+ */ -+#define EXT2_FT_UNKNOWN 0 -+#define EXT2_FT_REG_FILE 1 -+#define EXT2_FT_DIR 2 -+#define EXT2_FT_CHRDEV 3 -+#define EXT2_FT_BLKDEV 4 -+#define EXT2_FT_FIFO 5 -+#define EXT2_FT_SOCK 6 -+#define EXT2_FT_SYMLINK 7 -+ -+#define EXT2_FT_MAX 8 -+ -+/* -+ * EXT2_DIR_PAD defines the directory entries boundaries -+ * -+ * NOTE: It must be a multiple of 4 -+ */ -+#define EXT2_DIR_PAD 4 -+#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) -+#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -+ ~EXT2_DIR_ROUND) -+ -+#endif -diff --git a/include/bb_linux_ext2_fs.h b/include/bb_linux_ext2_fs.h -deleted file mode 100644 -index fdc470b..0000000 ---- a/include/bb_linux_ext2_fs.h -+++ /dev/null -@@ -1,547 +0,0 @@ --/* -- * Work around linux/ext2_fs.h breakage. -- * linux/ext2_fs.h might be removed from future kernel header distribution. -- * See https://bugzilla.kernel.org/show_bug.cgi?id=42986 -- * -- * Licensed under GPLv2, see file LICENSE in this source tree. -- */ --#ifndef BB_LINUX_EXT2_FS_H --#define BB_LINUX_EXT2_FS_H -- --/* -- * From linux/magic.h -- */ -- --#define EXT2_SUPER_MAGIC 0xEF53 --#define EXT3_SUPER_MAGIC 0xEF53 --#define EXT4_SUPER_MAGIC 0xEF53 -- --/* -- * From linux/ext2_fs.h, with minor changes. -- */ -- --/* -- * Copyright (C) 1992, 1993, 1994, 1995 -- * Remy Card (card@masi.ibp.fr) -- * Laboratoire MASI - Institut Blaise Pascal -- * Universite Pierre et Marie Curie (Paris VI) -- * -- * from -- * -- * linux/include/linux/minix_fs.h -- * -- * Copyright (C) 1991, 1992 Linus Torvalds -- */ -- --/* -- * The second extended filesystem constants/structures -- */ -- --/* -- * Define EXT2_RESERVATION to reserve data blocks for expanding files -- */ --#define EXT2_DEFAULT_RESERVE_BLOCKS 8 --/*max window size: 1024(direct blocks) + 3([t,d]indirect blocks) */ --#define EXT2_MAX_RESERVE_BLOCKS 1027 --#define EXT2_RESERVE_WINDOW_NOT_ALLOCATED 0 -- --/* -- * Special inode numbers -- */ --#define EXT2_BAD_INO 1 /* Bad blocks inode */ --#define EXT2_ROOT_INO 2 /* Root inode */ --#define EXT2_BOOT_LOADER_INO 5 /* Boot loader inode */ --#define EXT2_UNDEL_DIR_INO 6 /* Undelete directory inode */ -- --/* First non-reserved inode for old ext2 filesystems */ --#define EXT2_GOOD_OLD_FIRST_INO 11 -- --/* Assume that user mode programs are passing in an ext2fs superblock, not -- * a kernel struct super_block. This will allow us to call the feature-test -- * macros from user land. */ --#define EXT2_SB(sb) (sb) -- --/* -- * Maximal count of links to a file -- */ --#define EXT2_LINK_MAX 32000 -- --/* -- * Macro-instructions used to manage several block sizes -- */ --#define EXT2_MIN_BLOCK_SIZE 1024 --#define EXT2_MAX_BLOCK_SIZE 4096 --#define EXT2_MIN_BLOCK_LOG_SIZE 10 --# define EXT2_BLOCK_SIZE(s) (EXT2_MIN_BLOCK_SIZE << (s)->s_log_block_size) --#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (uint32_t)) --# define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) --#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_INODE_SIZE : \ -- (s)->s_inode_size) --#define EXT2_FIRST_INO(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -- EXT2_GOOD_OLD_FIRST_INO : \ -- (s)->s_first_ino) -- --/* -- * Macro-instructions used to manage fragments -- */ --#define EXT2_MIN_FRAG_SIZE 1024 --#define EXT2_MAX_FRAG_SIZE 4096 --#define EXT2_MIN_FRAG_LOG_SIZE 10 --# define EXT2_FRAG_SIZE(s) (EXT2_MIN_FRAG_SIZE << (s)->s_log_frag_size) --# define EXT2_FRAGS_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / EXT2_FRAG_SIZE(s)) -- --/* -- * Structure of a blocks group descriptor -- */ --struct ext2_group_desc --{ -- uint32_t bg_block_bitmap; /* Blocks bitmap block */ -- uint32_t bg_inode_bitmap; /* Inodes bitmap block */ -- uint32_t bg_inode_table; /* Inodes table block */ -- uint16_t bg_free_blocks_count; /* Free blocks count */ -- uint16_t bg_free_inodes_count; /* Free inodes count */ -- uint16_t bg_used_dirs_count; /* Directories count */ -- uint16_t bg_pad; -- uint32_t bg_reserved[3]; --}; -- --/* -- * Macro-instructions used to manage group descriptors -- */ --# define EXT2_BLOCKS_PER_GROUP(s) ((s)->s_blocks_per_group) --# define EXT2_DESC_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (struct ext2_group_desc)) --# define EXT2_INODES_PER_GROUP(s) ((s)->s_inodes_per_group) -- --/* -- * Constants relative to the data blocks -- */ --#define EXT2_NDIR_BLOCKS 12 --#define EXT2_IND_BLOCK EXT2_NDIR_BLOCKS --#define EXT2_DIND_BLOCK (EXT2_IND_BLOCK + 1) --#define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) --#define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) -- --/* -- * Inode flags (GETFLAGS/SETFLAGS) -- */ --#define EXT2_SECRM_FL FS_SECRM_FL /* Secure deletion */ --#define EXT2_UNRM_FL FS_UNRM_FL /* Undelete */ --#define EXT2_COMPR_FL FS_COMPR_FL /* Compress file */ --#define EXT2_SYNC_FL FS_SYNC_FL /* Synchronous updates */ --#define EXT2_IMMUTABLE_FL FS_IMMUTABLE_FL /* Immutable file */ --#define EXT2_APPEND_FL FS_APPEND_FL /* writes to file may only append */ --#define EXT2_NODUMP_FL FS_NODUMP_FL /* do not dump file */ --#define EXT2_NOATIME_FL FS_NOATIME_FL /* do not update atime */ --/* Reserved for compression usage... */ --#define EXT2_DIRTY_FL FS_DIRTY_FL --#define EXT2_COMPRBLK_FL FS_COMPRBLK_FL /* One or more compressed clusters */ --#define EXT2_NOCOMP_FL FS_NOCOMP_FL /* Don't compress */ --#define EXT2_ECOMPR_FL FS_ECOMPR_FL /* Compression error */ --/* End compression flags --- maybe not all used */ --#define EXT2_BTREE_FL FS_BTREE_FL /* btree format dir */ --#define EXT2_INDEX_FL FS_INDEX_FL /* hash-indexed directory */ --#define EXT2_IMAGIC_FL FS_IMAGIC_FL /* AFS directory */ --#define EXT2_JOURNAL_DATA_FL FS_JOURNAL_DATA_FL /* Reserved for ext3 */ --#define EXT2_NOTAIL_FL FS_NOTAIL_FL /* file tail should not be merged */ --#define EXT2_DIRSYNC_FL FS_DIRSYNC_FL /* dirsync behaviour (directories only) */ --#define EXT2_TOPDIR_FL FS_TOPDIR_FL /* Top of directory hierarchies*/ --#define EXT2_RESERVED_FL FS_RESERVED_FL /* reserved for ext2 lib */ -- --#define EXT2_FL_USER_VISIBLE FS_FL_USER_VISIBLE /* User visible flags */ --#define EXT2_FL_USER_MODIFIABLE FS_FL_USER_MODIFIABLE /* User modifiable flags */ -- --/* Flags that should be inherited by new inodes from their parent. */ --#define EXT2_FL_INHERITED (EXT2_SECRM_FL | EXT2_UNRM_FL | EXT2_COMPR_FL |\ -- EXT2_SYNC_FL | EXT2_IMMUTABLE_FL | EXT2_APPEND_FL |\ -- EXT2_NODUMP_FL | EXT2_NOATIME_FL | EXT2_COMPRBLK_FL|\ -- EXT2_NOCOMP_FL | EXT2_JOURNAL_DATA_FL |\ -- EXT2_NOTAIL_FL | EXT2_DIRSYNC_FL) -- --/* Flags that are appropriate for regular files (all but dir-specific ones). */ --#define EXT2_REG_FLMASK (~(EXT2_DIRSYNC_FL | EXT2_TOPDIR_FL)) -- --/* Flags that are appropriate for non-directories/regular files. */ --#define EXT2_OTHER_FLMASK (EXT2_NODUMP_FL | EXT2_NOATIME_FL) -- --/* Mask out flags that are inappropriate for the given type of inode. */ --static inline uint32_t ext2_mask_flags(mode_t mode, uint32_t flags) --{ -- if (S_ISDIR(mode)) -- return flags; -- else if (S_ISREG(mode)) -- return flags & EXT2_REG_FLMASK; -- else -- return flags & EXT2_OTHER_FLMASK; --} -- --/* -- * ioctl commands -- */ --#define EXT2_IOC_GETFLAGS FS_IOC_GETFLAGS --#define EXT2_IOC_SETFLAGS FS_IOC_SETFLAGS --#define EXT2_IOC_GETVERSION FS_IOC_GETVERSION --#define EXT2_IOC_SETVERSION FS_IOC_SETVERSION --#define EXT2_IOC_GETRSVSZ _IOR('f', 5, long) --#define EXT2_IOC_SETRSVSZ _IOW('f', 6, long) -- --/* -- * ioctl commands in 32 bit emulation -- */ --#define EXT2_IOC32_GETFLAGS FS_IOC32_GETFLAGS --#define EXT2_IOC32_SETFLAGS FS_IOC32_SETFLAGS --#define EXT2_IOC32_GETVERSION FS_IOC32_GETVERSION --#define EXT2_IOC32_SETVERSION FS_IOC32_SETVERSION -- --/* -- * Structure of an inode on the disk -- */ --struct ext2_inode { -- uint16_t i_mode; /* File mode */ -- uint16_t i_uid; /* Low 16 bits of Owner Uid */ -- uint32_t i_size; /* Size in bytes */ -- uint32_t i_atime; /* Access time */ -- uint32_t i_ctime; /* Creation time */ -- uint32_t i_mtime; /* Modification time */ -- uint32_t i_dtime; /* Deletion Time */ -- uint16_t i_gid; /* Low 16 bits of Group Id */ -- uint16_t i_links_count; /* Links count */ -- uint32_t i_blocks; /* Blocks count */ -- uint32_t i_flags; /* File flags */ -- union { -- struct { -- uint32_t l_i_reserved1; -- } linux1; -- struct { -- uint32_t h_i_translator; -- } hurd1; -- struct { -- uint32_t m_i_reserved1; -- } masix1; -- } osd1; /* OS dependent 1 */ -- uint32_t i_block[EXT2_N_BLOCKS];/* Pointers to blocks */ -- uint32_t i_generation; /* File version (for NFS) */ -- uint32_t i_file_acl; /* File ACL */ -- uint32_t i_dir_acl; /* Directory ACL */ -- uint32_t i_faddr; /* Fragment address */ -- union { -- struct { -- uint8_t l_i_frag; /* Fragment number */ -- uint8_t l_i_fsize; /* Fragment size */ -- uint16_t i_pad1; -- uint16_t l_i_uid_high; /* these 2 fields */ -- uint16_t l_i_gid_high; /* were reserved2[0] */ -- uint32_t l_i_reserved2; -- } linux2; -- struct { -- uint8_t h_i_frag; /* Fragment number */ -- uint8_t h_i_fsize; /* Fragment size */ -- uint16_t h_i_mode_high; -- uint16_t h_i_uid_high; -- uint16_t h_i_gid_high; -- uint32_t h_i_author; -- } hurd2; -- struct { -- uint8_t m_i_frag; /* Fragment number */ -- uint8_t m_i_fsize; /* Fragment size */ -- uint16_t m_pad1; -- uint32_t m_i_reserved2[2]; -- } masix2; -- } osd2; /* OS dependent 2 */ --}; -- --#define i_size_high i_dir_acl -- --#if defined(__KERNEL__) || defined(__linux__) --#define i_reserved1 osd1.linux1.l_i_reserved1 --#define i_frag osd2.linux2.l_i_frag --#define i_fsize osd2.linux2.l_i_fsize --#define i_uid_low i_uid --#define i_gid_low i_gid --#define i_uid_high osd2.linux2.l_i_uid_high --#define i_gid_high osd2.linux2.l_i_gid_high --#define i_reserved2 osd2.linux2.l_i_reserved2 --#endif -- --#ifdef __hurd__ --#define i_translator osd1.hurd1.h_i_translator --#define i_frag osd2.hurd2.h_i_frag --#define i_fsize osd2.hurd2.h_i_fsize --#define i_uid_high osd2.hurd2.h_i_uid_high --#define i_gid_high osd2.hurd2.h_i_gid_high --#define i_author osd2.hurd2.h_i_author --#endif -- --#ifdef __masix__ --#define i_reserved1 osd1.masix1.m_i_reserved1 --#define i_frag osd2.masix2.m_i_frag --#define i_fsize osd2.masix2.m_i_fsize --#define i_reserved2 osd2.masix2.m_i_reserved2 --#endif -- --/* -- * File system states -- */ --#define EXT2_VALID_FS 0x0001 /* Unmounted cleanly */ --#define EXT2_ERROR_FS 0x0002 /* Errors detected */ -- --/* -- * Mount flags -- */ --#define EXT2_MOUNT_CHECK 0x000001 /* Do mount-time checks */ --#define EXT2_MOUNT_OLDALLOC 0x000002 /* Don't use the new Orlov allocator */ --#define EXT2_MOUNT_GRPID 0x000004 /* Create files with directory's group */ --#define EXT2_MOUNT_DEBUG 0x000008 /* Some debugging messages */ --#define EXT2_MOUNT_ERRORS_CONT 0x000010 /* Continue on errors */ --#define EXT2_MOUNT_ERRORS_RO 0x000020 /* Remount fs ro on errors */ --#define EXT2_MOUNT_ERRORS_PANIC 0x000040 /* Panic on errors */ --#define EXT2_MOUNT_MINIX_DF 0x000080 /* Mimics the Minix statfs */ --#define EXT2_MOUNT_NOBH 0x000100 /* No buffer_heads */ --#define EXT2_MOUNT_NO_UID32 0x000200 /* Disable 32-bit UIDs */ --#define EXT2_MOUNT_XATTR_USER 0x004000 /* Extended user attributes */ --#define EXT2_MOUNT_POSIX_ACL 0x008000 /* POSIX Access Control Lists */ --#define EXT2_MOUNT_XIP 0x010000 /* Execute in place */ --#define EXT2_MOUNT_USRQUOTA 0x020000 /* user quota */ --#define EXT2_MOUNT_GRPQUOTA 0x040000 /* group quota */ --#define EXT2_MOUNT_RESERVATION 0x080000 /* Preallocation */ -- -- --#define clear_opt(o, opt) o &= ~EXT2_MOUNT_##opt --#define set_opt(o, opt) o |= EXT2_MOUNT_##opt --#define test_opt(sb, opt) (EXT2_SB(sb)->s_mount_opt & \ -- EXT2_MOUNT_##opt) --/* -- * Maximal mount counts between two filesystem checks -- */ --#define EXT2_DFL_MAX_MNT_COUNT 20 /* Allow 20 mounts */ --#define EXT2_DFL_CHECKINTERVAL 0 /* Don't use interval check */ -- --/* -- * Behaviour when detecting errors -- */ --#define EXT2_ERRORS_CONTINUE 1 /* Continue execution */ --#define EXT2_ERRORS_RO 2 /* Remount fs read-only */ --#define EXT2_ERRORS_PANIC 3 /* Panic */ --#define EXT2_ERRORS_DEFAULT EXT2_ERRORS_CONTINUE -- --/* -- * Structure of the super block -- */ --struct ext2_super_block { -- uint32_t s_inodes_count; /* Inodes count */ -- uint32_t s_blocks_count; /* Blocks count */ -- uint32_t s_r_blocks_count; /* Reserved blocks count */ -- uint32_t s_free_blocks_count; /* Free blocks count */ -- uint32_t s_free_inodes_count; /* Free inodes count */ -- uint32_t s_first_data_block; /* First Data Block */ -- uint32_t s_log_block_size; /* Block size */ -- uint32_t s_log_frag_size; /* Fragment size */ -- uint32_t s_blocks_per_group; /* # Blocks per group */ -- uint32_t s_frags_per_group; /* # Fragments per group */ -- uint32_t s_inodes_per_group; /* # Inodes per group */ -- uint32_t s_mtime; /* Mount time */ -- uint32_t s_wtime; /* Write time */ -- uint16_t s_mnt_count; /* Mount count */ -- uint16_t s_max_mnt_count; /* Maximal mount count */ -- uint16_t s_magic; /* Magic signature */ -- uint16_t s_state; /* File system state */ -- uint16_t s_errors; /* Behaviour when detecting errors */ -- uint16_t s_minor_rev_level; /* minor revision level */ -- uint32_t s_lastcheck; /* time of last check */ -- uint32_t s_checkinterval; /* max. time between checks */ -- uint32_t s_creator_os; /* OS */ -- uint32_t s_rev_level; /* Revision level */ -- uint16_t s_def_resuid; /* Default uid for reserved blocks */ -- uint16_t s_def_resgid; /* Default gid for reserved blocks */ -- /* -- * These fields are for EXT2_DYNAMIC_REV superblocks only. -- * -- * Note: the difference between the compatible feature set and -- * the incompatible feature set is that if there is a bit set -- * in the incompatible feature set that the kernel doesn't -- * know about, it should refuse to mount the filesystem. -- * -- * e2fsck's requirements are more strict; if it doesn't know -- * about a feature in either the compatible or incompatible -- * feature set, it must abort and not try to meddle with -- * things it doesn't understand... -- */ -- uint32_t s_first_ino; /* First non-reserved inode */ -- uint16_t s_inode_size; /* size of inode structure */ -- uint16_t s_block_group_nr; /* block group # of this superblock */ -- uint32_t s_feature_compat; /* compatible feature set */ -- uint32_t s_feature_incompat; /* incompatible feature set */ -- uint32_t s_feature_ro_compat; /* readonly-compatible feature set */ -- uint8_t s_uuid[16]; /* 128-bit uuid for volume */ -- char s_volume_name[16]; /* volume name */ -- char s_last_mounted[64]; /* directory where last mounted */ -- uint32_t s_algorithm_usage_bitmap; /* For compression */ -- /* -- * Performance hints. Directory preallocation should only -- * happen if the EXT2_COMPAT_PREALLOC flag is on. -- */ -- uint8_t s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -- uint8_t s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -- uint16_t s_padding1; -- /* -- * Journaling support valid if EXT3_FEATURE_COMPAT_HAS_JOURNAL set. -- */ -- uint8_t s_journal_uuid[16]; /* uuid of journal superblock */ -- uint32_t s_journal_inum; /* inode number of journal file */ -- uint32_t s_journal_dev; /* device number of journal file */ -- uint32_t s_last_orphan; /* start of list of inodes to delete */ -- uint32_t s_hash_seed[4]; /* HTREE hash seed */ -- uint8_t s_def_hash_version; /* Default hash version to use */ -- uint8_t s_reserved_char_pad; -- uint16_t s_reserved_word_pad; -- uint32_t s_default_mount_opts; -- uint32_t s_first_meta_bg; /* First metablock block group */ -- uint32_t s_reserved[190]; /* Padding to the end of the block */ --}; -- --/* -- * Codes for operating systems -- */ --#define EXT2_OS_LINUX 0 --#define EXT2_OS_HURD 1 --#define EXT2_OS_MASIX 2 --#define EXT2_OS_FREEBSD 3 --#define EXT2_OS_LITES 4 -- --/* -- * Revision levels -- */ --#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ --#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -- --#define EXT2_CURRENT_REV EXT2_GOOD_OLD_REV --#define EXT2_MAX_SUPP_REV EXT2_DYNAMIC_REV -- --#define EXT2_GOOD_OLD_INODE_SIZE 128 -- --/* -- * Feature set definitions -- */ -- --#define EXT2_HAS_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_compat & cpu_to_le32(mask) ) --#define EXT2_HAS_RO_COMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_ro_compat & cpu_to_le32(mask) ) --#define EXT2_HAS_INCOMPAT_FEATURE(sb,mask) \ -- ( EXT2_SB(sb)->s_es->s_feature_incompat & cpu_to_le32(mask) ) --#define EXT2_SET_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_compat |= cpu_to_le32(mask) --#define EXT2_SET_RO_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_ro_compat |= cpu_to_le32(mask) --#define EXT2_SET_INCOMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_incompat |= cpu_to_le32(mask) --#define EXT2_CLEAR_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_compat &= ~cpu_to_le32(mask) --#define EXT2_CLEAR_RO_COMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_ro_compat &= ~cpu_to_le32(mask) --#define EXT2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ -- EXT2_SB(sb)->s_es->s_feature_incompat &= ~cpu_to_le32(mask) -- --#define EXT2_FEATURE_COMPAT_DIR_PREALLOC 0x0001 --#define EXT2_FEATURE_COMPAT_IMAGIC_INODES 0x0002 --#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004 --#define EXT2_FEATURE_COMPAT_EXT_ATTR 0x0008 --#define EXT2_FEATURE_COMPAT_RESIZE_INO 0x0010 --#define EXT2_FEATURE_COMPAT_DIR_INDEX 0x0020 --#define EXT2_FEATURE_COMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001 --#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002 --#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004 --#define EXT2_FEATURE_RO_COMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_INCOMPAT_COMPRESSION 0x0001 --#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002 --#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 --#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 --#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010 --#define EXT2_FEATURE_INCOMPAT_ANY 0xffffffff -- --#define EXT2_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR --#define EXT2_FEATURE_INCOMPAT_SUPP (EXT2_FEATURE_INCOMPAT_FILETYPE| \ -- EXT2_FEATURE_INCOMPAT_META_BG) --#define EXT2_FEATURE_RO_COMPAT_SUPP (EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER| \ -- EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ -- EXT2_FEATURE_RO_COMPAT_BTREE_DIR) --#define EXT2_FEATURE_RO_COMPAT_UNSUPPORTED ~EXT2_FEATURE_RO_COMPAT_SUPP --#define EXT2_FEATURE_INCOMPAT_UNSUPPORTED ~EXT2_FEATURE_INCOMPAT_SUPP -- --/* -- * Default values for user and/or group using reserved blocks -- */ --#define EXT2_DEF_RESUID 0 --#define EXT2_DEF_RESGID 0 -- --/* -- * Default mount options -- */ --#define EXT2_DEFM_DEBUG 0x0001 --#define EXT2_DEFM_BSDGROUPS 0x0002 --#define EXT2_DEFM_XATTR_USER 0x0004 --#define EXT2_DEFM_ACL 0x0008 --#define EXT2_DEFM_UID16 0x0010 -- /* Not used by ext2, but reserved for use by ext3 */ --#define EXT3_DEFM_JMODE 0x0060 --#define EXT3_DEFM_JMODE_DATA 0x0020 --#define EXT3_DEFM_JMODE_ORDERED 0x0040 --#define EXT3_DEFM_JMODE_WBACK 0x0060 -- --/* -- * Structure of a directory entry -- */ --#define EXT2_NAME_LEN 255 -- --struct ext2_dir_entry { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint16_t name_len; /* Name length */ -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * The new version of the directory entry. Since EXT2 structures are -- * stored in intel byte order, and the name_len field could never be -- * bigger than 255 chars, it's safe to reclaim the extra byte for the -- * file_type field. -- */ --struct ext2_dir_entry_2 { -- uint32_t inode; /* Inode number */ -- uint16_t rec_len; /* Directory entry length */ -- uint8_t name_len; /* Name length */ -- uint8_t file_type; -- char name[EXT2_NAME_LEN]; /* File name */ --}; -- --/* -- * Ext2 directory file types. Only the low 3 bits are used. The -- * other bits are reserved for now. -- */ --enum { -- EXT2_FT_UNKNOWN = 0, -- EXT2_FT_REG_FILE = 1, -- EXT2_FT_DIR = 2, -- EXT2_FT_CHRDEV = 3, -- EXT2_FT_BLKDEV = 4, -- EXT2_FT_FIFO = 5, -- EXT2_FT_SOCK = 6, -- EXT2_FT_SYMLINK = 7, -- EXT2_FT_MAX --}; -- --/* -- * EXT2_DIR_PAD defines the directory entries boundaries -- * -- * NOTE: It must be a multiple of 4 -- */ --#define EXT2_DIR_PAD 4 --#define EXT2_DIR_ROUND (EXT2_DIR_PAD - 1) --#define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ -- ~EXT2_DIR_ROUND) --#define EXT2_MAX_REC_LEN ((1<<16)-1) -- --#endif -diff --git a/util-linux/mkfs_ext2.c b/util-linux/mkfs_ext2.c -index 2d9d720..69b25c9 100644 ---- a/util-linux/mkfs_ext2.c -+++ b/util-linux/mkfs_ext2.c -@@ -48,7 +48,7 @@ - - #include "libbb.h" - #include --#include "bb_linux_ext2_fs.h" -+#include "bb_e2fs_defs.h" - - #define ENABLE_FEATURE_MKFS_EXT2_RESERVED_GDT 0 - #define ENABLE_FEATURE_MKFS_EXT2_DIR_INDEX 1 --- -1.7.9.5 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch deleted file mode 100644 index 2f96179..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a7b406ba64b7a4d9c9610726cb72568fc9848f5d Mon Sep 17 00:00:00 2001 -From: Lauri Hintsala -Date: Wed, 14 Dec 2011 16:49:58 +0200 -Subject: [PATCH 03/10] ifupdown: remove interface from state_list if iface_up - fails - -Fix the issue where interface is set to the configured state even if -configuration has failed. Add error check to state setting logic. - -Signed-off-by: Lauri Hintsala -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 5946323..9c2cad2 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -1311,7 +1311,7 @@ int ifupdown_main(int argc UNUSED_PARAM, char **argv) - llist_t *state_list = read_iface_state(); - llist_t *iface_state = find_iface_state(state_list, iface); - -- if (cmds == iface_up) { -+ if (cmds == iface_up && !any_failures) { - char * const newiface = xasprintf("%s=%s", iface, liface); - if (iface_state == NULL) { - llist_add_to_end(&state_list, newiface); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch deleted file mode 100644 index d9c14aa..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0004-ifupdown-support-metric-for-static-default-gw.patch +++ /dev/null @@ -1,64 +0,0 @@ -From fecb0cbff5ca703f8fc00a8e0e93f1f2e3ae942b Mon Sep 17 00:00:00 2001 -From: Natanael Copa -Date: Fri, 17 Feb 2012 19:36:26 +0000 -Subject: [PATCH 04/10] ifupdown: support metric for static default gw - -This is useful when you have multiple ISPs with failover. It allows -setting the priority of the static gateway and makes it possible -to specify multiple static gateways. - -The ubuntu ifupdown supports it. - -function old new delta -.rodata 116725 116797 +72 ------------------------------------------------------------------------------- -(add/remove: 0/0 grow/shrink: 1/0 up/down: 72/0) Total: 72 bytes - text data bss dec hex filename - 953343 7313 8984 969640 ecba8 busybox_old - 953415 7313 8984 969712 ecbf0 busybox_unstripped - -Signed-off-by: Natanael Copa -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 9c2cad2..9f49619 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -403,11 +403,11 @@ static int FAST_FUNC static_up6(struct interface_defn_t *ifd, execfn *exec) - result = execute("ip addr add %address%/%netmask% dev %iface%[[ label %label%]]", ifd, exec); - result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec); - /* Was: "[[ ip ....%gateway% ]]". Removed extra spaces w/o checking */ -- result += execute("[[ip route add ::/0 via %gateway%]]", ifd, exec); -+ result += execute("[[ip route add ::/0 via %gateway%]][[ prio %metric%]]", ifd, exec); - # else - result = execute("ifconfig %iface%[[ media %media%]][[ hw %hwaddress%]][[ mtu %mtu%]] up", ifd, exec); - result += execute("ifconfig %iface% add %address%/%netmask%", ifd, exec); -- result += execute("[[route -A inet6 add ::/0 gw %gateway%]]", ifd, exec); -+ result += execute("[[route -A inet6 add ::/0 gw %gateway%[[ metric %metric%]]]]", ifd, exec); - # endif - return ((result == 3) ? 3 : 0); - } -@@ -490,7 +490,7 @@ static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) - result = execute("ip addr add %address%/%bnmask%[[ broadcast %broadcast%]] " - "dev %iface%[[ peer %pointopoint%]][[ label %label%]]", ifd, exec); - result += execute("ip link set[[ mtu %mtu%]][[ addr %hwaddress%]] %iface% up", ifd, exec); -- result += execute("[[ip route add default via %gateway% dev %iface%]]", ifd, exec); -+ result += execute("[[ip route add default via %gateway% dev %iface%[[ prio %metric%]]]]", ifd, exec); - return ((result == 3) ? 3 : 0); - # else - /* ifconfig said to set iface up before it processes hw %hwaddress%, -@@ -500,7 +500,7 @@ static int FAST_FUNC static_up(struct interface_defn_t *ifd, execfn *exec) - result += execute("ifconfig %iface% %address% netmask %netmask%" - "[[ broadcast %broadcast%]][[ pointopoint %pointopoint%]] ", - ifd, exec); -- result += execute("[[route add default gw %gateway% %iface%]]", ifd, exec); -+ result += execute("[[route add default gw %gateway%[[ metric %metric%]] %iface%]]", ifd, exec); - return ((result == 3) ? 3 : 0); - # endif - } --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch deleted file mode 100644 index ae1f725..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0005-ifupdown-improve-compatibility-with-Debian.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 7ec30bf273cbdf5f0ae335684939a883182e493e Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 23 Apr 2012 22:08:39 +0200 -Subject: [PATCH 05/10] ifupdown: improve compatibility with Debian - -Set environment variable 'PHASE'. -Treat post-up and pre-down as aliases for up and down. -Uses the same logic as ifupdown.nw from ifupdown-0.6.16. -Makes it possible to execute Debian's ifupdown script for -wpa-supplicant. - -Signed-off-by: Andreas Oberritter -Signed-off-by: Denys Vlasenko ---- - networking/ifupdown.c | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 9f49619..5c3dcec 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -140,8 +140,6 @@ static const char keywords_up_down[] ALIGN1 = - "up\0" - "down\0" - "pre-up\0" -- "pre-down\0" -- "post-up\0" - "post-down\0" - ; - -@@ -895,6 +893,11 @@ static struct interfaces_file_t *read_interfaces(const char *filename) - if (rest_of_line[0] == '\0') - bb_error_msg_and_die("option with empty value \"%s\"", buf); - -+ if (strcmp(first_word, "post-up") == 0) -+ first_word += 5; /* "up" */ -+ else if (strcmp(first_word, "pre-down") == 0) -+ first_word += 4; /* "down" */ -+ - /* If not one of "up", "down",... words... */ - if (index_in_strings(keywords_up_down, first_word) < 0) { - int i; -@@ -963,7 +966,7 @@ static char *setlocalenv(const char *format, const char *name, const char *value - return result; - } - --static void set_environ(struct interface_defn_t *iface, const char *mode) -+static void set_environ(struct interface_defn_t *iface, const char *mode, const char *opt) - { - int i; - char **pp; -@@ -976,7 +979,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - } - - /* note: last element will stay NULL: */ -- G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 6)); -+ G.my_environ = xzalloc(sizeof(char *) * (iface->n_options + 7)); - pp = G.my_environ; - - for (i = 0; i < iface->n_options; i++) { -@@ -990,6 +993,7 @@ static void set_environ(struct interface_defn_t *iface, const char *mode) - *pp++ = setlocalenv("%s=%s", "ADDRFAM", iface->address_family->name); - *pp++ = setlocalenv("%s=%s", "METHOD", iface->method->name); - *pp++ = setlocalenv("%s=%s", "MODE", mode); -+ *pp++ = setlocalenv("%s=%s", "PHASE", opt); - if (G.startup_PATH) - *pp++ = setlocalenv("%s=%s", "PATH", G.startup_PATH); - } -@@ -1044,21 +1048,21 @@ static int check(char *str) - static int iface_up(struct interface_defn_t *iface) - { - if (!iface->method->up(iface, check)) return -1; -- set_environ(iface, "start"); -+ set_environ(iface, "start", "pre-up"); - if (!execute_all(iface, "pre-up")) return 0; - if (!iface->method->up(iface, doit)) return 0; -+ set_environ(iface, "start", "post-up"); - if (!execute_all(iface, "up")) return 0; -- if (!execute_all(iface, "post-up")) return 0; - return 1; - } - - static int iface_down(struct interface_defn_t *iface) - { - if (!iface->method->down(iface,check)) return -1; -- set_environ(iface, "stop"); -- if (!execute_all(iface, "pre-down")) return 0; -+ set_environ(iface, "stop", "pre-down"); - if (!execute_all(iface, "down")) return 0; - if (!iface->method->down(iface, doit)) return 0; -+ set_environ(iface, "stop", "post-down"); - if (!execute_all(iface, "post-down")) return 0; - return 1; - } --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch deleted file mode 100644 index f061814..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch +++ /dev/null @@ -1,43 +0,0 @@ -From c011ab2fb52c2ee03aa9544b0d242683ee4362e1 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Fri, 27 Apr 2012 01:40:25 +0200 -Subject: [PATCH 06/10] get_linux_version_code: don't fail on 3.0-foo - -Fixes segmentation fault in mount (nfs): - - #0 __GI_____strtol_l_internal (nptr=0x0, endptr=0x0, base=10, group=, loc=0x77f6f3c8) at strtol_l.c:298 - #1 __GI_strtol (nptr=, endptr=, base=) at strtol.c:110 - #2 get_linux_version_code () at libbb/kernel_version.c:34 - #3 find_kernel_nfs_mount_version () at util-linux/mount.c:979 - -Signed-off-by: Andreas Oberritter ---- - libbb/kernel_version.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/libbb/kernel_version.c b/libbb/kernel_version.c -index a168a1e..12f1146 100644 ---- a/libbb/kernel_version.c -+++ b/libbb/kernel_version.c -@@ -20,7 +20,7 @@ - int FAST_FUNC get_linux_version_code(void) - { - struct utsname name; -- char *s; -+ char *s, *t; - int i, r; - - if (uname(&name) == -1) { -@@ -31,7 +31,8 @@ int FAST_FUNC get_linux_version_code(void) - s = name.release; - r = 0; - for (i = 0; i < 3; i++) { -- r = r * 256 + atoi(strtok(s, ".")); -+ t = strtok(s, "."); -+ r = r * 256 + (t ? atoi(t) : 0); - s = NULL; - } - return r; --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch deleted file mode 100644 index 742e79b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 4119652f74ce6f8f370df3c80076792d509bc941 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 16:15:50 +0200 -Subject: [PATCH 07/10] ifplugd: move read_pid to libbb/pidfile.c and rename - it to read_pidfile - -Signed-off-by: Andreas Oberritter ---- - include/libbb.h | 2 ++ - libbb/pidfile.c | 14 ++++++++++++++ - networking/ifplugd.c | 18 +----------------- - 3 files changed, 17 insertions(+), 17 deletions(-) - -diff --git a/include/libbb.h b/include/libbb.h -index 63d0419..e9538e7 100644 ---- a/include/libbb.h -+++ b/include/libbb.h -@@ -1031,10 +1031,12 @@ llist_t *llist_find_str(llist_t *first, const char *str) FAST_FUNC; - #if ENABLE_FEATURE_PIDFILE || defined(WANT_PIDFILE) - /* True only if we created pidfile which is *file*, not /dev/null etc */ - extern smallint wrote_pidfile; -+pid_t read_pidfile(const char *path) FAST_FUNC; - void write_pidfile(const char *path) FAST_FUNC; - #define remove_pidfile(path) do { if (wrote_pidfile) unlink(path); } while (0) - #else - enum { wrote_pidfile = 0 }; -+#define read_pidfile(path) ((void)0) - #define write_pidfile(path) ((void)0) - #define remove_pidfile(path) ((void)0) - #endif -diff --git a/libbb/pidfile.c b/libbb/pidfile.c -index a48dfc3..6734a2d 100644 ---- a/libbb/pidfile.c -+++ b/libbb/pidfile.c -@@ -13,6 +13,20 @@ - - smallint wrote_pidfile; - -+pid_t FAST_FUNC read_pidfile(const char *filename) -+{ -+ int len; -+ char buf[128]; -+ -+ len = open_read_close(filename, buf, 127); -+ if (len > 0) { -+ buf[len] = '\0'; -+ /* returns ULONG_MAX on error => -1 */ -+ return bb_strtoul(buf, NULL, 10); -+ } -+ return 0; -+} -+ - void FAST_FUNC write_pidfile(const char *path) - { - int pid_fd; -diff --git a/networking/ifplugd.c b/networking/ifplugd.c -index d8358cd..9a15576 100644 ---- a/networking/ifplugd.c -+++ b/networking/ifplugd.c -@@ -510,22 +510,6 @@ static NOINLINE int check_existence_through_netlink(void) - return G.iface_exists; - } - --#if ENABLE_FEATURE_PIDFILE --static NOINLINE pid_t read_pid(const char *filename) --{ -- int len; -- char buf[128]; -- -- len = open_read_close(filename, buf, 127); -- if (len > 0) { -- buf[len] = '\0'; -- /* returns ULONG_MAX on error => -1 */ -- return bb_strtoul(buf, NULL, 10); -- } -- return 0; --} --#endif -- - int ifplugd_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; - int ifplugd_main(int argc UNUSED_PARAM, char **argv) - { -@@ -552,7 +536,7 @@ int ifplugd_main(int argc UNUSED_PARAM, char **argv) - - #if ENABLE_FEATURE_PIDFILE - pidfile_name = xasprintf(_PATH_VARRUN"ifplugd.%s.pid", G.iface); -- pid_from_pidfile = read_pid(pidfile_name); -+ pid_from_pidfile = read_pidfile(pidfile_name); - - if (opts & FLAG_KILL) { - if (pid_from_pidfile > 0) --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch deleted file mode 100644 index 3b43d3d..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 517f8da0345752d3cc5e2c99b8acd88c60355373 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 16:20:36 +0200 -Subject: [PATCH 08/10] ifupdown: dhcp_down: wait until udhcpc has been killed - -* Otherwise there's a race condition between ifdown and udhcpc, - which executes deconfig scripts in /etc/udhcpc.d. - -Signed-off-by: Andreas Oberritter ---- - networking/ifupdown.c | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -diff --git a/networking/ifupdown.c b/networking/ifupdown.c -index 5c3dcec..35e5035 100644 ---- a/networking/ifupdown.c -+++ b/networking/ifupdown.c -@@ -618,18 +618,29 @@ static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) - static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd, execfn *exec) - { - int result; -- result = execute( -- "test -f /var/run/udhcpc.%iface%.pid && " -- "kill `cat /var/run/udhcpc.%iface%.pid` 2>/dev/null", -- ifd, exec); -+ char *pidfile_name; -+ pid_t pid_from_pidfile; -+ -+ pidfile_name = xasprintf(_PATH_VARRUN "udhcpc.%s.pid", ifd->iface); -+ pid_from_pidfile = read_pidfile(pidfile_name); -+ result = (pid_from_pidfile > 0); - /* Also bring the hardware interface down since - killing the dhcp client alone doesn't do it. - This enables consecutive ifup->ifdown->ifup */ - /* Sleep a bit, otherwise static_down tries to bring down interface too soon, - and it may come back up because udhcpc is still shutting down */ -- usleep(100000); -+ if (result && kill(pid_from_pidfile, SIGTERM) == 0) { -+ unsigned int i; -+ for (i = 0; i < 100; i++) { -+ if (kill(pid_from_pidfile, 0) < 0) { -+ result++; -+ break; -+ } -+ usleep(100000); -+ } -+ } - result += static_down(ifd, exec); -- return ((result == 3) ? 3 : 0); -+ return ((result == 4) ? 4 : 0); - } - # else - static int FAST_FUNC dhcp_down(struct interface_defn_t *ifd UNUSED_PARAM, --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch deleted file mode 100644 index b623e3f..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 7f3d0f0e58602e8d96988736d80ba28d31338ea2 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 14 May 2012 17:32:16 +0200 -Subject: [PATCH 09/10] udhcpc: calculate broadcast address if not given by - server - -* This is more efficient than doing it in the scripts - -Signed-off-by: Andreas Oberritter ---- - networking/udhcp/common.h | 2 +- - networking/udhcp/dhcpc.c | 16 ++++++++++++++++ - 2 files changed, 17 insertions(+), 1 deletion(-) - -diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h -index ad6991c..1517498 100644 ---- a/networking/udhcp/common.h -+++ b/networking/udhcp/common.h -@@ -122,7 +122,7 @@ enum { - //#define DHCP_ROOT_PATH 0x11 - //#define DHCP_IP_TTL 0x17 - //#define DHCP_MTU 0x1a --//#define DHCP_BROADCAST 0x1c -+#define DHCP_BROADCAST 0x1c - //#define DHCP_ROUTES 0x21 - //#define DHCP_NIS_DOMAIN 0x28 - //#define DHCP_NIS_SERVER 0x29 -diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index 4d755e6..9fbd3b3 100644 ---- a/networking/udhcp/dhcpc.c -+++ b/networking/udhcp/dhcpc.c -@@ -399,6 +399,22 @@ static char **fill_envp(struct dhcp_packet *packet) - } - i++; - } -+ /* Calculate the broadcast address, if it wasn't provided -+ * by the server, but a subnet mask of /30 or lower was given. -+ */ -+ if (udhcp_get_option(packet, DHCP_BROADCAST) == NULL) { -+ temp = udhcp_get_option(packet, DHCP_SUBNET); -+ if (temp) { -+ uint32_t subnet; -+ move_from_unaligned32(subnet, temp); -+ if (ntohl(subnet) <= 0xfffffffc) { -+ uint32_t broadcast = packet->yiaddr | ~subnet; -+ *curr = xmalloc(sizeof("broadcast=255.255.255.255")); -+ sprint_nip(*curr, "broadcast=", (uint8_t *)&broadcast); -+ putenv(*curr++); -+ } -+ } -+ } - return envp; - } - --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch deleted file mode 100644 index 489c735..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0010-udhcpc-obtain-hostname-from-OS-by-default.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 2b4773b6ae48fee56c60fb4a1835672cbca78aee Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Tue, 15 Jan 2013 17:33:53 +0100 -Subject: [PATCH 10/10] udhcpc: obtain hostname from OS by default - -* Doesn't require the 'hostname' option in /etc/network/interfaces, - and thus makes udhcpc behave like other clients. - -Signed-off-by: Andreas Oberritter ---- - networking/udhcp/dhcpc.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/networking/udhcp/dhcpc.c b/networking/udhcp/dhcpc.c -index 9fbd3b3..ec9f25d 100644 ---- a/networking/udhcp/dhcpc.c -+++ b/networking/udhcp/dhcpc.c -@@ -1117,6 +1117,13 @@ int udhcpc_main(int argc UNUSED_PARAM, char **argv) - ); - if (opt & (OPT_h|OPT_H)) - client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, str_h, 0); -+ else { -+ char hostname[256]; /* SUSv2: hostnames are <= 255 bytes */ -+ if (gethostname(hostname, sizeof(hostname)) == 0) { -+ hostname[sizeof(hostname) - 1] = '\0'; -+ client_config.hostname = alloc_dhcp_option(DHCP_HOST_NAME, hostname, 0); -+ } -+ } - if (opt & OPT_F) { - /* FQDN option format: [0x51][len][flags][0][0] */ - client_config.fqdn = alloc_dhcp_option(DHCP_FQDN, str_F, 3); --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch deleted file mode 100644 index b25d587..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/0011-mount-don-t-pass-option-auto-to-kernel.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7c462943dd3c283314e68e945d544dfbaaa4cb25 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter -Date: Mon, 22 Apr 2013 10:40:36 +0200 -Subject: [PATCH 11/11] mount: don't pass option "auto" to kernel - -Fixes the following error if "auto" is set in fs options: -| EXT3-fs (sda1): error: unrecognized mount option "auto" or missing value -| EXT4-fs (sda1): Unrecognized mount option "auto" or missing value -| XFS (sda1): unknown mount option [auto]. - -Signed-off-by: Andreas Oberritter ---- - util-linux/mount.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/util-linux/mount.c b/util-linux/mount.c -index 05e532c..670935d 100644 ---- a/util-linux/mount.c -+++ b/util-linux/mount.c -@@ -212,6 +212,7 @@ static const int32_t mount_options[] = { - IF_FEATURE_MOUNT_FSTAB( - /* "defaults" */ 0, - /* "quiet" 0 - do not filter out, vfat wants to see it */ -+ /* "auto" */ 0, - /* "noauto" */ MOUNT_NOAUTO, - /* "sw" */ MOUNT_SWAP, - /* "swap" */ MOUNT_SWAP, -@@ -269,6 +270,7 @@ static const char mount_option_str[] = - IF_FEATURE_MOUNT_FSTAB( - "defaults\0" - // "quiet\0" - do not filter out, vfat wants to see it -+ "auto\0" - "noauto\0" - "sw\0" - "swap\0" --- -1.7.10.4 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch deleted file mode 100644 index 43bbb8c..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/change-passwd-default-algorithm.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/loginutils/passwd.c b/loginutils/passwd.c -index 1cfafae..3231b23 100644 ---- a/loginutils/passwd.c -+++ b/loginutils/passwd.c -@@ -94,7 +94,7 @@ int passwd_main(int argc UNUSED_PARAM, char **argv) - }; - unsigned opt; - int rc; -- const char *opt_a = "d"; /* des */ -+ const char *opt_a = "sha512"; /* sha512 */ - const char *filename; - char *myname; - char *name; diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig deleted file mode 100644 index 25e9b3b..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/defconfig +++ /dev/null @@ -1,1013 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.19.4 -# Tue Jan 29 14:06:37 2013 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -# CONFIG_DESKTOP is not set -# CONFIG_EXTRA_COMPAT is not set -# CONFIG_INCLUDE_SUSv2 is not set -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -# CONFIG_FEATURE_INSTALLER is not set -# CONFIG_INSTALL_NO_USR is not set -# CONFIG_LOCALE_SUPPORT is not set -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y -CONFIG_SUBST_WCHAR=0 -CONFIG_LAST_SUPPORTED_WCHAR=0 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="mipsel-oe-linux-" -CONFIG_EXTRA_CFLAGS=" -Os -pipe -g -feliminate-unused-debug-types" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="./_install" - -# -# Busybox Library Tuning -# -CONFIG_FEATURE_SYSTEMD=y -CONFIG_FEATURE_RTMINMAX=y -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -CONFIG_FEATURE_FAST_TOP=y -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=63 -CONFIG_FEATURE_EDITING_SAVEHISTORY=y -CONFIG_FEATURE_REVERSE_SEARCH=y -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=64 -CONFIG_FEATURE_SKIP_ROOTFS=y -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -CONFIG_FEATURE_SEAMLESS_LZMA=y -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -# CONFIG_FEATURE_AR_LONG_FILENAMES is not set -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -# CONFIG_FEATURE_CPIO_O is not set -# CONFIG_FEATURE_CPIO_P is not set -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set -# CONFIG_LZOP is not set -# CONFIG_LZOP_COMPR_HIGH is not set -# CONFIG_RPM2CPIO is not set -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -# CONFIG_FEATURE_TAR_UNAME_GNAME is not set -# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set -# CONFIG_FEATURE_TAR_SELINUX is not set -# CONFIG_UNCOMPRESS is not set -CONFIG_UNLZMA=y -# CONFIG_FEATURE_LZMA_FAST is not set -# CONFIG_LZMA is not set -CONFIG_UNXZ=y -# CONFIG_XZ is not set -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -CONFIG_FEATURE_DATE_COMPAT=y -CONFIG_ID=y -CONFIG_GROUPS=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -# CONFIG_FEATURE_TR_EQUIV is not set -CONFIG_BASE64=y -CONFIG_WHO=y -CONFIG_USERS=y -# CONFIG_CAL is not set -# CONFIG_CATV is not set -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -# CONFIG_CKSUM is not set -# CONFIG_COMM is not set -CONFIG_CP=y -# CONFIG_FEATURE_CP_LONG_OPTIONS is not set -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -# CONFIG_EXPAND is not set -# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -# CONFIG_FOLD is not set -# CONFIG_FSYNC is not set -CONFIG_HEAD=y -# CONFIG_FEATURE_FANCY_HEAD is not set -# CONFIG_HOSTID is not set -# CONFIG_INSTALL is not set -# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -# CONFIG_FEATURE_MV_LONG_OPTIONS is not set -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -# CONFIG_PRINTENV is not set -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -CONFIG_FEATURE_FLOAT_SLEEP=y -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -# CONFIG_SPLIT is not set -# CONFIG_FEATURE_SPLIT_FANCY is not set -# CONFIG_STAT is not set -# CONFIG_FEATURE_STAT_FORMAT is not set -CONFIG_STTY=y -# CONFIG_SUM is not set -CONFIG_SYNC=y -# CONFIG_TAC is not set -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -# CONFIG_UNEXPAND is not set -# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -# CONFIG_FEATURE_WC_LARGE is not set -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -# CONFIG_FGCONSOLE is not set -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -# CONFIG_RESIZE is not set -# CONFIG_FEATURE_RESIZE_PRINT is not set -CONFIG_SETCONSOLE=y -# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set -CONFIG_SETFONT=y -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set -CONFIG_DEFAULT_SETFONT_DIR="" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -# CONFIG_FEATURE_LOADFONT_RAW is not set - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -# CONFIG_PIPE_PROGRESS is not set -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -# CONFIG_FEATURE_RUN_PARTS_FANCY is not set -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_PATCH=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=4096 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_REGEX_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_AWK=y -# CONFIG_FEATURE_AWK_LIBM is not set -CONFIG_CMP=y -CONFIG_DIFF=y -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -CONFIG_FEATURE_DIFF_DIR=y -# CONFIG_ED is not set -CONFIG_SED=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -CONFIG_FEATURE_FIND_DELETE=y -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -# CONFIG_HALT is not set -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -# CONFIG_INIT is not set -# CONFIG_FEATURE_USE_INITTAB is not set -# CONFIG_FEATURE_KILL_REMOVED is not set -CONFIG_FEATURE_KILL_DELAY=0 -# CONFIG_FEATURE_INIT_SCTTY is not set -# CONFIG_FEATURE_INIT_SYSLOG is not set -# CONFIG_FEATURE_EXTRA_QUIET is not set -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_INIT_TERMINAL_TYPE="" -# CONFIG_MESG is not set -# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set - -# -# Login/Password Management Utilities -# -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -# CONFIG_ADDUSER is not set -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -# CONFIG_FEATURE_CHECK_NAMES is not set -CONFIG_FIRST_SYSTEM_ID=0 -CONFIG_LAST_SYSTEM_ID=0 -# CONFIG_ADDGROUP is not set -# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set -# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set -# CONFIG_DELUSER is not set -# CONFIG_DELGROUP is not set -# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -CONFIG_FEATURE_SECURETTY=y -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -# CONFIG_CRYPTPW is not set -# CONFIG_CHPASSWD is not set -# CONFIG_SU is not set -# CONFIG_FEATURE_SU_SYSLOG is not set -# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set -CONFIG_SULOGIN=y -# CONFIG_VLOCK is not set - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -# CONFIG_FSCK is not set -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -# CONFIG_DEPMOD is not set - -# -# Options common to multiple modutils -# -# CONFIG_FEATURE_2_4_MODULES is not set -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -# CONFIG_BLOCKDEV is not set -# CONFIG_REV is not set -# CONFIG_ACPID is not set -# CONFIG_FEATURE_ACPID_COMPAT is not set -# CONFIG_BLKID is not set -# CONFIG_FEATURE_BLKID_TYPE is not set -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -# CONFIG_FDFLUSH is not set -# CONFIG_FDFORMAT is not set -CONFIG_FDISK=y -# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -# CONFIG_FEATURE_OSF_LABEL is not set -CONFIG_FEATURE_GPT_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -CONFIG_FLOCK=y -# CONFIG_FREERAMDISK is not set -# CONFIG_FSCK_MINIX is not set -# CONFIG_MKFS_EXT2 is not set -# CONFIG_MKFS_MINIX is not set -# CONFIG_FEATURE_MINIX2 is not set -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -# CONFIG_FEATURE_HEXDUMP_REVERSE is not set -CONFIG_HD=y -# CONFIG_HWCLOCK is not set -# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set -# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set -# CONFIG_IPCRM is not set -# CONFIG_IPCS is not set -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -# CONFIG_MDEV is not set -# CONFIG_FEATURE_MDEV_CONF is not set -# CONFIG_FEATURE_MDEV_RENAME is not set -# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set -# CONFIG_FEATURE_MDEV_EXEC is not set -# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_MOUNT=y -# CONFIG_FEATURE_MOUNT_FAKE is not set -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -# CONFIG_PIVOT_ROOT is not set -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -# CONFIG_RTCWAKE is not set -# CONFIG_SCRIPT is not set -# CONFIG_SCRIPTREPLAY is not set -# CONFIG_SETARCH is not set -CONFIG_SWAPONOFF=y -# CONFIG_FEATURE_SWAPON_PRI is not set -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -# CONFIG_FEATURE_MTAB_SUPPORT is not set -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_BTRFS=y -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -CONFIG_FEATURE_VOLUMEID_OCFS2=y -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y - -# -# Miscellaneous Utilities -# -# CONFIG_CONSPY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -# CONFIG_FEATURE_LESS_MARKS is not set -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_ASK_TERMINAL=y -# CONFIG_FEATURE_LESS_DASHCMD is not set -# CONFIG_FEATURE_LESS_LINENUMS is not set -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -CONFIG_SETSERIAL=y -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set -# CONFIG_ADJTIMEX is not set -CONFIG_BBCONFIG=y -CONFIG_FEATURE_COMPRESS_BBCONFIG=y -# CONFIG_BEEP is not set -CONFIG_FEATURE_BEEP_FREQ=0 -CONFIG_FEATURE_BEEP_LENGTH_MS=0 -# CONFIG_CHAT is not set -# CONFIG_FEATURE_CHAT_NOFAIL is not set -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -# CONFIG_FEATURE_CROND_D is not set -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/etc/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -# CONFIG_FEATURE_DC_LIBM is not set -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -# CONFIG_FLASH_LOCK is not set -# CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_SMALL is not set -# CONFIG_FEATURE_LAST_FANCY is not set -# CONFIG_HDPARM is not set -# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set -# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set -# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set -# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set -# CONFIG_MAKEDEVS is not set -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -# CONFIG_FEATURE_MAKEDEVS_TABLE is not set -# CONFIG_MAN is not set -CONFIG_MICROCOM=y -# CONFIG_MOUNTPOINT is not set -# CONFIG_MT is not set -# CONFIG_RAIDAUTORUN is not set -CONFIG_READAHEAD=y -# CONFIG_RFKILL is not set -# CONFIG_RUNLEVEL is not set -# CONFIG_RX is not set -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -# CONFIG_TTYSIZE is not set -CONFIG_VOLNAME=y -# CONFIG_WALL is not set -# CONFIG_WATCHDOG is not set - -# -# Networking Utilities -# -CONFIG_NAMEIF=y -CONFIG_FEATURE_NAMEIF_EXTENDED=y -CONFIG_NBDCLIENT=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_WHOIS=y -CONFIG_FEATURE_IPV6=y -# CONFIG_FEATURE_UNIX_LOCAL is not set -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -# CONFIG_ARPING is not set -CONFIG_BRCTL=y -CONFIG_FEATURE_BRCTL_FANCY=y -CONFIG_FEATURE_BRCTL_SHOW=y -# CONFIG_DNSD is not set -CONFIG_ETHER_WAKE=y -# CONFIG_FAKEIDENTD is not set -# CONFIG_FTPD is not set -# CONFIG_FEATURE_FTP_WRITE is not set -# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set -# CONFIG_FTPGET is not set -# CONFIG_FTPPUT is not set -# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -# CONFIG_FEATURE_HTTPD_GZIP is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -# CONFIG_FEATURE_IFCONFIG_SLIP is not set -# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set -CONFIG_FEATURE_IFCONFIG_HW=y -# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set -# CONFIG_IFENSLAVE is not set -# CONFIG_IFPLUGD is not set -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set -CONFIG_INETD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y -CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y -CONFIG_FEATURE_INETD_RPC=y -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -# CONFIG_FEATURE_IP_SHORT_FORMS is not set -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -# CONFIG_IPADDR is not set -# CONFIG_IPLINK is not set -# CONFIG_IPROUTE is not set -# CONFIG_IPTUNNEL is not set -# CONFIG_IPRULE is not set -# CONFIG_IPCALC is not set -# CONFIG_FEATURE_IPCALC_FANCY is not set -# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set -CONFIG_NETSTAT=y -CONFIG_FEATURE_NETSTAT_WIDE=y -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -# CONFIG_NTPD is not set -# CONFIG_FEATURE_NTPD_SERVER is not set -# CONFIG_PSCAN is not set -CONFIG_ROUTE=y -# CONFIG_SLATTACH is not set -# CONFIG_TCPSVD is not set -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -# CONFIG_FEATURE_TELNETD_STANDALONE is not set -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -# CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set -# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set -# CONFIG_TFTP_DEBUG is not set -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -CONFIG_FEATURE_TRACEROUTE_VERBOSE=y -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set -CONFIG_DHCPD_LEASES_FILE="" -CONFIG_UDHCPC=y -CONFIG_FEATURE_UDHCPC_ARPING=y -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_FEATURE_UDHCP_8021Q=y -CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b -T3 -A10" -# CONFIG_UDPSVD is not set -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -# CONFIG_ZCIP is not set - -# -# Print Utilities -# -# CONFIG_LPD is not set -# CONFIG_LPR is not set -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -# CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -# CONFIG_POPMAILDIR is not set -# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set -# CONFIG_REFORMIME is not set -# CONFIG_FEATURE_REFORMIME_COMPAT is not set -CONFIG_SENDMAIL=y - -# -# Process Utilities -# -CONFIG_IOSTAT=y -CONFIG_MPSTAT=y -CONFIG_NMETER=y -# CONFIG_PMAP is not set -CONFIG_POWERTOP=y -# CONFIG_PSTREE is not set -# CONFIG_PWDX is not set -CONFIG_SMEMCAP=y -# CONFIG_UPTIME is not set -# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set -# CONFIG_FREE is not set -# CONFIG_FUSER is not set -# CONFIG_KILL is not set -# CONFIG_KILLALL is not set -# CONFIG_KILLALL5 is not set -# CONFIG_PGREP is not set -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -# CONFIG_PKILL is not set -# CONFIG_PS is not set -# CONFIG_FEATURE_PS_WIDE is not set -# CONFIG_FEATURE_PS_TIME is not set -# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -# CONFIG_BB_SYSCTL is not set -# CONFIG_TOP is not set -# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set -# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set -# CONFIG_FEATURE_TOP_SMP_CPU is not set -# CONFIG_FEATURE_TOP_DECIMALS is not set -# CONFIG_FEATURE_TOP_SMP_PROCESS is not set -# CONFIG_FEATURE_TOPMEM is not set -# CONFIG_FEATURE_SHOW_THREADS is not set -# CONFIG_WATCH is not set - -# -# Runit Utilities -# -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -# CONFIG_SV is not set -CONFIG_SV_DEFAULT_SERVICE_DIR="" -# CONFIG_SVLOGD is not set -# CONFIG_CHPST is not set -# CONFIG_SETUIDGID is not set -# CONFIG_ENVUIDGID is not set -# CONFIG_ENVDIR is not set -# CONFIG_SOFTLIMIT is not set -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_IDLE_TIMEOUT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -# CONFIG_ASH_CMDCMD is not set -# CONFIG_ASH_MAIL is not set -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -# CONFIG_CTTYHACK is not set -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_FEATURE_BASH_IS_ASH=y -# CONFIG_FEATURE_BASH_IS_HUSH is not set -# CONFIG_FEATURE_BASH_IS_NONE is not set -CONFIG_SH_MATH_SUPPORT=y -# CONFIG_SH_MATH_SUPPORT_64 is not set -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_FEATURE_SH_HISTFILESIZE=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -CONFIG_FEATURE_SYSLOGD_DUP=y -CONFIG_FEATURE_SYSLOGD_CFG=y -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd deleted file mode 100755 index cf50bcd..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh -# -# start/stop inetd super server. - -if ! [ -x /usr/sbin/inetd ]; then - exit 0 -fi - -case "$1" in - start) - echo -n "Starting internet superserver:" - echo -n " inetd" ; start-stop-daemon -S -x /usr/sbin/inetd > /dev/null - echo "." - ;; - stop) - echo -n "Stopping internet superserver:" - echo -n " inetd" ; start-stop-daemon -K -x /usr/sbin/inetd > /dev/null - echo "." - ;; - restart) - echo -n "Restarting internet superserver:" - echo -n " inetd " - killall -HUP inetd - echo "." - ;; - *) - echo "Usage: /etc/init.d/inetd {start|stop|restart}" - exit 1 - ;; -esac - -exit 0 - diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf deleted file mode 100644 index bafaf40..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/inetd.conf +++ /dev/null @@ -1,23 +0,0 @@ -# /etc/inetd.conf: see inetd(8) for further informations. -# -# Internet server configuration database -# -# If you want to disable an entry so it isn't touched during -# package updates just comment it out with a single '#' character. -# -# -# -#:INTERNAL: Internal services -#echo stream tcp nowait root internal -#echo dgram udp wait root internal -#chargen stream tcp nowait root internal -#chargen dgram udp wait root internal -#discard stream tcp nowait root internal -#discard dgram udp wait root internal -#daytime stream tcp nowait root internal -#daytime dgram udp wait root internal -#time stream tcp nowait root internal -#time dgram udp wait root internal -ftp stream tcp nowait root /usr/sbin/vsftpd vsftpd -telnet stream tcp nowait root /usr/sbin/telnetd telnetd -8001 stream tcp nowait root /usr/bin/streamproxy streamproxy diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch deleted file mode 100644 index 9577c07..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox-1.19.4/mount_single_uuid.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: busybox-1.18.5/util-linux/mount.c -=================================================================== ---- busybox-1.18.5.orig/util-linux/mount.c -+++ busybox-1.18.5/util-linux/mount.c -@@ -1934,6 +1934,8 @@ int mount_main(int argc UNUSED_PARAM, ch - // "proc") or a full path from root - if (argv[0]) { - -+ // Check for UUID= or LABEL= entries too -+ resolve_mount_spec(&mtcur->mnt_fsname); - // Is this what we're looking for? - if (strcmp(argv[0], mtcur->mnt_fsname) != 0 - && strcmp(storage_path, mtcur->mnt_fsname) != 0 diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch new file mode 100644 index 0000000..b25d587 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/0011-mount-don-t-pass-option-auto-to-kernel.patch @@ -0,0 +1,38 @@ +From 7c462943dd3c283314e68e945d544dfbaaa4cb25 Mon Sep 17 00:00:00 2001 +From: Andreas Oberritter +Date: Mon, 22 Apr 2013 10:40:36 +0200 +Subject: [PATCH 11/11] mount: don't pass option "auto" to kernel + +Fixes the following error if "auto" is set in fs options: +| EXT3-fs (sda1): error: unrecognized mount option "auto" or missing value +| EXT4-fs (sda1): Unrecognized mount option "auto" or missing value +| XFS (sda1): unknown mount option [auto]. + +Signed-off-by: Andreas Oberritter +--- + util-linux/mount.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/util-linux/mount.c b/util-linux/mount.c +index 05e532c..670935d 100644 +--- a/util-linux/mount.c ++++ b/util-linux/mount.c +@@ -212,6 +212,7 @@ static const int32_t mount_options[] = { + IF_FEATURE_MOUNT_FSTAB( + /* "defaults" */ 0, + /* "quiet" 0 - do not filter out, vfat wants to see it */ ++ /* "auto" */ 0, + /* "noauto" */ MOUNT_NOAUTO, + /* "sw" */ MOUNT_SWAP, + /* "swap" */ MOUNT_SWAP, +@@ -269,6 +270,7 @@ static const char mount_option_str[] = + IF_FEATURE_MOUNT_FSTAB( + "defaults\0" + // "quiet\0" - do not filter out, vfat wants to see it ++ "auto\0" + "noauto\0" + "sw\0" + "swap\0" +-- +1.7.10.4 + diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig new file mode 100644 index 0000000..e81bdc7 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/defconfig @@ -0,0 +1,1038 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.22.1 +# Thu Jun 19 14:19:41 2014 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Busybox Settings +# + +# +# General Configuration +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_PLATFORM_LINUX=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +CONFIG_FEATURE_COMPRESS_USAGE=y +# CONFIG_FEATURE_INSTALLER is not set +# CONFIG_INSTALL_NO_USR is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +CONFIG_FEATURE_CHECK_UNICODE_IN_ENV=y +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_LONG_OPTS=y +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_UTMP=y +CONFIG_FEATURE_WTMP=y +CONFIG_FEATURE_PIDFILE=y +CONFIG_PID_FILE_PATH="/var/run" +CONFIG_FEATURE_SUID=y +CONFIG_FEATURE_SUID_CONFIG=y +CONFIG_FEATURE_SUID_CONFIG_QUIET=y +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" +CONFIG_FEATURE_SYSLOG=y +CONFIG_FEATURE_HAVE_RPC=y + +# +# Build Options +# +# CONFIG_STATIC is not set +# CONFIG_PIE is not set +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_LFS=y +CONFIG_CROSS_COMPILER_PREFIX="mipsel-oe-linux-" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS=" -Os -pipe -g -feliminate-unused-debug-types" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_WERROR is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Busybox Library Tuning +# +CONFIG_FEATURE_SYSTEMD=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=1 +CONFIG_SHA3_SMALL=1 +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_ETC_NETWORKS is not set +CONFIG_FEATURE_USE_TERMIOS=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +CONFIG_FEATURE_EDITING_VI=y +CONFIG_FEATURE_EDITING_HISTORY=63 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_ASK_TERMINAL=y +# CONFIG_FEATURE_NON_POSIX_CP is not set +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_COPYBUF_KB=64 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +CONFIG_FEATURE_SEAMLESS_LZMA=y +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +CONFIG_FEATURE_SEAMLESS_Z=y +CONFIG_AR=y +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +CONFIG_GUNZIP=y +CONFIG_BUNZIP2=y +CONFIG_UNLZMA=y +# CONFIG_FEATURE_LZMA_FAST is not set +# CONFIG_LZMA is not set +CONFIG_UNXZ=y +# CONFIG_XZ is not set +CONFIG_BZIP2=y +CONFIG_CPIO=y +# CONFIG_FEATURE_CPIO_O is not set +# CONFIG_FEATURE_CPIO_P is not set +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set +CONFIG_GZIP=y +# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set +CONFIG_GZIP_FAST=0 +# CONFIG_LZOP is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set +# CONFIG_FEATURE_TAR_TO_COMMAND is not set +# CONFIG_FEATURE_TAR_UNAME_GNAME is not set +# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +# CONFIG_FEATURE_DATE_NANO is not set +CONFIG_FEATURE_DATE_COMPAT=y +# CONFIG_HOSTID is not set +CONFIG_ID=y +CONFIG_GROUPS=y +CONFIG_TEST=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TOUCH=y +CONFIG_FEATURE_TOUCH_NODEREF=y +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_BASE64=y +CONFIG_WHO=y +CONFIG_USERS=y +# CONFIG_CAL is not set +# CONFIG_CATV is not set +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_FEATURE_CP_LONG_OPTIONS is not set +CONFIG_CUT=y +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_DIRNAME=y +CONFIG_DOS2UNIX=y +CONFIG_UNIX2DOS=y +CONFIG_DU=y +CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +CONFIG_FEATURE_ENV_LONG_OPTIONS=y +# CONFIG_EXPAND is not set +# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +CONFIG_FALSE=y +# CONFIG_FOLD is not set +# CONFIG_FSYNC is not set +CONFIG_HEAD=y +# CONFIG_FEATURE_FANCY_HEAD is not set +# CONFIG_INSTALL is not set +# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set +CONFIG_LN=y +CONFIG_LOGNAME=y +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +CONFIG_FEATURE_LS_COLOR=y +CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y +CONFIG_MD5SUM=y +CONFIG_MKDIR=y +CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MV=y +# CONFIG_FEATURE_MV_LONG_OPTIONS is not set +CONFIG_NICE=y +CONFIG_NOHUP=y +CONFIG_OD=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set +CONFIG_SEQ=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_FEATURE_FLOAT_SLEEP=y +CONFIG_SORT=y +CONFIG_FEATURE_SORT_BIG=y +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +# CONFIG_STAT is not set +# CONFIG_FEATURE_STAT_FORMAT is not set +CONFIG_STTY=y +# CONFIG_SUM is not set +CONFIG_SYNC=y +# CONFIG_TAC is not set +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TRUE=y +CONFIG_TTY=y +CONFIG_UNAME=y +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set +CONFIG_UNIQ=y +CONFIG_USLEEP=y +CONFIG_UUDECODE=y +CONFIG_UUENCODE=y +CONFIG_WC=y +# CONFIG_FEATURE_WC_LARGE is not set +CONFIG_WHOAMI=y +CONFIG_YES=y + +# +# Common options for cp and mv +# +CONFIG_FEATURE_PRESERVE_HARDLINKS=y + +# +# Common options for ls, more and telnet +# +CONFIG_FEATURE_AUTOWIDTH=y + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y + +# +# Console Utilities +# +CONFIG_CHVT=y +# CONFIG_FGCONSOLE is not set +CONFIG_CLEAR=y +CONFIG_DEALLOCVT=y +CONFIG_DUMPKMAP=y +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +CONFIG_RESET=y +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +CONFIG_SETCONSOLE=y +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +CONFIG_SETKEYCODES=y +CONFIG_SETLOGCONS=y +CONFIG_SHOWKEY=y + +# +# Common options for loadfont and setfont +# +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set + +# +# Debian Utilities +# +CONFIG_MKTEMP=y +# CONFIG_PIPE_PROGRESS is not set +CONFIG_RUN_PARTS=y +CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +CONFIG_START_STOP_DAEMON=y +CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y +CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y +CONFIG_WHICH=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +CONFIG_CMP=y +CONFIG_DIFF=y +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +CONFIG_FEATURE_DIFF_DIR=y +# CONFIG_ED is not set +CONFIG_PATCH=y +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +CONFIG_FEATURE_VI_REGEX_SEARCH=y +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +CONFIG_FEATURE_ALLOW_EXEC=y + +# +# Finding Utilities +# +CONFIG_FIND=y +CONFIG_FEATURE_FIND_PRINT0=y +CONFIG_FEATURE_FIND_MTIME=y +CONFIG_FEATURE_FIND_MMIN=y +CONFIG_FEATURE_FIND_PERM=y +CONFIG_FEATURE_FIND_TYPE=y +CONFIG_FEATURE_FIND_XDEV=y +CONFIG_FEATURE_FIND_MAXDEPTH=y +CONFIG_FEATURE_FIND_NEWER=y +CONFIG_FEATURE_FIND_INUM=y +CONFIG_FEATURE_FIND_EXEC=y +CONFIG_FEATURE_FIND_USER=y +CONFIG_FEATURE_FIND_GROUP=y +CONFIG_FEATURE_FIND_NOT=y +CONFIG_FEATURE_FIND_DEPTH=y +CONFIG_FEATURE_FIND_PAREN=y +CONFIG_FEATURE_FIND_SIZE=y +CONFIG_FEATURE_FIND_PRUNE=y +CONFIG_FEATURE_FIND_DELETE=y +CONFIG_FEATURE_FIND_PATH=y +CONFIG_FEATURE_FIND_REGEX=y +# CONFIG_FEATURE_FIND_CONTEXT is not set +CONFIG_FEATURE_FIND_LINKS=y +CONFIG_GREP=y +CONFIG_FEATURE_GREP_EGREP_ALIAS=y +CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_FEATURE_GREP_CONTEXT=y +CONFIG_XARGS=y +CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y +CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y +CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y +CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +# CONFIG_HALT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +# CONFIG_INIT is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +# CONFIG_FEATURE_EXTRA_QUIET is not set +# CONFIG_FEATURE_INIT_COREDUMPS is not set +# CONFIG_FEATURE_INITRD is not set +CONFIG_INIT_TERMINAL_TYPE="" +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set + +# +# Login/Password Management Utilities +# +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +CONFIG_FEATURE_SHADOWPASSWDS=y +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +CONFIG_USE_BB_CRYPT=y +CONFIG_USE_BB_CRYPT_SHA=y +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +CONFIG_GETTY=y +CONFIG_LOGIN=y +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_PAM is not set +CONFIG_LOGIN_SCRIPTS=y +CONFIG_FEATURE_NOLOGIN=y +CONFIG_FEATURE_SECURETTY=y +CONFIG_PASSWD=y +CONFIG_FEATURE_PASSWD_WEAK_CHECK=y +# CONFIG_CRYPTPW is not set +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="sha512" +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +CONFIG_SULOGIN=y +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +CONFIG_CHATTR=y +# CONFIG_FSCK is not set +CONFIG_LSATTR=y +CONFIG_TUNE2FS=y + +# +# Linux Module Utilities +# +CONFIG_MODINFO=y +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_INSMOD=y +CONFIG_RMMOD=y +CONFIG_LSMOD=y +CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +CONFIG_MODPROBE=y +CONFIG_FEATURE_MODPROBE_BLACKLIST=y +# CONFIG_DEPMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +CONFIG_FEATURE_CHECK_TAINTED_MODULE=y +CONFIG_FEATURE_MODUTILS_ALIAS=y +CONFIG_FEATURE_MODUTILS_SYMBOLS=y +CONFIG_DEFAULT_MODULES_DIR="/lib/modules" +CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" + +# +# Linux System Utilities +# +# CONFIG_BLOCKDEV is not set +CONFIG_FSTRIM=y +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_REV is not set +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_FBSET=y +CONFIG_FEATURE_FBSET_FANCY=y +CONFIG_FEATURE_FBSET_READMODE=y +# CONFIG_FDFLUSH is not set +# CONFIG_FDFORMAT is not set +CONFIG_FDISK=y +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +CONFIG_FEATURE_FDISK_WRITABLE=y +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +CONFIG_FEATURE_GPT_LABEL=y +CONFIG_FEATURE_FDISK_ADVANCED=y +CONFIG_FINDFS=y +CONFIG_FLOCK=y +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +CONFIG_MKFS_VFAT=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_FEATURE_HEXDUMP_REVERSE is not set +CONFIG_HD=y +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +CONFIG_LOSETUP=y +CONFIG_LSPCI=y +CONFIG_LSUSB=y +CONFIG_MKSWAP=y +CONFIG_FEATURE_MKSWAP_UUID=y +CONFIG_MORE=y +CONFIG_MOUNT=y +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +CONFIG_FEATURE_MOUNT_HELPERS=y +CONFIG_FEATURE_MOUNT_LABEL=y +CONFIG_FEATURE_MOUNT_NFS=y +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +# CONFIG_PIVOT_ROOT is not set +CONFIG_RDATE=y +CONFIG_RDEV=y +CONFIG_READPROFILE=y +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +CONFIG_SWAPONOFF=y +# CONFIG_FEATURE_SWAPON_PRI is not set +CONFIG_SWITCH_ROOT=y +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +CONFIG_VOLUMEID=y + +# +# Filesystem/Volume identification +# +CONFIG_FEATURE_VOLUMEID_BTRFS=y +CONFIG_FEATURE_VOLUMEID_CRAMFS=y +CONFIG_FEATURE_VOLUMEID_EXFAT=y +CONFIG_FEATURE_VOLUMEID_EXT=y +CONFIG_FEATURE_VOLUMEID_F2FS=y +CONFIG_FEATURE_VOLUMEID_FAT=y +CONFIG_FEATURE_VOLUMEID_HFS=y +CONFIG_FEATURE_VOLUMEID_ISO9660=y +CONFIG_FEATURE_VOLUMEID_JFS=y +CONFIG_FEATURE_VOLUMEID_LINUXRAID=y +CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y +CONFIG_FEATURE_VOLUMEID_LUKS=y +CONFIG_FEATURE_VOLUMEID_NILFS=y +CONFIG_FEATURE_VOLUMEID_NTFS=y +CONFIG_FEATURE_VOLUMEID_OCFS2=y +CONFIG_FEATURE_VOLUMEID_REISERFS=y +CONFIG_FEATURE_VOLUMEID_ROMFS=y +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +CONFIG_FEATURE_VOLUMEID_SYSV=y +CONFIG_FEATURE_VOLUMEID_UDF=y +CONFIG_FEATURE_VOLUMEID_XFS=y + +# +# Miscellaneous Utilities +# +# CONFIG_CONSPY is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +# CONFIG_FEATURE_LESS_MARKS is not set +CONFIG_FEATURE_LESS_REGEXP=y +CONFIG_FEATURE_LESS_WINCH=y +CONFIG_FEATURE_LESS_ASK_TERMINAL=y +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +# CONFIG_RFKILL is not set +CONFIG_SETSERIAL=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_WALL is not set +# CONFIG_ADJTIMEX is not set +CONFIG_BBCONFIG=y +CONFIG_FEATURE_COMPRESS_BBCONFIG=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +CONFIG_CHRT=y +CONFIG_CROND=y +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/etc/cron" +CONFIG_CRONTAB=y +CONFIG_DC=y +# CONFIG_FEATURE_DC_LIBM is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +CONFIG_DEVMEM=y +CONFIG_EJECT=y +CONFIG_FEATURE_EJECT_SCSI=y +CONFIG_FBSPLASH=y +# CONFIG_FLASHCP is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASH_ERASEALL is not set +CONFIG_IONICE=y +CONFIG_INOTIFYD=y +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_SMALL is not set +# CONFIG_FEATURE_LAST_FANCY is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +CONFIG_MICROCOM=y +# CONFIG_MOUNTPOINT is not set +# CONFIG_MT is not set +# CONFIG_RAIDAUTORUN is not set +CONFIG_READAHEAD=y +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETSID=y +CONFIG_STRINGS=y +CONFIG_TASKSET=y +CONFIG_FEATURE_TASKSET_FANCY=y +CONFIG_TIME=y +CONFIG_TIMEOUT=y +# CONFIG_TTYSIZE is not set +CONFIG_VOLNAME=y +# CONFIG_WATCHDOG is not set + +# +# Networking Utilities +# +CONFIG_NAMEIF=y +CONFIG_FEATURE_NAMEIF_EXTENDED=y +CONFIG_NBDCLIENT=y +CONFIG_NC=y +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +CONFIG_WHOIS=y +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +CONFIG_ARP=y +# CONFIG_ARPING is not set +CONFIG_BRCTL=y +CONFIG_FEATURE_BRCTL_FANCY=y +CONFIG_FEATURE_BRCTL_SHOW=y +# CONFIG_DNSD is not set +CONFIG_ETHER_WAKE=y +# CONFIG_FAKEIDENTD is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +CONFIG_HOSTNAME=y +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +# CONFIG_FEATURE_IFCONFIG_SLIP is not set +# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set +CONFIG_FEATURE_IFCONFIG_HW=y +# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +CONFIG_IFUPDOWN=y +CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" +CONFIG_FEATURE_IFUPDOWN_IP=y +CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y +# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set +CONFIG_FEATURE_IFUPDOWN_IPV4=y +CONFIG_FEATURE_IFUPDOWN_IPV6=y +CONFIG_FEATURE_IFUPDOWN_MAPPING=y +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +CONFIG_INETD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y +CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y +CONFIG_FEATURE_INETD_RPC=y +CONFIG_IP=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +# CONFIG_FEATURE_IP_SHORT_FORMS is not set +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPADDR is not set +# CONFIG_IPLINK is not set +# CONFIG_IPROUTE is not set +# CONFIG_IPTUNNEL is not set +# CONFIG_IPRULE is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_TCPSVD is not set +CONFIG_TELNET=y +CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_TELNETD=y +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_TFTPD is not set + +# +# Common options for tftp/tftpd +# +CONFIG_FEATURE_TFTP_GET=y +CONFIG_FEATURE_TFTP_PUT=y +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TRACEROUTE=y +CONFIG_TRACEROUTE6=y +CONFIG_FEATURE_TRACEROUTE_VERBOSE=y +# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set +CONFIG_FEATURE_TRACEROUTE_USE_ICMP=y +CONFIG_TUNCTL=y +CONFIG_FEATURE_TUNCTL_UG=y +# CONFIG_UDHCPC6 is not set +# CONFIG_UDHCPD is not set +# CONFIG_DHCPRELAY is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +CONFIG_DHCPD_LEASES_FILE="" +CONFIG_UDHCPC=y +CONFIG_FEATURE_UDHCPC_ARPING=y +# CONFIG_FEATURE_UDHCP_PORT is not set +CONFIG_UDHCP_DEBUG=0 +# CONFIG_FEATURE_UDHCP_RFC3397 is not set +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b -T3 -A10" +# CONFIG_UDPSVD is not set +CONFIG_VCONFIG=y +CONFIG_WGET=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_TIMEOUT=y +# CONFIG_ZCIP is not set + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +CONFIG_FEATURE_MIME_CHARSET="us-ascii" +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +CONFIG_SENDMAIL=y + +# +# Process Utilities +# +CONFIG_IOSTAT=y +CONFIG_LSOF=y +CONFIG_MPSTAT=y +CONFIG_NMETER=y +# CONFIG_PMAP is not set +CONFIG_POWERTOP=y +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +CONFIG_SMEMCAP=y +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +# CONFIG_UPTIME is not set +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_FREE is not set +# CONFIG_FUSER is not set +# CONFIG_KILL is not set +# CONFIG_KILLALL is not set +# CONFIG_KILLALL5 is not set +# CONFIG_PGREP is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PKILL is not set +# CONFIG_PS is not set +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +CONFIG_RENICE=y +# CONFIG_BB_SYSCTL is not set +# CONFIG_FEATURE_SHOW_THREADS is not set +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVLOGD is not set +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_CHCON is not set +# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_SETSEBOOL is not set +# CONFIG_SESTATUS is not set + +# +# Shells +# +CONFIG_ASH=y +CONFIG_ASH_BASH_COMPAT=y +CONFIG_ASH_IDLE_TIMEOUT=y +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_BUILTIN_ECHO=y +CONFIG_ASH_BUILTIN_PRINTF=y +CONFIG_ASH_BUILTIN_TEST=y +# CONFIG_ASH_CMDCMD is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +CONFIG_ASH_RANDOM_SUPPORT=y +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_CTTYHACK is not set +# CONFIG_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_MSH is not set +CONFIG_FEATURE_SH_IS_ASH=y +# CONFIG_FEATURE_SH_IS_HUSH is not set +# CONFIG_FEATURE_SH_IS_NONE is not set +CONFIG_FEATURE_BASH_IS_ASH=y +# CONFIG_FEATURE_BASH_IS_HUSH is not set +# CONFIG_FEATURE_BASH_IS_NONE is not set +CONFIG_SH_MATH_SUPPORT=y +# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_HISTFILESIZE=y + +# +# System Logging Utilities +# +CONFIG_SYSLOGD=y +CONFIG_FEATURE_ROTATE_LOGFILE=y +CONFIG_FEATURE_REMOTE_LOG=y +CONFIG_FEATURE_SYSLOGD_DUP=y +CONFIG_FEATURE_SYSLOGD_CFG=y +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 +CONFIG_FEATURE_IPC_SYSLOG=y +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 +CONFIG_LOGREAD=y +CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y +CONFIG_FEATURE_KMSG_SYSLOG=y +CONFIG_KLOGD=y + +# +# klogd should not be used together with syslog to kernel printk buffer +# +CONFIG_FEATURE_KLOGD_KLOGCTL=y +CONFIG_LOGGER=y diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd new file mode 100755 index 0000000..cf50bcd --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd @@ -0,0 +1,33 @@ +#!/bin/sh +# +# start/stop inetd super server. + +if ! [ -x /usr/sbin/inetd ]; then + exit 0 +fi + +case "$1" in + start) + echo -n "Starting internet superserver:" + echo -n " inetd" ; start-stop-daemon -S -x /usr/sbin/inetd > /dev/null + echo "." + ;; + stop) + echo -n "Stopping internet superserver:" + echo -n " inetd" ; start-stop-daemon -K -x /usr/sbin/inetd > /dev/null + echo "." + ;; + restart) + echo -n "Restarting internet superserver:" + echo -n " inetd " + killall -HUP inetd + echo "." + ;; + *) + echo "Usage: /etc/init.d/inetd {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 + diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf new file mode 100644 index 0000000..bafaf40 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/inetd.conf @@ -0,0 +1,23 @@ +# /etc/inetd.conf: see inetd(8) for further informations. +# +# Internet server configuration database +# +# If you want to disable an entry so it isn't touched during +# package updates just comment it out with a single '#' character. +# +# +# +#:INTERNAL: Internal services +#echo stream tcp nowait root internal +#echo dgram udp wait root internal +#chargen stream tcp nowait root internal +#chargen dgram udp wait root internal +#discard stream tcp nowait root internal +#discard dgram udp wait root internal +#daytime stream tcp nowait root internal +#daytime dgram udp wait root internal +#time stream tcp nowait root internal +#time dgram udp wait root internal +ftp stream tcp nowait root /usr/sbin/vsftpd vsftpd +telnet stream tcp nowait root /usr/sbin/telnetd telnetd +8001 stream tcp nowait root /usr/bin/streamproxy streamproxy diff --git a/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch new file mode 100644 index 0000000..9577c07 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox-1.22.1/mount_single_uuid.patch @@ -0,0 +1,13 @@ +Index: busybox-1.18.5/util-linux/mount.c +=================================================================== +--- busybox-1.18.5.orig/util-linux/mount.c ++++ busybox-1.18.5/util-linux/mount.c +@@ -1934,6 +1934,8 @@ int mount_main(int argc UNUSED_PARAM, ch + // "proc") or a full path from root + if (argv[0]) { + ++ // Check for UUID= or LABEL= entries too ++ resolve_mount_spec(&mtcur->mnt_fsname); + // Is this what we're looking for? + if (strcmp(argv[0], mtcur->mnt_fsname) != 0 + && strcmp(storage_path, mtcur->mnt_fsname) != 0 diff --git a/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend b/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend deleted file mode 100644 index cf4cd40..0000000 --- a/meta-openvuplus/recipes-core/busybox/busybox_1.19.4.bbappend +++ /dev/null @@ -1,42 +0,0 @@ -PR .= "-vuplus11" - -SRC_URI += " \ - file://0001-ifupdown-support-post-up-pre-down-hooks.patch \ - file://0002-ifupdown-code-shrink.patch \ - file://0003-ifupdown-remove-interface-from-state_list-if-iface_u.patch \ - file://0004-ifupdown-support-metric-for-static-default-gw.patch \ - file://0005-ifupdown-improve-compatibility-with-Debian.patch \ - file://0006-get_linux_version_code-don-t-fail-on-3.0-foo.patch \ - file://0007-ifplugd-move-read_pid-to-libbb-pidfile.c-and-rename-.patch \ - file://0009-udhcpc-calculate-broadcast-address-if-not-given-by-s.patch \ - file://0010-udhcpc-obtain-hostname-from-OS-by-default.patch \ - file://0011-mount-don-t-pass-option-auto-to-kernel.patch \ - file://0001-work-around-linux-ext2_fs.h-breakage.patch \ - file://0002-Create-and-use-our-own-copy-of-linux-ext2_fs.h.patch \ - file://0003-Drop-include-bb_linux_ext2_fs.h-use-existing-e2fspro.patch \ - file://mount_single_uuid.patch \ - file://change-passwd-default-algorithm.patch \ - file://inetd \ - file://inetd.conf \ -" -# 0008-ifupdown-dhcp_down-wait-until-udhcpc-has-been-killed.patch is removed. if patched, postdown is not working.(/etc/network/interfaces) - -DEPENDS += "mtd-utils" - -PACKAGES =+ "${PN}-inetd" -INITSCRIPT_PACKAGES += "${PN}-inetd" -INITSCRIPT_NAME_${PN}-inetd = "inetd.${BPN}" -CONFFILES_${PN}-inetd = "${sysconfdir}/inetd.conf" -FILES_${PN}-inetd = "${sysconfdir}/init.d/inetd.${BPN} ${sysconfdir}/inetd.conf" -RDEPENDS_${PN}-inetd += "${PN}" - -RRECOMMENDS_${PN} += "${PN}-inetd" - -do_install_append() { - if grep -q "CONFIG_CRONTAB=y" ${WORKDIR}/defconfig; then - install -d ${D}${sysconfdir}/cron/crontabs - fi -} - -FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" - diff --git a/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend b/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend new file mode 100644 index 0000000..52c9f78 --- /dev/null +++ b/meta-openvuplus/recipes-core/busybox/busybox_1.22.1.bbappend @@ -0,0 +1,28 @@ +PR .= "-vuplus0" + +SRC_URI += " \ + file://0011-mount-don-t-pass-option-auto-to-kernel.patch \ + file://mount_single_uuid.patch \ + file://inetd \ + file://inetd.conf \ +" + +DEPENDS += "mtd-utils" + +PACKAGES =+ "${PN}-inetd" +INITSCRIPT_PACKAGES += "${PN}-inetd" +INITSCRIPT_NAME_${PN}-inetd = "inetd.${BPN}" +CONFFILES_${PN}-inetd = "${sysconfdir}/inetd.conf" +FILES_${PN}-inetd = "${sysconfdir}/init.d/inetd.${BPN} ${sysconfdir}/inetd.conf" +RDEPENDS_${PN}-inetd += "${PN}" + +RRECOMMENDS_${PN} += "${PN}-inetd" + +do_install_append() { + if grep -q "CONFIG_CRONTAB=y" ${WORKDIR}/defconfig; then + install -d ${D}${sysconfdir}/cron/crontabs + fi +} + +FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" +