mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 06:06:32 +00:00
fs/ext2: add support for ext2 rev0 and rev1
Some bootloaders have a buggy ext2 support, and require ext2 rev1 instead of the traditional ext2 rev0 that genext2fs produces. tune2fs accepts only one '-O list' at a time, so we need to construct a list of -O options. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
aaefab09c7
commit
5fd27fc849
@ -6,12 +6,20 @@ config BR2_TARGET_ROOTFS_EXT2
|
|||||||
|
|
||||||
if BR2_TARGET_ROOTFS_EXT2
|
if BR2_TARGET_ROOTFS_EXT2
|
||||||
|
|
||||||
|
config BR2_TARGET_ROOTFS_EXT2_2
|
||||||
|
bool
|
||||||
|
|
||||||
choice
|
choice
|
||||||
bool "ext2/3/4 variant"
|
bool "ext2/3/4 variant"
|
||||||
default BR2_TARGET_ROOTFS_EXT2_2
|
default BR2_TARGET_ROOTFS_EXT2_2r0
|
||||||
|
|
||||||
config BR2_TARGET_ROOTFS_EXT2_2
|
config BR2_TARGET_ROOTFS_EXT2_2r0
|
||||||
bool "ext2"
|
bool "ext2 (rev0)"
|
||||||
|
select BR2_TARGET_ROOTFS_EXT2_2
|
||||||
|
|
||||||
|
config BR2_TARGET_ROOTFS_EXT2_2r1
|
||||||
|
bool "ext2 (rev1)"
|
||||||
|
select BR2_TARGET_ROOTFS_EXT2_2
|
||||||
|
|
||||||
config BR2_TARGET_ROOTFS_EXT2_3
|
config BR2_TARGET_ROOTFS_EXT2_3
|
||||||
bool "ext3"
|
bool "ext3"
|
||||||
@ -27,6 +35,12 @@ config BR2_TARGET_ROOTFS_EXT2_GEN
|
|||||||
default 3 if BR2_TARGET_ROOTFS_EXT2_3
|
default 3 if BR2_TARGET_ROOTFS_EXT2_3
|
||||||
default 4 if BR2_TARGET_ROOTFS_EXT2_4
|
default 4 if BR2_TARGET_ROOTFS_EXT2_4
|
||||||
|
|
||||||
|
# All ext generations are revision 1, except ext2r0, which is revision 0
|
||||||
|
config BR2_TARGET_ROOTFS_EXT2_REV
|
||||||
|
int
|
||||||
|
default 0 if BR2_TARGET_ROOTFS_EXT2_2r0
|
||||||
|
default 1 if !BR2_TARGET_ROOTFS_EXT2_2r0
|
||||||
|
|
||||||
config BR2_TARGET_ROOTFS_EXT2_BLOCKS
|
config BR2_TARGET_ROOTFS_EXT2_BLOCKS
|
||||||
int "size in blocks (leave at 0 for auto calculation)"
|
int "size in blocks (leave at 0 for auto calculation)"
|
||||||
default 0
|
default 0
|
||||||
|
@ -20,7 +20,8 @@ endif
|
|||||||
|
|
||||||
ROOTFS_EXT2_DEPENDENCIES = host-genext2fs host-e2fsprogs
|
ROOTFS_EXT2_DEPENDENCIES = host-genext2fs host-e2fsprogs
|
||||||
|
|
||||||
EXT2_ENV = GEN=$(BR2_TARGET_ROOTFS_EXT2_GEN)
|
EXT2_ENV = GEN=$(BR2_TARGET_ROOTFS_EXT2_GEN)
|
||||||
|
EXT2_ENV += REV=$(BR2_TARGET_ROOTFS_EXT2_REV)
|
||||||
|
|
||||||
define ROOTFS_EXT2_CMD
|
define ROOTFS_EXT2_CMD
|
||||||
PATH=$(TARGET_PATH) $(EXT2_ENV) fs/ext2/genext2fs.sh -d $(TARGET_DIR) $(EXT2_OPTS) $@
|
PATH=$(TARGET_PATH) $(EXT2_ENV) fs/ext2/genext2fs.sh -d $(TARGET_DIR) $(EXT2_OPTS) $@
|
||||||
|
@ -78,15 +78,21 @@ e2tunefsck() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Check we know what generation to generate
|
# Check we know what generation to generate
|
||||||
case "${GEN}" in
|
case "${GEN}:${REV}" in
|
||||||
2|3|4)
|
2:0|2:1|3:1|4:1)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
printf "%s: unknown ext generation to generate\n" "${0##*/}" >&2
|
printf "%s: unknown ext generation '%s' and/or revision '%s'\n" \
|
||||||
|
"${0##*/}" "${GEN}" "${REV}" >&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Upgrade to rev1 if needed
|
||||||
|
if [ ${REV} -ge 1 ]; then
|
||||||
|
EXT_OPTS_O="${EXT_OPTS_O},filetype"
|
||||||
|
fi
|
||||||
|
|
||||||
# Add a journal for ext3 and above
|
# Add a journal for ext3 and above
|
||||||
if [ ${GEN} -ge 3 ]; then
|
if [ ${GEN} -ge 3 ]; then
|
||||||
EXT_OPTS="${EXT_OPTS} -j -J size=1"
|
EXT_OPTS="${EXT_OPTS} -j -J size=1"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user