mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
Teach cramfs to handle byteswapping sanely. I want to specify
big endian or little endian, not whether to unconditionally do byteswapping regardless of build system byte order.
This commit is contained in:
parent
42f7febfb8
commit
1515bfd3bb
@ -8,11 +8,12 @@
|
|||||||
|
|
||||||
static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid;
|
static int warn_dev, warn_gid, warn_namelen, warn_skip, warn_size, warn_uid;
|
||||||
static const char *const memory_exhausted = "memory exhausted";
|
static const char *const memory_exhausted = "memory exhausted";
|
||||||
@@ -155,6 +156,7 @@
|
@@ -155,6 +156,8 @@
|
||||||
" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
|
" -i file insert a file image into the filesystem (requires >= 2.4.0)\n"
|
||||||
" -n name set name of cramfs filesystem\n"
|
" -n name set name of cramfs filesystem\n"
|
||||||
" -p pad by %d bytes for boot code\n"
|
" -p pad by %d bytes for boot code\n"
|
||||||
+ " -r reverse endian-ness of filesystem\n"
|
+ " -l litte endian filesystem\n"
|
||||||
|
+ " -b big endian filesystem\n"
|
||||||
" -s sort directory entries (old option, ignored)\n"
|
" -s sort directory entries (old option, ignored)\n"
|
||||||
" -v be more verbose\n"
|
" -v be more verbose\n"
|
||||||
" -z make explicit holes (requires >= 2.3.39)\n"
|
" -z make explicit holes (requires >= 2.3.39)\n"
|
||||||
@ -108,17 +109,25 @@
|
|||||||
|
|
||||||
/* command line options */
|
/* command line options */
|
||||||
- while ((c = getopt(argc, argv, "hEe:i:n:psvzD:q")) != EOF) {
|
- while ((c = getopt(argc, argv, "hEe:i:n:psvzD:q")) != EOF) {
|
||||||
+ while ((c = getopt(argc, argv, "hEe:i:n:prsvzD:q")) != EOF) {
|
+ while ((c = getopt(argc, argv, "hEe:i:n:psvzD:qlb")) != EOF) {
|
||||||
switch (c) {
|
switch (c) {
|
||||||
case 'h':
|
case 'h':
|
||||||
usage(MKFS_OK);
|
usage(MKFS_OK);
|
||||||
@@ -1174,6 +1226,10 @@
|
@@ -1174,6 +1227,18 @@
|
||||||
opt_pad = PAD_SIZE;
|
opt_pad = PAD_SIZE;
|
||||||
fslen_ub += PAD_SIZE;
|
fslen_ub += PAD_SIZE;
|
||||||
break;
|
break;
|
||||||
+ case 'r':
|
+ case 'b':
|
||||||
|
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
+ swap_endian = 1;
|
+ swap_endian = 1;
|
||||||
+ printf("Swapping filesystem endian-ness\n");
|
+ printf("Swapping filesystem endian-ness\n");
|
||||||
|
+#endif
|
||||||
|
+ break;
|
||||||
|
+ case 'l':
|
||||||
|
+#if __BYTE_ORDER == __BIG_ENDIAN
|
||||||
|
+ swap_endian = 1;
|
||||||
|
+ printf("Swapping filesystem endian-ness\n");
|
||||||
|
+#endif
|
||||||
+ break;
|
+ break;
|
||||||
case 's':
|
case 's':
|
||||||
/* old option, ignored */
|
/* old option, ignored */
|
||||||
|
@ -33,23 +33,24 @@ cramfs-dirclean:
|
|||||||
# Build the cramfs root filesystem image
|
# Build the cramfs root filesystem image
|
||||||
#
|
#
|
||||||
#############################################################
|
#############################################################
|
||||||
|
CRAMFS_ENDIANNESS=-l
|
||||||
ifeq ($(strip $(BR2_armeb)),y)
|
ifeq ($(strip $(BR2_armeb)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
ifeq ($(strip $(BR2_mips)),y)
|
ifeq ($(strip $(BR2_mips)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
ifeq ($(strip $(BR2_powerpc)),y)
|
ifeq ($(strip $(BR2_powerpc)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
ifeq ($(strip $(BR2_sh3eb)),y)
|
ifeq ($(strip $(BR2_sh3eb)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
ifeq ($(strip $(BR2_sh4eb)),y)
|
ifeq ($(strip $(BR2_sh4eb)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
ifeq ($(strip $(BR2_sparc)),y)
|
ifeq ($(strip $(BR2_sparc)),y)
|
||||||
CRAMFS_ENDIANNESS=-r
|
CRAMFS_ENDIANNESS=-b
|
||||||
endif
|
endif
|
||||||
|
|
||||||
cramfsroot: cramfs
|
cramfsroot: cramfs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user