mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-26 09:10:53 +00:00
Merge branch 'phcoder/termux' of git.sv.gnu.org:/srv/git/grub into next
This commit is contained in:
commit
4078fb64c9
66 files changed
+310
-236
No files matched your search
@@ -41,7 +41,7 @@ CCASFLAGS_KERNEL = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
|
|||||||
STRIPFLAGS_KERNEL = -R .rel.dyn -R .reginfo -R .note -R .comment -R .drectve -R .note.gnu.gold-version -R .MIPS.abiflags -R .ARM.exidx
|
STRIPFLAGS_KERNEL = -R .rel.dyn -R .reginfo -R .note -R .comment -R .drectve -R .note.gnu.gold-version -R .MIPS.abiflags -R .ARM.exidx
|
||||||
|
|
||||||
CFLAGS_MODULE = $(CFLAGS_PLATFORM) -ffreestanding
|
CFLAGS_MODULE = $(CFLAGS_PLATFORM) -ffreestanding
|
||||||
LDFLAGS_MODULE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -Wl,-r,-d
|
LDFLAGS_MODULE = $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) $(TARGET_INCREMENTAL_LINK)
|
||||||
CPPFLAGS_MODULE = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM)
|
CPPFLAGS_MODULE = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM)
|
||||||
CCASFLAGS_MODULE = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
|
CCASFLAGS_MODULE = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
|
||||||
|
|
||||||
|
|||||||
+33
-1
@@ -373,7 +373,10 @@ case "$host_os" in
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_CHECK_SIZEOF(off_t)
|
AC_CHECK_SIZEOF(off_t)
|
||||||
test x"$ac_cv_sizeof_off_t" = x8 || AC_MSG_ERROR([Large file support is required]);;
|
if test x"$ac_cv_sizeof_off_t" != x8 ; then
|
||||||
|
AC_CHECK_SIZEOF(off64_t)
|
||||||
|
test x"$ac_cv_sizeof_off64_t" = x8 || AC_MSG_ERROR([Large file support is required])
|
||||||
|
fi;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test x$USE_NLS = xno; then
|
if test x$USE_NLS = xno; then
|
||||||
@@ -456,6 +459,16 @@ case "$build_os" in
|
|||||||
esac
|
esac
|
||||||
AC_SUBST(BUILD_EXEEXT)
|
AC_SUBST(BUILD_EXEEXT)
|
||||||
|
|
||||||
|
# In some build environments like termux /bin/sh is not a valid
|
||||||
|
# shebang. Use $SHELL instead if it's executable and /bin/sh isn't
|
||||||
|
BUILD_SHEBANG=/bin/sh
|
||||||
|
for she in /bin/sh "$SHELL"; do
|
||||||
|
if test -x "$she" ; then
|
||||||
|
BUILD_SHEBANG="$she"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
AC_SUBST(BUILD_SHEBANG)
|
||||||
|
|
||||||
# For gnulib.
|
# For gnulib.
|
||||||
gl_INIT
|
gl_INIT
|
||||||
|
|
||||||
@@ -890,6 +903,25 @@ if test x"$target_cpu" = xsparc64 ; then
|
|||||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $grub_cv_target_cc_mno_relax"
|
TARGET_LDFLAGS="$TARGET_LDFLAGS $grub_cv_target_cc_mno_relax"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
AC_CACHE_CHECK([for incremental link options], grub_cv_target_cc_incremental_link, [
|
||||||
|
grub_cv_target_cc_incremental_link=no
|
||||||
|
for cand in "-Wl,-r,-d" "-static -Wl,-r,-d"; do
|
||||||
|
#AC_LINK_IFELSE doesn't handle non-executable output correctly
|
||||||
|
echo > conftest_inclink.c
|
||||||
|
if $TARGET_CC -o /dev/null $TARGET_CFLAGS $TARGET_CPPFLAGS $TARGET_LDFLAGS -nostdlib -Werror $cand conftest_inclink.c >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD; then
|
||||||
|
grub_cv_target_cc_incremental_link="$cand"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
])
|
||||||
|
|
||||||
|
if test x"$grub_cv_target_cc_incremental_link" = xno ; then
|
||||||
|
AC_MSG_ERROR([could not find incremental link options])
|
||||||
|
fi
|
||||||
|
|
||||||
|
TARGET_INCREMENTAL_LINK="$grub_cv_target_cc_incremental_link"
|
||||||
|
AC_SUBST(TARGET_INCREMENTAL_LINK)
|
||||||
|
|
||||||
# By default, GCC 4.4 generates .eh_frame sections containing unwind
|
# By default, GCC 4.4 generates .eh_frame sections containing unwind
|
||||||
# information in some cases where it previously did not. GRUB doesn't need
|
# information in some cases where it previously did not. GRUB doesn't need
|
||||||
# these and they just use up vital space. Restore the old compiler
|
# these and they just use up vital space. Restore the old compiler
|
||||||
|
|||||||
@@ -278,7 +278,7 @@ BUILT_SOURCES += symlist.h
|
|||||||
|
|
||||||
symlist.c: symlist.h gensymlist.sh
|
symlist.c: symlist.h gensymlist.sh
|
||||||
$(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) -DGRUB_SYMBOL_GENERATOR=1 symlist.h > symlist.p || (rm -f symlist.p; exit 1)
|
$(TARGET_CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) $(CPPFLAGS) -DGRUB_SYMBOL_GENERATOR=1 symlist.h > symlist.p || (rm -f symlist.p; exit 1)
|
||||||
cat symlist.p | /bin/sh $(srcdir)/gensymlist.sh $(top_builddir)/config.h $(KERNEL_HEADER_FILES) >$@ || (rm -f $@; exit 1)
|
cat symlist.p | $(SHELL) $(srcdir)/gensymlist.sh $(top_builddir)/config.h $(KERNEL_HEADER_FILES) >$@ || (rm -f $@; exit 1)
|
||||||
rm -f symlist.p
|
rm -f symlist.p
|
||||||
CLEANFILES += symlist.c
|
CLEANFILES += symlist.c
|
||||||
BUILT_SOURCES += symlist.c
|
BUILT_SOURCES += symlist.c
|
||||||
|
|||||||
@@ -49,20 +49,20 @@ kernel = {
|
|||||||
|
|
||||||
nostrip = emu;
|
nostrip = emu;
|
||||||
|
|
||||||
emu_ldflags = '-Wl,-r,-d';
|
emu_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
i386_efi_ldflags = '-Wl,-r,-d';
|
i386_efi_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
i386_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
i386_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
||||||
x86_64_efi_ldflags = '-Wl,-r,-d';
|
x86_64_efi_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
x86_64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
x86_64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
||||||
|
|
||||||
ia64_efi_cflags = '-fno-builtin -fpic -minline-int-divide-max-throughput';
|
ia64_efi_cflags = '-fno-builtin -fpic -minline-int-divide-max-throughput';
|
||||||
ia64_efi_ldflags = '-Wl,-r,-d';
|
ia64_efi_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
ia64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
ia64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
||||||
|
|
||||||
arm_efi_ldflags = '-Wl,-r,-d';
|
arm_efi_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
arm_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
||||||
|
|
||||||
arm64_efi_ldflags = '-Wl,-r,-d';
|
arm64_efi_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
|
arm64_efi_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version -R .eh_frame';
|
||||||
|
|
||||||
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
|
i386_pc_ldflags = '$(TARGET_IMG_LDFLAGS)';
|
||||||
@@ -90,7 +90,7 @@ kernel = {
|
|||||||
i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
|
i386_qemu_cppflags = '-DGRUB_BOOT_MACHINE_LINK_ADDR=$(GRUB_BOOT_MACHINE_LINK_ADDR)';
|
||||||
emu_cflags = '$(CFLAGS_GNULIB)';
|
emu_cflags = '$(CFLAGS_GNULIB)';
|
||||||
emu_cppflags = '$(CPPFLAGS_GNULIB)';
|
emu_cppflags = '$(CPPFLAGS_GNULIB)';
|
||||||
arm_uboot_ldflags = '-Wl,-r,-d';
|
arm_uboot_ldflags = '$(TARGET_INCREMENTAL_LINK)';
|
||||||
arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
arm_uboot_stripflags = '--strip-unneeded -K start -R .note -R .comment -R .note.gnu.gold-version';
|
||||||
|
|
||||||
i386_pc_startup = kern/i386/pc/startup.S;
|
i386_pc_startup = kern/i386/pc/startup.S;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
@@ -79,9 +79,9 @@ else
|
|||||||
for dep in $deps; do echo "char moddep_$dep[] __attribute__ ((section(\"_moddeps, _moddeps\"))) = \"$dep\";" >>$t2; done
|
for dep in $deps; do echo "char moddep_$dep[] __attribute__ ((section(\"_moddeps, _moddeps\"))) = \"$dep\";" >>$t2; done
|
||||||
|
|
||||||
if test -n "$deps"; then
|
if test -n "$deps"; then
|
||||||
@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $t2 $tmpfile -Wl,-r,-d
|
@TARGET_CC@ @TARGET_LDFLAGS@ @TARGET_INCREMENTAL_LINK@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $t2 $tmpfile
|
||||||
else
|
else
|
||||||
@TARGET_CC@ @TARGET_LDFLAGS@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $tmpfile -Wl,-r,-d
|
@TARGET_CC@ @TARGET_LDFLAGS@ @TARGET_INCREMENTAL_LINK@ -ffreestanding -nostdlib -o $tmpfile2 $t1 $tmpfile
|
||||||
fi
|
fi
|
||||||
rm -f $t1 $t2 $tmpfile
|
rm -f $t1 $t2 $tmpfile
|
||||||
mv $tmpfile2 $tmpfile
|
mv $tmpfile2 $tmpfile
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
# User-controllable options
|
# User-controllable options
|
||||||
grub_modinfo_target_cpu=@target_cpu@
|
grub_modinfo_target_cpu=@target_cpu@
|
||||||
@@ -19,6 +19,7 @@ grub_target_cflags='@TARGET_CFLAGS@'
|
|||||||
grub_target_cppflags='@TARGET_CPPFLAGS@'
|
grub_target_cppflags='@TARGET_CPPFLAGS@'
|
||||||
grub_target_ccasflags='@TARGET_CCASFLAGS@'
|
grub_target_ccasflags='@TARGET_CCASFLAGS@'
|
||||||
grub_target_ldflags='@TARGET_LDFLAGS@'
|
grub_target_ldflags='@TARGET_LDFLAGS@'
|
||||||
|
grub_target_incremental_ldflags='@TARGET_INCREMENTAL_LINK@'
|
||||||
grub_cflags='@CFLAGS@'
|
grub_cflags='@CFLAGS@'
|
||||||
grub_cppflags='@CPPFLAGS@'
|
grub_cppflags='@CPPFLAGS@'
|
||||||
grub_ccasflags='@CCASFLAGS@'
|
grub_ccasflags='@CCASFLAGS@'
|
||||||
|
|||||||
@@ -77,11 +77,19 @@ grub_util_get_fd_size (grub_util_fd_t fd, const char *name, unsigned *log_secsiz
|
|||||||
int
|
int
|
||||||
grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
|
grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
|
||||||
{
|
{
|
||||||
|
#if SIZEOF_OFF_T == 8
|
||||||
off_t offset = (off_t) off;
|
off_t offset = (off_t) off;
|
||||||
|
|
||||||
if (lseek (fd, offset, SEEK_SET) != offset)
|
if (lseek (fd, offset, SEEK_SET) != offset)
|
||||||
return -1;
|
return -1;
|
||||||
|
#elif SIZEOF_OFF64_T == 8
|
||||||
|
off64_t offset = (off64_t) off;
|
||||||
|
|
||||||
|
if (lseek64 (fd, offset, SEEK_SET) != offset)
|
||||||
|
return -1;
|
||||||
|
#else
|
||||||
|
#error "No large file support"
|
||||||
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -388,7 +388,7 @@ AC_DEFUN([gl_INIT],
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done])dnl
|
done])dnl
|
||||||
m4_if(m4_sysval, [0], [],
|
m4_if([0], [0], [],
|
||||||
[AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
|
[AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
|
||||||
])
|
])
|
||||||
m4_popdef([gl_LIBSOURCES_DIR])
|
m4_popdef([gl_LIBSOURCES_DIR])
|
||||||
@@ -434,7 +434,7 @@ changequote([, ])dnl
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done])dnl
|
done])dnl
|
||||||
m4_if(m4_sysval, [0], [],
|
m4_if([0], [0], [],
|
||||||
[AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
|
[AC_FATAL([expected source file, required through AC_LIBSOURCES, not found])])
|
||||||
])
|
])
|
||||||
m4_popdef([gltests_LIBSOURCES_DIR])
|
m4_popdef([gltests_LIBSOURCES_DIR])
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ PACKAGE = @PACKAGE@
|
|||||||
VERSION = @VERSION@
|
VERSION = @VERSION@
|
||||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = @SHELL@
|
||||||
@SET_MAKE@
|
@SET_MAKE@
|
||||||
|
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
true
|
true
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2014 Free Software Foundation, Inc.
|
# Copyright (C) 2014 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
cd '@srcdir@'
|
cd '@srcdir@'
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "@builddir@/grub-core/modinfo.sh"
|
. "@builddir@/grub-core/modinfo.sh"
|
||||||
@@ -9,7 +9,7 @@ if [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = sparc64-ieee1275 ];
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
pdt="$(date -u +%s)"
|
pdt="$(date -u +%s)"
|
||||||
dt=`echo date | @builddir@/grub-shell`
|
dt=`echo date | @builddir@/grub-shell | sed 's, [A-Z][a-z]*$,,'`
|
||||||
dtg="$(date -u -d "$dt" +%s)"
|
dtg="$(date -u -d "$dt" +%s)"
|
||||||
ndt="$(date -u +%s)"
|
ndt="$(date -u +%s)"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Run GRUB script in a Qemu instance
|
# Run GRUB script in a Qemu instance
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "@builddir@/grub-core/modinfo.sh"
|
. "@builddir@/grub-core/modinfo.sh"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "@builddir@/grub-core/modinfo.sh"
|
. "@builddir@/grub-core/modinfo.sh"
|
||||||
@@ -11,8 +11,8 @@ fi
|
|||||||
# Compare RTC with interval timer.
|
# Compare RTC with interval timer.
|
||||||
# Not 100% proper but should check that timer is running ok
|
# Not 100% proper but should check that timer is running ok
|
||||||
dt=`echo 'date; sleep 10; date' | @builddir@/grub-shell`
|
dt=`echo 'date; sleep 10; date' | @builddir@/grub-shell`
|
||||||
dt1="$(date -u -d "$(echo "$dt" | head -n 1)" +%s)"
|
dt1="$(date -u -d "$(echo "$dt" | head -n 1 | sed 's, [A-Z][a-z]*$,,')" +%s)"
|
||||||
dt2="$(date -u -d "$(echo "$dt" | tail -n 1)" +%s)"
|
dt2="$(date -u -d "$(echo "$dt" | tail -n 1 | sed 's, [A-Z][a-z]*$,,')" +%s)"
|
||||||
|
|
||||||
# Ignore QEMU bug
|
# Ignore QEMU bug
|
||||||
if [ "${grub_modinfo_target_cpu}" = arm ] && [ $((dt2 - dt1)) -ge 15 ] && [ $((dt2 - dt1)) -le 17 ]; then
|
if [ "${grub_modinfo_target_cpu}" = arm ] && [ $((dt2 - dt1)) -ge 15 ] && [ $((dt2 - dt1)) -le 17 ]; then
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
|
|
||||||
# create a randome file
|
# create a randome file
|
||||||
empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
empty="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash -e
|
#! @BUILD_SHEBANG@ -e
|
||||||
|
|
||||||
# Run GRUB script in a Qemu instance
|
# Run GRUB script in a Qemu instance
|
||||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "@builddir@/grub-core/modinfo.sh"
|
. "@builddir@/grub-core/modinfo.sh"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@builddir@/grub-script-check <<EOF
|
@builddir@/grub-script-check <<EOF
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
|
|
||||||
# Run GRUB script in a Qemu instance
|
# Run GRUB script in a Qemu instance
|
||||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@builddir@/grub-script-check << EOF
|
@builddir@/grub-script-check << EOF
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Run GRUB script in a Qemu instance
|
# Run GRUB script in a Qemu instance
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@builddir@/grub-script-check <<EOF
|
@builddir@/grub-script-check <<EOF
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# grub-script-check refuses to pass a file with no commands; this usually
|
# grub-script-check refuses to pass a file with no commands; this usually
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
. "@builddir@/grub-core/modinfo.sh"
|
. "@builddir@/grub-core/modinfo.sh"
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/bash
|
#! @BUILD_SHEBANG@
|
||||||
|
|
||||||
# create a randome file
|
# create a randome file
|
||||||
file="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
file="`mktemp "${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"`" || exit 1
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
+193
-160
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
@@ -13,8 +13,29 @@ run_it () {
|
|||||||
LC_ALL=C "$GRUBFSTEST" "$@"
|
LC_ALL=C "$GRUBFSTEST" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
range() {
|
||||||
|
range_counter="$1"
|
||||||
|
while test "$range_counter" -le "$2"; do
|
||||||
|
echo "$range_counter"
|
||||||
|
range_counter="$((range_counter + $3))"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
powrange() {
|
||||||
|
range_counter="$1"
|
||||||
|
while test "$range_counter" -le "$2"; do
|
||||||
|
echo "$range_counter"
|
||||||
|
range_counter="$((range_counter * 2))"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
run_grubfstest () {
|
run_grubfstest () {
|
||||||
run_it -c $NEED_IMAGES_N "${NEED_IMAGES[@]}" "$@"
|
need_images=
|
||||||
|
for i in $(range 0 $((NEED_IMAGES_N-1)) 1); do
|
||||||
|
need_images="$need_images $FSIMAGEP${i}.img";
|
||||||
|
done
|
||||||
|
|
||||||
|
run_it -c $NEED_IMAGES_N $need_images "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
# OS LIMITATION: GNU/Linux has no AFS support, so we use a premade image and a reference tar file. I.a. no multiblocksize test
|
# OS LIMITATION: GNU/Linux has no AFS support, so we use a premade image and a reference tar file. I.a. no multiblocksize test
|
||||||
@@ -51,7 +72,7 @@ case x"$fs" in
|
|||||||
# OS limitation: zfs-fuse always uses ashift=9 with loop devices
|
# OS limitation: zfs-fuse always uses ashift=9 with loop devices
|
||||||
MAXLOGSECSIZE=9;;
|
MAXLOGSECSIZE=9;;
|
||||||
esac
|
esac
|
||||||
for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE + 1)); do
|
for LOGSECSIZE in $(range "$MINLOGSECSIZE" "$MAXLOGSECSIZE" 1); do
|
||||||
SECSIZE="$((1 << LOGSECSIZE))"
|
SECSIZE="$((1 << LOGSECSIZE))"
|
||||||
MINBLKSIZE=512
|
MINBLKSIZE=512
|
||||||
MAXBLKSIZE=512
|
MAXBLKSIZE=512
|
||||||
@@ -166,7 +187,12 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
MINBLKSIZE=1024
|
MINBLKSIZE=1024
|
||||||
MAXBLKSIZE=4096;;
|
MAXBLKSIZE=4096;;
|
||||||
esac
|
esac
|
||||||
for ((BLKSIZE=MINBLKSIZE;BLKSIZE<=MAXBLKSIZE;BLKSIZE=BLKSTEP?BLKSIZE+BLKSTEP:2*BLKSIZE)); do
|
if test "$BLKSTEP" -eq 0; then
|
||||||
|
blksizes="$(powrange "$MINBLKSIZE" "$MAXBLKSIZE")"
|
||||||
|
else
|
||||||
|
blksizes="$(range "$MINBLKSIZE" "$MAXBLKSIZE" "$BLKSTEP")"
|
||||||
|
fi
|
||||||
|
for BLKSIZE in $blksizes; do
|
||||||
MAXDEVICES=1
|
MAXDEVICES=1
|
||||||
MINDEVICES=1
|
MINDEVICES=1
|
||||||
export fs
|
export fs
|
||||||
@@ -196,13 +222,11 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
MAXDEVICES=7;;
|
MAXDEVICES=7;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for ((NDEVICES=MINDEVICES; NDEVICES <= MAXDEVICES; NDEVICES++)); do
|
for NDEVICES in $(range "$MINDEVICES" "$MAXDEVICES" 1); do
|
||||||
export NDEVICES
|
export NDEVICES
|
||||||
unset FSIMAGES
|
unset FSIMAGEP
|
||||||
for ((i=0; i < NDEVICES; i++)); do
|
FSIMAGEP="${tempdir}/${fs}_${SECSIZE}_${BLKSIZE}_${NDEVICES}_"
|
||||||
FSIMAGES[i]="${tempdir}/${fs}_${SECSIZE}_${BLKSIZE}_${NDEVICES}_$i.img"
|
export FSIMAGEP
|
||||||
done
|
|
||||||
export FSIMAGES
|
|
||||||
unset NEED_IMAGES;
|
unset NEED_IMAGES;
|
||||||
|
|
||||||
case x$fs in
|
case x$fs in
|
||||||
@@ -223,11 +247,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
*)
|
*)
|
||||||
NEED_IMAGES_N=$NDEVICES;;
|
NEED_IMAGES_N=$NDEVICES;;
|
||||||
esac
|
esac
|
||||||
for ((i=0;i < NEED_IMAGES_N; i++)); do
|
|
||||||
NEED_IMAGES[i]="${FSIMAGES[i]}";
|
|
||||||
done
|
|
||||||
export NEED_IMAGES_N
|
export NEED_IMAGES_N
|
||||||
export NEED_IMAGES
|
|
||||||
|
|
||||||
MNTPOINTRO="${tempdir}/${fs}_ro"
|
MNTPOINTRO="${tempdir}/${fs}_ro"
|
||||||
MNTPOINTRW="${tempdir}/${fs}_rw"
|
MNTPOINTRW="${tempdir}/${fs}_rw"
|
||||||
@@ -235,20 +255,25 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
MOUNTFS="$fs"
|
MOUNTFS="$fs"
|
||||||
MASTER="${tempdir}/master"
|
MASTER="${tempdir}/master"
|
||||||
FSLABEL="grub_;/testé莭莽茝😁киритi urewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewrewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfew"
|
FSLABEL="grub_;/testé莭莽茝😁киритi urewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewrewfceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfewceniuewruevrewnuuireurevueurnievrewfnerfcnevirivinrewvnirewnivrewiuvcrewvnuewvrrrewniuerwreiuviurewiuviurewnuvewnvrenurnunuvrevuurerejiremvreijnvcreivire nverivnreivrevnureiorfnfrvoeoiroireoireoifrefoieroifoireoifoirefoireoifoijfoirereoireoivoioirevoinvoinreoinvnoieoinreoinveoinveoinreoinvoineoinoinoineoinernoiveoinvreoiioewdioewoirvnoireoivfoirewfewoifoijewoijfoijewfoijfewoijoijoijoijoijoijoijfew"
|
||||||
CFILESN=1
|
CFILESRC=
|
||||||
if test -f /usr/share/dict/american-english; then
|
for cand in /usr/share/dict/american-english /usr/share/dict/linux.words /data/data/com.termux/files/usr/share/hunspell/en_US.dic; do
|
||||||
CFILESSRC[0]="/usr/share/dict/american-english"
|
if test -f "$cand" ; then
|
||||||
else
|
CFILESRC="$cand"
|
||||||
CFILESSRC[0]="/usr/share/dict/linux.words"
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if test "$CFILESRC" = "" ; then
|
||||||
|
echo "Couldn't find compressible file" >&2
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
case x"$fs" in
|
case x"$fs" in
|
||||||
# FS LIMITATION: 8.3 names
|
# FS LIMITATION: 8.3 names
|
||||||
xmsdos*)
|
xmsdos*)
|
||||||
CFILES[0]="american.eng";;
|
CFILE="american.eng";;
|
||||||
xiso9660)
|
xiso9660)
|
||||||
CFILES[0]="american_english";;
|
CFILE="american_english";;
|
||||||
*)
|
*)
|
||||||
CFILES[0]="american-english";;
|
CFILE="american-english";;
|
||||||
esac
|
esac
|
||||||
# OS LIMITATION: Limited by NAME_MAX (usually 255) in GNU/Linux
|
# OS LIMITATION: Limited by NAME_MAX (usually 255) in GNU/Linux
|
||||||
LONGNAME="qwertzuiopasdfghjklyxcvbnm1234567890qwertzuiopasdfghjklyxcvbnm1234567890oiewqfiewioqoiqoiurqruewqoiuwoieoiiuewqroreqiufieiuwrnureweriuvceoiroiewqoiricdsalkcndsakfirefoiwqeoircorejwoijfreoijojoiewjfwnfcoirenfoirefnreoifenoiwfnoi"
|
LONGNAME="qwertzuiopasdfghjklyxcvbnm1234567890qwertzuiopasdfghjklyxcvbnm1234567890oiewqfiewioqoiqoiurqruewqoiuwoieoiiuewqroreqiufieiuwrnureweriuvceoiroiewqoiricdsalkcndsakfirefoiwqeoircorejwoijfreoijojoiewjfwnfcoirenfoirefnreoifenoiwfnoi"
|
||||||
@@ -385,8 +410,8 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
;;
|
;;
|
||||||
x"vfat16" | xmsdos16)
|
x"vfat16" | xmsdos16)
|
||||||
BIGBLOCKCNT=$((25000 * BLKSIZE))
|
BIGBLOCKCNT=$((25000 * BLKSIZE))
|
||||||
if [ $BIGBLOCKCNT -gt $((16#ffffffff)) ]; then
|
if [ $BIGBLOCKCNT -gt 4294967295 ]; then
|
||||||
BIGBLOCKCNT=$((16#ffffffff))
|
BIGBLOCKCNT=4294967295
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
x"minix")
|
x"minix")
|
||||||
@@ -407,7 +432,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
BIGBLOCKCNT=$((4000 * 1048576));;
|
BIGBLOCKCNT=$((4000 * 1048576));;
|
||||||
# FS LIMITATION: These FS have uint32 as file size field
|
# FS LIMITATION: These FS have uint32 as file size field
|
||||||
x"vfat"* | xmsdos* | x"cpio_crc" | x"cpio_newc" | x"cpio_bin" | x"cpio_hpbin" | xsfs*)
|
x"vfat"* | xmsdos* | x"cpio_crc" | x"cpio_newc" | x"cpio_bin" | x"cpio_hpbin" | xsfs*)
|
||||||
BIGBLOCKCNT=$((16#ffffffff));;
|
BIGBLOCKCNT=4294967295;;
|
||||||
# FS LIMITATION: These FS have int32 as file size field
|
# FS LIMITATION: These FS have int32 as file size field
|
||||||
# FIXME: not so sure about AFFS
|
# FIXME: not so sure about AFFS
|
||||||
# OS LIMITATION: minix2/minix3 could be formatted in a way to permit more.
|
# OS LIMITATION: minix2/minix3 could be formatted in a way to permit more.
|
||||||
@@ -540,18 +565,18 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
|
|
||||||
PDIR=""
|
PDIR=""
|
||||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||||
for ((i=0;i<PDIRCOMPNUM;i++)); do
|
for i in $(range 0 $((PDIRCOMPNUM-1)) 1); do
|
||||||
PDIR="$PDIR/$i";
|
PDIR="$PDIR/$i";
|
||||||
if [ $((i%3)) == 0 ]; then
|
if test $((i%3)) = 0; then
|
||||||
PDIR="$PDIR/"
|
PDIR="$PDIR/"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
PDIR2=""
|
PDIR2=""
|
||||||
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
# OS LIMITATION: Limited by PATH_MAX (usually 1024)
|
||||||
for ((i=0;i<PDIR2COMPNUM;i++)); do
|
for i in $(range 0 $((PDIR2COMPNUM-1)) 1); do
|
||||||
PDIR2="${PDIR2}/$i";
|
PDIR2="${PDIR2}/$i";
|
||||||
if [ $((i%3)) == 0 ]; then
|
if test $((i%3)) = 0; then
|
||||||
PDIR2="${PDIR2}/"
|
PDIR2="${PDIR2}/"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -560,7 +585,9 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
|
|
||||||
unset LODEVICES
|
unset LODEVICES
|
||||||
GENERATED=n
|
GENERATED=n
|
||||||
|
LODEVICES=
|
||||||
|
MOUNTDEVICE=
|
||||||
|
|
||||||
case x"$fs" in
|
case x"$fs" in
|
||||||
x"tarfs" | x"cpio_"*| x"ziso9660" | x"romfs" | x"squash4_"*\
|
x"tarfs" | x"cpio_"*| x"ziso9660" | x"romfs" | x"squash4_"*\
|
||||||
| x"iso9660" | xjoliet | xrockridge | xrockridge_joliet \
|
| x"iso9660" | xjoliet | xrockridge | xrockridge_joliet \
|
||||||
@@ -574,62 +601,65 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
*)
|
*)
|
||||||
mkdir -p "$MNTPOINTRW"
|
mkdir -p "$MNTPOINTRW"
|
||||||
mkdir -p "$MNTPOINTRO"
|
mkdir -p "$MNTPOINTRO"
|
||||||
for ((i=0; i < NDEVICES; i++)); do
|
for i in $(range 0 $((NDEVICES-1)) 1); do
|
||||||
dd if=/dev/zero of="${FSIMAGES[i]}" count=1 bs=1 seek=$((DISKSIZE-1)) &> /dev/null
|
dd if=/dev/zero of="$FSIMAGEP${i}.img" count=1 bs=1 seek=$((DISKSIZE-1)) &> /dev/null
|
||||||
LODEVICES[i]=`losetup -f`
|
LODEVICE="$(losetup -f)"
|
||||||
losetup "${LODEVICES[i]}" "${FSIMAGES[i]}"
|
LODEVICES="$LODEVICES $LODEVICE"
|
||||||
|
losetup "$LODEVICE" "$FSIMAGEP${i}.img"
|
||||||
|
if test "$i" = 0; then
|
||||||
|
MOUNTDEVICE="$LODEVICE"
|
||||||
|
fi
|
||||||
done ;;
|
done ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
MOUNTDEVICE="${LODEVICES[0]}"
|
|
||||||
case x"$fs" in
|
case x"$fs" in
|
||||||
x"afs")
|
x"afs")
|
||||||
;;
|
;;
|
||||||
x"btrfs")
|
x"btrfs")
|
||||||
"mkfs.btrfs" -s $SECSIZE -L "$FSLABEL" "${LODEVICES[0]}" ;;
|
"mkfs.btrfs" -s $SECSIZE -L "$FSLABEL" "${MOUNTDEVICE}" ;;
|
||||||
x"btrfs_zlib" | x"btrfs_lzo")
|
x"btrfs_zlib" | x"btrfs_lzo")
|
||||||
"mkfs.btrfs" -s $SECSIZE -L "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.btrfs" -s $SECSIZE -L "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="compress=${fs/btrfs_/},"
|
MOUNTOPTS="compress=${fs/btrfs_/},"
|
||||||
MOUNTFS="btrfs"
|
MOUNTFS="btrfs"
|
||||||
;;
|
;;
|
||||||
x"btrfs_raid0")
|
x"btrfs_raid0")
|
||||||
"mkfs.btrfs" -s $SECSIZE -d raid0 -m raid0 -L "$FSLABEL" "${LODEVICES[@]}"
|
"mkfs.btrfs" -s $SECSIZE -d raid0 -m raid0 -L "$FSLABEL" $LODEVICES
|
||||||
MOUNTFS="btrfs"
|
MOUNTFS="btrfs"
|
||||||
;;
|
;;
|
||||||
x"btrfs_raid1")
|
x"btrfs_raid1")
|
||||||
"mkfs.btrfs" -s $SECSIZE -d raid1 -m raid1 -L "$FSLABEL" "${LODEVICES[@]}"
|
"mkfs.btrfs" -s $SECSIZE -d raid1 -m raid1 -L "$FSLABEL" $LODEVICES
|
||||||
MOUNTFS="btrfs"
|
MOUNTFS="btrfs"
|
||||||
;;
|
;;
|
||||||
x"btrfs_raid10")
|
x"btrfs_raid10")
|
||||||
"mkfs.btrfs" -s $SECSIZE -d raid10 -m raid10 -L "$FSLABEL" "${LODEVICES[@]}"
|
"mkfs.btrfs" -s $SECSIZE -d raid10 -m raid10 -L "$FSLABEL" $LODEVICES
|
||||||
MOUNTFS="btrfs"
|
MOUNTFS="btrfs"
|
||||||
;;
|
;;
|
||||||
x"btrfs_single")
|
x"btrfs_single")
|
||||||
"mkfs.btrfs" -s $SECSIZE -d single -L "$FSLABEL" "${LODEVICES[@]}"
|
"mkfs.btrfs" -s $SECSIZE -d single -L "$FSLABEL" $LODEVICES
|
||||||
MOUNTFS="btrfs"
|
MOUNTFS="btrfs"
|
||||||
;;
|
;;
|
||||||
x"exfat")
|
x"exfat")
|
||||||
"mkfs.$fs" -s $((BLKSIZE/512)) -n "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.$fs" -s $((BLKSIZE/512)) -n "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="iocharset=utf8,"
|
MOUNTOPTS="iocharset=utf8,"
|
||||||
MOUNTFS="exfat-fuse";;
|
MOUNTFS="exfat-fuse";;
|
||||||
x"minix")
|
x"minix")
|
||||||
"mkfs.minix" "${LODEVICES[0]}"
|
"mkfs.minix" "${MOUNTDEVICE}"
|
||||||
;;
|
;;
|
||||||
# mkfs.hfs and mkfs.hfsplus don't fill UUID.
|
# mkfs.hfs and mkfs.hfsplus don't fill UUID.
|
||||||
x"hfsplus")
|
x"hfsplus")
|
||||||
"mkfs.hfsplus" -b $BLKSIZE -v "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.hfsplus" -b $BLKSIZE -v "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
dd if=/dev/urandom of="${LODEVICES[0]}" bs=1 seek=$((16#468)) conv=notrunc count=8 ;;
|
dd if=/dev/urandom of="${MOUNTDEVICE}" bs=1 seek=$((16#468)) conv=notrunc count=8 ;;
|
||||||
x"hfsplus_wrap")
|
x"hfsplus_wrap")
|
||||||
"mkfs.hfsplus" -w -b $BLKSIZE -v "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.hfsplus" -w -b $BLKSIZE -v "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
dd if=/dev/urandom of="${LODEVICES[0]}" bs=1 seek=$((16#468)) conv=notrunc count=8
|
dd if=/dev/urandom of="${MOUNTDEVICE}" bs=1 seek=$((16#468)) conv=notrunc count=8
|
||||||
MOUNTFS="hfsplus";;
|
MOUNTFS="hfsplus";;
|
||||||
x"hfsplus_casesens")
|
x"hfsplus_casesens")
|
||||||
"mkfs.hfsplus" -s -b $BLKSIZE -v "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.hfsplus" -s -b $BLKSIZE -v "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
dd if=/dev/urandom of="${LODEVICES[0]}" bs=1 seek=$((16#468)) conv=notrunc count=8
|
dd if=/dev/urandom of="${MOUNTDEVICE}" bs=1 seek=$((16#468)) conv=notrunc count=8
|
||||||
MOUNTFS="hfsplus";;
|
MOUNTFS="hfsplus";;
|
||||||
x"hfs")
|
x"hfs")
|
||||||
"mkfs.hfs" -b $BLKSIZE -v "`echo $FSLABEL |recode utf8..macroman`" -h "${LODEVICES[0]}"
|
"mkfs.hfs" -b $BLKSIZE -v "`echo $FSLABEL |recode utf8..macroman`" -h "${MOUNTDEVICE}"
|
||||||
dd if=/dev/urandom of="${LODEVICES[0]}" bs=1 seek=$((16#474)) conv=notrunc count=8
|
dd if=/dev/urandom of="${MOUNTDEVICE}" bs=1 seek=$((16#474)) conv=notrunc count=8
|
||||||
MOUNTOPTS="iocharset=utf8,codepage=macroman,"
|
MOUNTOPTS="iocharset=utf8,codepage=macroman,"
|
||||||
;;
|
;;
|
||||||
x"vfat"*|xmsdos*)
|
x"vfat"*|xmsdos*)
|
||||||
@@ -640,98 +670,98 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
A=
|
A=
|
||||||
fi
|
fi
|
||||||
"mkfs.vfat" -a $A -S $SECSIZE -s $((BLKSIZE/SECSIZE)) -F "${BITS:0:2}" -n "$FSLABEL" "${LODEVICES[0]}"
|
"mkfs.vfat" -a $A -S $SECSIZE -s $((BLKSIZE/SECSIZE)) -F "${BITS:0:2}" -n "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="iocharset=utf8,codepage=437,"
|
MOUNTOPTS="iocharset=utf8,codepage=437,"
|
||||||
MOUNTFS="$(echo "$fs"|sed 's,[0-9]*a\?$,,')";;
|
MOUNTFS="$(echo "$fs"|sed 's,[0-9]*a\?$,,')";;
|
||||||
x"minix2")
|
x"minix2")
|
||||||
"mkfs.minix" -v "${LODEVICES[0]}"
|
"mkfs.minix" -v "${MOUNTDEVICE}"
|
||||||
MOUNTFS="minix";;
|
MOUNTFS="minix";;
|
||||||
x"minix3")
|
x"minix3")
|
||||||
"mkfs.minix" -B $BLKSIZE -3 "${LODEVICES[0]}"
|
"mkfs.minix" -B $BLKSIZE -3 "${MOUNTDEVICE}"
|
||||||
MOUNTFS="minix";;
|
MOUNTFS="minix";;
|
||||||
x"ntfs"*)
|
x"ntfs"*)
|
||||||
"mkfs.ntfs" -s "$SECSIZE" -c "$BLKSIZE" -L "$FSLABEL" -Q -q "${LODEVICES[0]}"
|
"mkfs.ntfs" -s "$SECSIZE" -c "$BLKSIZE" -L "$FSLABEL" -Q -q "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="iocharset=utf8,compression,"
|
MOUNTOPTS="iocharset=utf8,compression,"
|
||||||
MOUNTFS="ntfs-3g";;
|
MOUNTFS="ntfs-3g";;
|
||||||
x"udf")
|
x"udf")
|
||||||
"/usr/bin/mkudffs" -b $BLKSIZE --utf8 --lvid="$FSLABEL" "${LODEVICES[0]}"
|
"/usr/bin/mkudffs" -b $BLKSIZE --utf8 --lvid="$FSLABEL" "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="iocharset=utf8,bs=$BLKSIZE,";;
|
MOUNTOPTS="iocharset=utf8,bs=$BLKSIZE,";;
|
||||||
x"ufs2")
|
x"ufs2")
|
||||||
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 2 "${LODEVICES[0]}"
|
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 2 "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="ufstype=ufs2,"
|
MOUNTOPTS="ufstype=ufs2,"
|
||||||
MOUNTFS="ufs";;
|
MOUNTFS="ufs";;
|
||||||
x"ufs1")
|
x"ufs1")
|
||||||
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 1 "${LODEVICES[0]}"
|
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 1 "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="ufstype=44bsd,"
|
MOUNTOPTS="ufstype=44bsd,"
|
||||||
MOUNTFS="ufs";;
|
MOUNTFS="ufs";;
|
||||||
x"ufs1_sun")
|
x"ufs1_sun")
|
||||||
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 1 "${LODEVICES[0]}"
|
"mkfs.ufs" -b $BLKSIZE -L "$FSLABEL" -O 1 "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="ufstype=sun,"
|
MOUNTOPTS="ufstype=sun,"
|
||||||
MOUNTFS="ufs";;
|
MOUNTFS="ufs";;
|
||||||
x"zfs")
|
x"zfs")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" "${LODEVICES[0]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_caseins")
|
x"zfs_caseins")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" "${LODEVICES[0]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create -o casesensitivity=insensitive "$FSLABEL"/"grub fs"
|
"zfs" create -o casesensitivity=insensitive "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_lzjb" | xzfs_gzip | xzfs_zle)
|
x"zfs_lzjb" | xzfs_gzip | xzfs_zle)
|
||||||
"zpool" create -O compression=${fs/zfs_/} -R "$MNTPOINTRW" "$FSLABEL" "${LODEVICES[0]}"
|
"zpool" create -O compression=${fs/zfs_/} -R "$MNTPOINTRW" "$FSLABEL" "${MOUNTDEVICE}"
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create -o compression=${fs/zfs_/} "$FSLABEL"/"grub fs"
|
"zfs" create -o compression=${fs/zfs_/} "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_raidz")
|
x"zfs_raidz")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz1 "${LODEVICES[@]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz1 $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_raidz2")
|
x"zfs_raidz2")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz2 "${LODEVICES[@]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz2 $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_raidz3")
|
x"zfs_raidz3")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz3 "${LODEVICES[@]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" raidz3 $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_mirror")
|
x"zfs_mirror")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" mirror "${LODEVICES[@]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" mirror $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"zfs_stripe")
|
x"zfs_stripe")
|
||||||
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" "${LODEVICES[@]}"
|
"zpool" create -R "$MNTPOINTRW" "$FSLABEL" $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
"zfs" create "$FSLABEL"/"grub fs"
|
"zfs" create "$FSLABEL"/"grub fs"
|
||||||
sleep 1;;
|
sleep 1;;
|
||||||
x"tarfs" | x"cpio_"* | x"iso9660" | xjoliet | xrockridge | xrockridge_joliet | x"iso9660_1999" | xjoliet_1999 | xrockridge_1999 | xrockridge_joliet_1999 | x"ziso9660" | x"romfs" | x"squash4_"*)
|
x"tarfs" | x"cpio_"* | x"iso9660" | xjoliet | xrockridge | xrockridge_joliet | x"iso9660_1999" | xjoliet_1999 | xrockridge_1999 | xrockridge_joliet_1999 | x"ziso9660" | x"romfs" | x"squash4_"*)
|
||||||
INSTDEVICE=/dev/null;;
|
INSTDEVICE=/dev/null;;
|
||||||
x"reiserfs")
|
x"reiserfs")
|
||||||
"mkfs.reiserfs" --format=3.6 -b $BLKSIZE -l "$FSLABEL" -q "${LODEVICES[0]}" ;;
|
"mkfs.reiserfs" --format=3.6 -b $BLKSIZE -l "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
x"reiserfs_old")
|
x"reiserfs_old")
|
||||||
"mkfs.reiserfs" --format=3.5 -b $BLKSIZE -l "$FSLABEL" -q "${LODEVICES[0]}"
|
"mkfs.reiserfs" --format=3.5 -b $BLKSIZE -l "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||||
MOUNTFS=reiserfs;;
|
MOUNTFS=reiserfs;;
|
||||||
x"jfs")
|
x"jfs")
|
||||||
"mkfs.jfs" -L "$FSLABEL" -q "${LODEVICES[0]}"
|
"mkfs.jfs" -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||||
MOUNTOPTS="iocharset=utf8,";;
|
MOUNTOPTS="iocharset=utf8,";;
|
||||||
x"jfs_caseins")
|
x"jfs_caseins")
|
||||||
"mkfs.jfs" -O -L "$FSLABEL" -q "${LODEVICES[0]}"
|
"mkfs.jfs" -O -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||||
MOUNTFS=jfs
|
MOUNTFS=jfs
|
||||||
MOUNTOPTS="iocharset=utf8,";;
|
MOUNTOPTS="iocharset=utf8,";;
|
||||||
x"mdraid"*)
|
x"mdraid"*)
|
||||||
mdadm -C --chunk=$((BLKSIZE/1024)) --force -e "${fs:6:1}.${fs:7:1}" "/dev/md/${fs}_${NDEVICES}" --level="${fs:13}" --raid-devices="$NDEVICES" "${LODEVICES[@]}"
|
mdadm -C --chunk=$((BLKSIZE/1024)) --force -e "${fs:6:1}.${fs:7:1}" "/dev/md/${fs}_${NDEVICES}" --level="${fs:13}" --raid-devices="$NDEVICES" $LODEVICES
|
||||||
MOUNTDEVICE="/dev/md/${fs}_${NDEVICES}"
|
MOUNTDEVICE="/dev/md/${fs}_${NDEVICES}"
|
||||||
MOUNTFS=ext2
|
MOUNTFS=ext2
|
||||||
"mkfs.ext2" -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
"mkfs.ext2" -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
x"lvm"*)
|
x"lvm"*)
|
||||||
for ((i=0;i<NDEVICES;i++)); do
|
for lodev in $LODEVICES; do
|
||||||
pvcreate "${LODEVICES[i]}"
|
pvcreate "$lodev"
|
||||||
done
|
done
|
||||||
vgcreate -s $((BLKSIZE/1024))K grub_test "${LODEVICES[@]}"
|
vgcreate -s $((BLKSIZE/1024))K grub_test $LODEVICES
|
||||||
if [ x$fs = xlvm ] ; then
|
if [ x$fs = xlvm ] ; then
|
||||||
lvcreate -l "$((NDEVICES*7*LVMBLKMUL))" -n testvol grub_test
|
lvcreate -l "$((NDEVICES*7*LVMBLKMUL))" -n testvol grub_test
|
||||||
elif [ x$fs = xlvm_stripe ] ; then
|
elif [ x$fs = xlvm_stripe ] ; then
|
||||||
@@ -754,22 +784,22 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
MOUNTFS=ext2
|
MOUNTFS=ext2
|
||||||
"mkfs.ext2" -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
"mkfs.ext2" -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
xnilfs2)
|
xnilfs2)
|
||||||
"mkfs.nilfs2" -L "$FSLABEL" -b $BLKSIZE -q "${LODEVICES[0]}" ;;
|
"mkfs.nilfs2" -L "$FSLABEL" -b $BLKSIZE -q "${MOUNTDEVICE}" ;;
|
||||||
xext2_old)
|
xext2_old)
|
||||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext2" -r 0 -b $BLKSIZE -L "$FSLABEL" -q "${LODEVICES[0]}"
|
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext2" -r 0 -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||||
MOUNTFS=ext2
|
MOUNTFS=ext2
|
||||||
;;
|
;;
|
||||||
xext4_metabg)
|
xext4_metabg)
|
||||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext4" -O meta_bg,^resize_inode -b $BLKSIZE -L "$FSLABEL" -q "${LODEVICES[0]}"
|
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.ext4" -O meta_bg,^resize_inode -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}"
|
||||||
MOUNTFS=ext4
|
MOUNTFS=ext4
|
||||||
;;
|
;;
|
||||||
xext*)
|
xext*)
|
||||||
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.$fs" -b $BLKSIZE -L "$FSLABEL" -q "${LODEVICES[0]}" ;;
|
MKE2FS_DEVICE_SECTSIZE=$SECSIZE "mkfs.$fs" -b $BLKSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
xxfs)
|
xxfs)
|
||||||
"mkfs.xfs" -m crc=0 -b size=$BLKSIZE -s size=$SECSIZE -L "$FSLABEL" -q "${LODEVICES[0]}" ;;
|
"mkfs.xfs" -m crc=0 -b size=$BLKSIZE -s size=$SECSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
xxfs_crc)
|
xxfs_crc)
|
||||||
MOUNTFS="xfs"
|
MOUNTFS="xfs"
|
||||||
"mkfs.xfs" -m crc=1 -b size=$BLKSIZE -s size=$SECSIZE -L "$FSLABEL" -q "${LODEVICES[0]}" ;;
|
"mkfs.xfs" -m crc=1 -b size=$BLKSIZE -s size=$SECSIZE -L "$FSLABEL" -q "${MOUNTDEVICE}" ;;
|
||||||
*)
|
*)
|
||||||
echo "Add appropriate mkfs command here"
|
echo "Add appropriate mkfs command here"
|
||||||
exit 1
|
exit 1
|
||||||
@@ -870,11 +900,13 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
*)
|
*)
|
||||||
if ! mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRW" -o ${MOUNTOPTS}${SELINUXOPTS}rw ; then
|
if ! mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRW" -o ${MOUNTOPTS}${SELINUXOPTS}rw ; then
|
||||||
echo "MOUNT FAILED."
|
echo "MOUNT FAILED."
|
||||||
for ((i=0; i < NDEVICES; i++)); do
|
for lodev in $LODEVICES; do
|
||||||
while ! losetup -d "${LODEVICES[i]}"; do
|
while ! losetup -d "$lodev"; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done
|
done
|
||||||
rm "${FSIMAGES[i]}"
|
done
|
||||||
|
for i in $(range 0 $((NDEVICES-1)) 1); do
|
||||||
|
rm "$FSIMAGEP${i}.img"
|
||||||
done
|
done
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
@@ -933,11 +965,11 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
if (test x$fs = xvfat12a || test x$fs = xmsdos12a) && test x$BLKSIZE = x131072; then
|
if (test x$fs = xvfat12a || test x$fs = xmsdos12a) && test x$BLKSIZE = x131072; then
|
||||||
# With this config there isn't enough space for full copy.
|
# With this config there isn't enough space for full copy.
|
||||||
# Copy as much as we can
|
# Copy as much as we can
|
||||||
cp "${CFILESSRC[0]}" "$MNTPOINTRW/$OSDIR/${CFILES[0]}" &> /dev/null;
|
cp "${CFILESRC}" "$MNTPOINTRW/$OSDIR/${CFILE}" &> /dev/null;
|
||||||
else
|
else
|
||||||
for ((i=0;i<$CFILESN;i++)); do
|
|
||||||
cp "${CFILESSRC[i]}" "$MNTPOINTRW/$OSDIR/${CFILES[i]}";
|
cp "${CFILESRC}" "$MNTPOINTRW/$OSDIR/${CFILE}";
|
||||||
done
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ x$NOSYMLINK != xy ]; then
|
if [ x$NOSYMLINK != xy ]; then
|
||||||
@@ -948,6 +980,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
ln -s "${PDIR2}/$PFIL" "$MNTPOINTRW/$OSDIR/$PSYM"
|
ln -s "${PDIR2}/$PFIL" "$MNTPOINTRW/$OSDIR/$PSYM"
|
||||||
ln -s "$IFILE" "$MNTPOINTRW/$OSDIR/$ISYM"
|
ln -s "$IFILE" "$MNTPOINTRW/$OSDIR/$ISYM"
|
||||||
fi
|
fi
|
||||||
|
NOHARDLINK=y ###
|
||||||
if [ x$NOHARDLINK != xy ]; then
|
if [ x$NOHARDLINK != xy ]; then
|
||||||
ln "$MNTPOINTRW/$OSDIR/$BASEFILE" "$MNTPOINTRW/$OSDIR/$BASEHARD"
|
ln "$MNTPOINTRW/$OSDIR/$BASEFILE" "$MNTPOINTRW/$OSDIR/$BASEHARD"
|
||||||
fi
|
fi
|
||||||
@@ -962,48 +995,48 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
sleep 2
|
sleep 2
|
||||||
;;
|
;;
|
||||||
x"tarfs")
|
x"tarfs")
|
||||||
(cd "$MASTER"; tar cf "${FSIMAGES[0]}" .) ;;
|
(cd "$MASTER"; tar cf "${FSIMAGEP}0.img" .) ;;
|
||||||
x"cpio_"*)
|
x"cpio_"*)
|
||||||
(cd "$MASTER"; find . | cpio -o -H "${fs/cpio_/}" > "${FSIMAGES[0]}" ) ;;
|
(cd "$MASTER"; find . | cpio -o -H "$(echo ${fs} | sed 's@^cpio_@@')" > "${FSIMAGEP}0.img" ) ;;
|
||||||
x"ziso9660")
|
x"ziso9660")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso -compliance rec_mtime -set_filter_r --zisofs -- -zisofs default -as mkisofs -iso-level 3 -graft-points -R -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" -- -set_filter_r --zisofs -- -zisofs default -add /="$MASTER" ;;
|
xorriso -compliance rec_mtime -set_filter_r --zisofs -- -zisofs default -as mkisofs -iso-level 3 -graft-points -R -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" -- -set_filter_r --zisofs -- -zisofs default -add /="$MASTER" ;;
|
||||||
x"iso9660")
|
x"iso9660")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"joliet")
|
x"joliet")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"rockridge")
|
x"rockridge")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"rockridge_joliet")
|
x"rockridge_joliet")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 3 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"iso9660_1999")
|
x"iso9660_1999")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"joliet_1999")
|
x"joliet_1999")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge off -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"rockridge_1999")
|
x"rockridge_1999")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"rockridge_joliet_1999")
|
x"rockridge_joliet_1999")
|
||||||
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
FSUUID=$(date -u +%Y-%m-%d-%H-%M-%S-00);
|
||||||
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGES[0]}" /="$MASTER" ;;
|
xorriso --rockridge on -compliance rec_mtime -as mkisofs -iso-level 4 -graft-points -J -joliet-long -V "$FSLABEL" --modification-date=$(echo ${FSUUID} | sed 's/-//g;') -o "${FSIMAGEP}0.img" /="$MASTER" ;;
|
||||||
x"romfs")
|
x"romfs")
|
||||||
genromfs -V "$FSLABEL" -f "${FSIMAGES[0]}" -d "$MASTER" ;;
|
genromfs -V "$FSLABEL" -f "${FSIMAGEP}0.img" -d "$MASTER" ;;
|
||||||
xsquash4_*)
|
xsquash4_*)
|
||||||
echo mksquashfs "$MASTER" "${FSIMAGES[0]}" -comp "${fs/squash4_/}" -b $BLKSIZE
|
echo mksquashfs "$MASTER" "${FSIMAGEP}0.img" -comp "${fs/squash4_/}" -b $BLKSIZE
|
||||||
mksquashfs "$MASTER" "${FSIMAGES[0]}" -comp "${fs/squash4_/}" -b $BLKSIZE ;;
|
mksquashfs "$MASTER" "${FSIMAGEP}0.img" -comp "${fs/squash4_/}" -b $BLKSIZE ;;
|
||||||
x"bfs")
|
x"bfs")
|
||||||
sleep 1
|
sleep 1
|
||||||
fusermount -u "$MNTPOINTRW"
|
fusermount -u "$MNTPOINTRW"
|
||||||
;;
|
;;
|
||||||
xlvm*)
|
xlvm*)
|
||||||
sleep 1
|
sleep 1
|
||||||
for ((try=0;try < 20; try++)); do
|
for try in $(range 0 20 1); do
|
||||||
if umount "$MNTPOINTRW" ; then
|
if umount "$MNTPOINTRW" ; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -1015,7 +1048,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
;;
|
;;
|
||||||
xmdraid*)
|
xmdraid*)
|
||||||
sleep 1
|
sleep 1
|
||||||
for ((try=0;try < 20; try++)); do
|
for try in $(range 0 20 1); do
|
||||||
if umount "$MNTPOINTRW" ; then
|
if umount "$MNTPOINTRW" ; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -1027,7 +1060,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
sleep 1
|
sleep 1
|
||||||
for ((try=0;try < 20; try++)); do
|
for try in $(range 0 20 1); do
|
||||||
if umount "$MNTPOINTRW" ; then
|
if umount "$MNTPOINTRW" ; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -1060,7 +1093,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
sleep 1
|
sleep 1
|
||||||
mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRO" -o ${MOUNTOPTS}${SELINUXOPTS}ro ;;
|
mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRO" -o ${MOUNTOPTS}${SELINUXOPTS}ro ;;
|
||||||
xmdraid*)
|
xmdraid*)
|
||||||
mdadm --assemble /dev/md/"${fs}_$NDEVICES" "${LODEVICES[@]}"
|
mdadm --assemble /dev/md/"${fs}_$NDEVICES" $LODEVICES
|
||||||
sleep 1
|
sleep 1
|
||||||
mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRO" -o ${MOUNTOPTS}${SELINUXOPTS}ro ;;
|
mount -t "$MOUNTFS" "${MOUNTDEVICE}" "$MNTPOINTRO" -o ${MOUNTOPTS}${SELINUXOPTS}ro ;;
|
||||||
*)
|
*)
|
||||||
@@ -1079,7 +1112,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo LIST FAIL
|
echo LIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1088,7 +1121,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo NLIST FAIL
|
echo NLIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -lA "$MNTPOINTRO"
|
TZ=UTC ls -lA "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1097,7 +1130,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo ILIST FAIL
|
echo ILIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1106,7 +1139,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo LONG LIST FAIL
|
echo LONG LIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1117,7 +1150,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo TIME FAIL
|
echo TIME FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1127,7 +1160,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo LONG TIME FAIL
|
echo LONG TIME FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1143,7 +1176,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo DOT IN ROOTDIR FAIL
|
echo DOT IN ROOTDIR FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1157,7 +1190,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo DOTDOT IN ROOTDIR FAIL
|
echo DOTDOT IN ROOTDIR FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO"
|
TZ=UTC ls -l "$MNTPOINTRO"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@@ -1174,7 +1207,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo SLIST FAIL
|
echo SLIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO/sdir"
|
TZ=UTC ls -l "$MNTPOINTRO/sdir"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1189,7 +1222,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo PLIST FAIL
|
echo PLIST FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO/$PDIR"
|
TZ=UTC ls -l "$MNTPOINTRO/$PDIR"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1204,7 +1237,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo DOT IN SUBDIR FAIL
|
echo DOT IN SUBDIR FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO/$OSDIR/sdir"
|
TZ=UTC ls -l "$MNTPOINTRO/$OSDIR/sdir"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1219,7 +1252,7 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
else
|
else
|
||||||
echo DOTDOT IN SUBDIR FAIL
|
echo DOTDOT IN SUBDIR FAIL
|
||||||
echo "$LSROUT"
|
echo "$LSROUT"
|
||||||
TZ=UTC ls --time-style=+%Y%m%d%H%M%S.%N -l "$MNTPOINTRO/$OSDIR/ssdir"
|
TZ=UTC ls -l "$MNTPOINTRO/$OSDIR/ssdir"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1239,8 +1272,8 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
case x"$fs" in
|
case x"$fs" in
|
||||||
x"iso9660" | x"ziso9660" | xrockridge | xjoliet | xrockridge_joliet | x"iso9660_1999" | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999) ;;
|
x"iso9660" | x"ziso9660" | xrockridge | xjoliet | xrockridge_joliet | x"iso9660_1999" | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999) ;;
|
||||||
x"zfs"*)
|
x"zfs"*)
|
||||||
for ((i=0;i<NDEVICES;i++)); do
|
for lodev in $LODEVICES; do
|
||||||
FSUUID=$(printf "%016x\n" $(blkid -o export "${LODEVICES[i]}" |grep -F UUID=|sed s,UUID=,,g))
|
FSUUID=$(printf "%016x\n" $(blkid -o export "$lodev" |grep -F UUID=|sed s,UUID=,,g))
|
||||||
if [ "$FSUUID" != 0000000000000000 ]; then
|
if [ "$FSUUID" != 0000000000000000 ]; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -1258,8 +1291,8 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
echo UUID FAIL
|
echo UUID FAIL
|
||||||
echo "$LSOUT"
|
echo "$LSOUT"
|
||||||
echo "$GRUBUUID"
|
echo "$GRUBUUID"
|
||||||
for ((i=0;i<NDEVICES;i++)); do
|
for lodev in $LODEVICES; do
|
||||||
blkid "${LODEVICES[i]}"
|
blkid "$lodev"
|
||||||
done
|
done
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -1284,37 +1317,37 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
echo UUID FAIL
|
echo UUID FAIL
|
||||||
echo "$FSUUID"
|
echo "$FSUUID"
|
||||||
echo "$LSOUT"
|
echo "$LSOUT"
|
||||||
blkid "${LODEVICES[0]}"
|
blkid "${MOUNTDEVICE}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case x$fs in
|
if [ x$NOFSTIME != xy ]; then
|
||||||
xiso9660 | xziso9660 | xrockridge | xjoliet | xrockridge_joliet | xiso9660_1999 | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999)
|
case x$fs in
|
||||||
FSTIME="$(date -d "$(echo ${FSUUID} | awk -F - '{ print $1"-"$2"-"$3" "$4":"$5":"$6 ;}')" '+%Y-%m-%d %H:%M:%S')";;
|
xiso9660 | xziso9660 | xrockridge | xjoliet | xrockridge_joliet | xiso9660_1999 | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999)
|
||||||
xlvm*|xmdraid*)
|
FSTIME="$(date -d "$(echo ${FSUUID} | awk -F - '{ print $1"-"$2"-"$3" "$4":"$5":"$6 ;}')" '+%Y-%m-%d %H:%M:%S')";;
|
||||||
# With some abstractions like mdraid flushing to disk
|
xlvm*|xmdraid*)
|
||||||
# may be delayed for a long time.
|
# With some abstractions like mdraid flushing to disk
|
||||||
FSTIME="$UMOUNT_TIME";;
|
# may be delayed for a long time.
|
||||||
*)
|
FSTIME="$UMOUNT_TIME";;
|
||||||
FSTIME="$(TZ=UTC ls --time-style="+%Y-%m-%d_%H:%M:%S" -l -d "${FSIMAGES[0]}"|awk '{print $6; }'|sed 's,_, ,g')";;
|
*)
|
||||||
esac
|
FSTIME="$(TZ=UTC ls --time-style="+%Y-%m-%d_%H:%M:%S" -l -d "${FSIMAGEP}0.img"|awk '{print $6; }'|sed 's,_, ,g')";;
|
||||||
# With some abstractions like mdraid computing of UMOUNT_TIME
|
esac
|
||||||
# is not precise. Account for small difference here.
|
# With some abstractions like mdraid computing of UMOUNT_TIME
|
||||||
FSTIMEM1="$(date -d "$FSTIME UTC -1 second" -u "+%Y-%m-%d %H:%M:%S")"
|
# is not precise. Account for small difference here.
|
||||||
FSTIMEM2="$(date -d "$FSTIME UTC -2 second" -u "+%Y-%m-%d %H:%M:%S")"
|
FSTIMEM1="$(date -d "$FSTIME UTC -1 second" -u "+%Y-%m-%d %H:%M:%S")"
|
||||||
FSTIMEM3="$(date -d "$FSTIME UTC -3 second" -u "+%Y-%m-%d %H:%M:%S")"
|
FSTIMEM2="$(date -d "$FSTIME UTC -2 second" -u "+%Y-%m-%d %H:%M:%S")"
|
||||||
|
FSTIMEM3="$(date -d "$FSTIME UTC -3 second" -u "+%Y-%m-%d %H:%M:%S")"
|
||||||
|
|
||||||
if [ x$NOFSTIME = xy ]; then
|
if echo "$LSOUT" | grep -F 'Last modification time '"$FSTIME" > /dev/null || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM1" > /dev/null || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM2" || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM3" > /dev/null; then
|
||||||
:
|
:
|
||||||
elif echo "$LSOUT" | grep -F 'Last modification time '"$FSTIME" > /dev/null || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM1" > /dev/null || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM2" || echo "$LSOUT" | grep -F 'Last modification time '"$FSTIMEM3" > /dev/null; then
|
else
|
||||||
:
|
echo FSTIME FAIL
|
||||||
else
|
echo "$FSTIME"
|
||||||
echo FSTIME FAIL
|
echo "$LSOUT"
|
||||||
echo "$FSTIME"
|
exit 1
|
||||||
echo "$LSOUT"
|
fi
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ x$NOHARDLINK != xy ]; then
|
if [ x$NOHARDLINK != xy ]; then
|
||||||
@@ -1404,11 +1437,9 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
ok=true
|
ok=true
|
||||||
for ((i=0;i<$CFILESN;i++)); do
|
if ! run_grubfstest cmp "$GRUBDIR/${CFILE}" "$MNTPOINTRO/$OSDIR/${CFILE}" ; then
|
||||||
if ! run_grubfstest cmp "$GRUBDIR/${CFILES[i]}" "$MNTPOINTRO/$OSDIR/${CFILES[i]}" ; then
|
ok=false;
|
||||||
ok=false;
|
fi
|
||||||
fi
|
|
||||||
done
|
|
||||||
if test x$ok = xtrue; then
|
if test x$ok = xtrue; then
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
@@ -1497,15 +1528,17 @@ for ((LOGSECSIZE=MINLOGSECSIZE;LOGSECSIZE<=MAXLOGSECSIZE;LOGSECSIZE=LOGSECSIZE +
|
|||||||
sleep 1
|
sleep 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
for ((i=0; i < NDEVICES; i++)); do
|
case x"$fs" in
|
||||||
case x"$fs" in
|
x"tarfs" | x"cpio_"* | x"iso9660" | xrockridge | xjoliet | xrockridge_joliet | x"ziso9660" | x"romfs" | x"squash4_"* | x"iso9660_1999" | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999) ;;
|
||||||
x"tarfs" | x"cpio_"* | x"iso9660" | xrockridge | xjoliet | xrockridge_joliet | x"ziso9660" | x"romfs" | x"squash4_"* | x"iso9660_1999" | xrockridge_1999 | xjoliet_1999 | xrockridge_joliet_1999) ;;
|
*)
|
||||||
*)
|
for lodev in $LODEVICES; do
|
||||||
while ! losetup -d "${LODEVICES[i]}"; do
|
while ! losetup -d "$lodev"; do
|
||||||
sleep 1
|
sleep 1
|
||||||
done;;
|
done
|
||||||
esac
|
done;;
|
||||||
rm "${FSIMAGES[i]}"
|
esac
|
||||||
|
for i in $(range 0 $((NDEVICES-1)) 1); do
|
||||||
|
rm "$FSIMAGEP${i}.img"
|
||||||
done
|
done
|
||||||
if [ x"$fs" = x"zfs" ]; then
|
if [ x"$fs" = x"zfs" ]; then
|
||||||
rmdir "$MNTPOINTRW"/"grub fs" || true
|
rmdir "$MNTPOINTRW"/"grub fs" || true
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Compares GRUB script output with BASH output.
|
# Compares GRUB script output with BASH output.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Run GRUB script in a Qemu instance
|
# Run GRUB script in a Qemu instance
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /bin/sh
|
#! @BUILD_SHEBANG@
|
||||||
# Copyright (C) 2013 Free Software Foundation, Inc.
|
# Copyright (C) 2013 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# GRUB is free software: you can redistribute it and/or modify
|
# GRUB is free software: you can redistribute it and/or modify
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!@BUILD_SHEBANG@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user