mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 13:46:32 +00:00
package/mke2img: remove package
Now that we use mkfs to generate ext2/3/4 filesystem image by calling mkfs directly from fs/ext2/ext2.mk, we can remove this package. Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com> Signed-off-by: Samuel Martin <s.martin49@gmail.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
67aaa90d3b
commit
f47fc957ee
@ -145,6 +145,13 @@ endif
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
comment "Legacy options removed in 2017.08"
|
comment "Legacy options removed in 2017.08"
|
||||||
|
|
||||||
|
config BR2_PACKAGE_HOST_MKE2IMG
|
||||||
|
bool "host mke2img has been removed"
|
||||||
|
select BR2_LEGACY
|
||||||
|
help
|
||||||
|
We now call mkfs directly to generate ext2/3/4 filesystem
|
||||||
|
image, so mke2img is no longer necessary.
|
||||||
|
|
||||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
|
config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
|
||||||
int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
|
int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
|
||||||
default 0
|
default 0
|
||||||
|
@ -1783,7 +1783,6 @@ F: package/libiscsi/
|
|||||||
F: package/libseccomp/
|
F: package/libseccomp/
|
||||||
F: package/linux-tools/
|
F: package/linux-tools/
|
||||||
F: package/mesa3d-headers/
|
F: package/mesa3d-headers/
|
||||||
F: package/mke2img/
|
|
||||||
F: package/nbd/
|
F: package/nbd/
|
||||||
F: package/nut/
|
F: package/nut/
|
||||||
F: package/nvidia-driver/
|
F: package/nvidia-driver/
|
||||||
|
@ -24,7 +24,6 @@ menu "Host utilities"
|
|||||||
source "package/lpc3250loader/Config.in.host"
|
source "package/lpc3250loader/Config.in.host"
|
||||||
source "package/lttng-babeltrace/Config.in.host"
|
source "package/lttng-babeltrace/Config.in.host"
|
||||||
source "package/mfgtools/Config.in.host"
|
source "package/mfgtools/Config.in.host"
|
||||||
source "package/mke2img/Config.in.host"
|
|
||||||
source "package/mkpasswd/Config.in.host"
|
source "package/mkpasswd/Config.in.host"
|
||||||
source "package/mtd/Config.in.host"
|
source "package/mtd/Config.in.host"
|
||||||
source "package/mtools/Config.in.host"
|
source "package/mtools/Config.in.host"
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
config BR2_PACKAGE_HOST_MKE2IMG
|
|
||||||
bool "host mke2img"
|
|
||||||
select BR2_PACKAGE_HOST_E2FSPROGS
|
|
||||||
select BR2_PACKAGE_HOST_GENEXT2FS
|
|
||||||
help
|
|
||||||
Easily create filesystems of the extend familly: ext2/3/4.
|
|
||||||
|
|
||||||
This tool is bundled by, and specific to Buildroot. However, it can
|
|
||||||
be used from post-images scripts is needed.
|
|
||||||
|
|
||||||
https://code.google.com/p/mke2img/
|
|
@ -1,205 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Buildroot wrapper to the collection of ext2/3/4 filesystem tools:
|
|
||||||
# - genext2fs, to generate ext2 filesystem images
|
|
||||||
# - tune2fs, to modify an ext2/3/4 filesystem (possibly in an image file)
|
|
||||||
# - e2fsck, to check and fix an ext2/3/4 filesystem (possibly in an image file)
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
main() {
|
|
||||||
local OPT OPTARG
|
|
||||||
local nb_blocks nb_inodes nb_res_blocks root_dir image gen rev label uuid
|
|
||||||
local -a genext2fs_opts
|
|
||||||
local -a tune2fs_opts
|
|
||||||
local tune2fs_O_opts
|
|
||||||
|
|
||||||
# Default values
|
|
||||||
gen=2
|
|
||||||
rev=1
|
|
||||||
nb_extra_inodes=0
|
|
||||||
|
|
||||||
while getopts :hB:b:i:I:r:d:o:G:R:l:u: OPT; do
|
|
||||||
case "${OPT}" in
|
|
||||||
h) help; exit 0;;
|
|
||||||
B) block_size="${OPTARG}";;
|
|
||||||
b) nb_blocks=${OPTARG};;
|
|
||||||
i) nb_inodes=${OPTARG};;
|
|
||||||
I) nb_extra_inodes=${OPTARG};;
|
|
||||||
r) nb_res_blocks=${OPTARG};;
|
|
||||||
d) root_dir="${OPTARG}";;
|
|
||||||
o) image="${OPTARG}";;
|
|
||||||
G) gen=${OPTARG};;
|
|
||||||
R) rev=${OPTARG};;
|
|
||||||
l) label="${OPTARG}";;
|
|
||||||
u) uuid="${OPTARG}";;
|
|
||||||
:) error "option '%s' expects a mandatory argument\n" "${OPTARG}";;
|
|
||||||
\?) error "unknown option '%s'\n" "${OPTARG}";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
# Sanity checks
|
|
||||||
if [ -z "${root_dir}" ]; then
|
|
||||||
error "you must specify a root directory with '-d'\n"
|
|
||||||
fi
|
|
||||||
if [ -z "${image}" ]; then
|
|
||||||
error "you must specify an output image file with '-o'\n"
|
|
||||||
fi
|
|
||||||
if [ -z "${nb_blocks}" ]; then
|
|
||||||
error "you must specify the size of the output image with '-b'\n"
|
|
||||||
fi
|
|
||||||
case "${block_size}" in
|
|
||||||
1024|2048|4096) ;; # Sole valid values
|
|
||||||
'') error "you must specify the size of a block with -B\n";;
|
|
||||||
*) error "invalid block size '%s' (valid: 1024. 2048, 4096)\n" "${block_size}";;
|
|
||||||
esac
|
|
||||||
case "${gen}:${rev}" in
|
|
||||||
2:0|2:1|3:1|4:1)
|
|
||||||
;;
|
|
||||||
3:0|4:0)
|
|
||||||
error "revision 0 is invalid for ext3 and ext4\n"
|
|
||||||
;;
|
|
||||||
*) error "unknown ext generation '%s' and/or revision '%s'\n" \
|
|
||||||
"${gen}" "${rev}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# calculate needed inodes
|
|
||||||
if [ ${nb_inodes:-0} -eq 0 ]; then
|
|
||||||
nb_inodes=$(find "${root_dir}" | wc -l)
|
|
||||||
nb_inodes=$((nb_inodes+400))
|
|
||||||
fi
|
|
||||||
nb_inodes=$((nb_inodes+nb_extra_inodes))
|
|
||||||
|
|
||||||
# Upgrade to rev1 if needed
|
|
||||||
if [ ${rev} -ge 1 ]; then
|
|
||||||
tune2fs_O_opts+=",filetype,sparse_super"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add a journal for ext3 and above
|
|
||||||
if [ ${gen} -ge 3 ]; then
|
|
||||||
tune2fs_opts+=( -j -J size=1 )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add ext4 specific features
|
|
||||||
if [ ${gen} -ge 4 ]; then
|
|
||||||
tune2fs_O_opts+=",extents,uninit_bg,dir_index"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add our -O options (there will be at most one leading comma, remove it)
|
|
||||||
if [ -n "${tune2fs_O_opts}" ]; then
|
|
||||||
tune2fs_opts+=( -O "${tune2fs_O_opts#,}" )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add the label if specified
|
|
||||||
if [ -n "${label}" ]; then
|
|
||||||
tune2fs_opts+=( -L "${label}" )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Generate the filesystem
|
|
||||||
genext2fs_opts=( -z -B ${block_size} -b ${nb_blocks} -N ${nb_inodes} -d "${root_dir}" )
|
|
||||||
if [ -n "${nb_res_blocks}" ]; then
|
|
||||||
genext2fs_opts+=( -m ${nb_res_blocks} )
|
|
||||||
fi
|
|
||||||
genext2fs "${genext2fs_opts[@]}" "${image}"
|
|
||||||
|
|
||||||
# genext2fs does not generate a UUID, but fsck will whine if one
|
|
||||||
# is missing, so we need to add a UUID.
|
|
||||||
# Of course, this has to happen _before_ we run fsck.
|
|
||||||
# Also, some ext4 metadata are based on the UUID, so we must
|
|
||||||
# set it before we can convert the filesystem to ext4.
|
|
||||||
# If the user did not specify a UUID, we generate a random one.
|
|
||||||
# Although a random UUID may seem bad for reproducibility, there
|
|
||||||
# already are so many things that are not reproducible in a
|
|
||||||
# filesystem: file dates, file ordering, content of the files...
|
|
||||||
tune2fs -U "${uuid:-random}" "${image}"
|
|
||||||
|
|
||||||
# Upgrade the filesystem
|
|
||||||
if [ ${#tune2fs_opts[@]} -ne 0 ]; then
|
|
||||||
tune2fs "${tune2fs_opts[@]}" "${image}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# After changing filesystem options, running fsck is required
|
|
||||||
# (see: man tune2fs). Running e2fsck in other cases will ensure
|
|
||||||
# coherency of the filesystem, although it is not required.
|
|
||||||
# 'e2fsck -pDf' means:
|
|
||||||
# - automatically repair
|
|
||||||
# - optimise and check for duplicate entries
|
|
||||||
# - force checking
|
|
||||||
# Sending output to oblivion, as e2fsck can be *very* verbose,
|
|
||||||
# especially with filesystems generated by genext2fs.
|
|
||||||
# Exit codes 1 & 2 are OK, it means fs errors were successfully
|
|
||||||
# corrected, hence our little trick with $ret.
|
|
||||||
ret=0
|
|
||||||
e2fsck -pDf "${image}" >/dev/null || ret=$?
|
|
||||||
case ${ret} in
|
|
||||||
0|1|2) ;;
|
|
||||||
*) errorN ${ret} "failed to run e2fsck on '%s' (ext%d)\n" \
|
|
||||||
"${image}" ${gen}
|
|
||||||
esac
|
|
||||||
printf "\n"
|
|
||||||
trace "e2fsck was successfully run on '%s' (ext%d)\n" "${image}" ${gen}
|
|
||||||
printf "\n"
|
|
||||||
|
|
||||||
# Remove count- and time-based checks, they are not welcome
|
|
||||||
# on embedded devices, where they can cause serious boot-time
|
|
||||||
# issues by tremendously slowing down the boot.
|
|
||||||
tune2fs -c 0 -i 0 "${image}"
|
|
||||||
}
|
|
||||||
|
|
||||||
help() {
|
|
||||||
cat <<_EOF_
|
|
||||||
NAME
|
|
||||||
${my_name} - Create an ext2/3/4 filesystem image
|
|
||||||
|
|
||||||
SYNOPSIS
|
|
||||||
${my_name} [OPTION]...
|
|
||||||
|
|
||||||
DESCRIPTION
|
|
||||||
Create ext2/3/4 filesystem image from the content of a directory.
|
|
||||||
|
|
||||||
-b BLOCKS
|
|
||||||
Create a filesystem of BLOCKS 1024-byte blocs. The default is to
|
|
||||||
compute the required number of blocks.
|
|
||||||
|
|
||||||
-i INODES
|
|
||||||
Create a filesystem with INODES inodes. The default is to compute
|
|
||||||
the required number of inodes.
|
|
||||||
|
|
||||||
-r RES_BLOCKS
|
|
||||||
Create a filesystem with RES_BLOCKS reserved blocks. The default
|
|
||||||
is to reserve 0 block.
|
|
||||||
|
|
||||||
-d ROOT_DIR
|
|
||||||
Create a filesystem, using the content of ROOT_DIR as the content
|
|
||||||
of the root of the filesystem. Mandatory.
|
|
||||||
|
|
||||||
-o FILE
|
|
||||||
Create the filesystem in FILE. Madatory.
|
|
||||||
|
|
||||||
-G GEN -R REV
|
|
||||||
Create a filesystem of generation GEN (2, 3 or 4), and revision
|
|
||||||
REV (0 or 1). The default is to generate an ext2 revision 1
|
|
||||||
filesystem; revision 0 is invalid for ext3 and ext4.
|
|
||||||
|
|
||||||
-l LABEL
|
|
||||||
Create a filesystem with label LABEL. The default is to not set
|
|
||||||
a label.
|
|
||||||
|
|
||||||
-u UUID
|
|
||||||
Create filesystem with uuid UUID. The default is to set a random
|
|
||||||
UUID.
|
|
||||||
|
|
||||||
Exit status:
|
|
||||||
0 if OK
|
|
||||||
!0 in case of error
|
|
||||||
_EOF_
|
|
||||||
}
|
|
||||||
|
|
||||||
trace() { local msg="${1}"; shift; printf "%s: ${msg}" "${my_name}" "${@}"; }
|
|
||||||
warn() { trace "${@}" >&2; }
|
|
||||||
errorN() { local ret="${1}"; shift; warn "${@}"; exit ${ret}; }
|
|
||||||
error() { errorN 1 "${@}"; }
|
|
||||||
|
|
||||||
my_name="${0##*/}"
|
|
||||||
main "$@"
|
|
@ -1,13 +0,0 @@
|
|||||||
################################################################################
|
|
||||||
#
|
|
||||||
# mke2img
|
|
||||||
#
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
HOST_MKE2IMG_DEPENDENCIES = host-genext2fs host-e2fsprogs
|
|
||||||
|
|
||||||
define HOST_MKE2IMG_INSTALL_CMDS
|
|
||||||
$(INSTALL) -D -m 0755 package/mke2img/mke2img $(HOST_DIR)/usr/bin/mke2img
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(host-generic-package))
|
|
Loading…
x
Reference in New Issue
Block a user