diff -up /usr/src/fmk/src/squashfs-2.1-r2/Makefile.orig /usr/src/fmk/src/squashfs-2.1-r2/Makefile --- /usr/src/fmk/src/squashfs-2.1-r2/Makefile.orig 2019-01-02 18:40:09.476145620 -0800 +++ /usr/src/fmk/src/squashfs-2.1-r2/Makefile 2019-01-02 18:52:06.766320148 -0800 @@ -1,8 +1,9 @@ -CC := gcc -CXX := g++ -INCLUDEDIR = . -CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 +INCLUDEDIR := . +CFLAGS += -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2 +CC := gcc $(CFLAGS) +CXX := g++ $(CFLAGS) LZMAPATH = ../lzma/C/7zip/Compress/LZMA_Lib +export all: mksquashfs-lzma mksquashfs unsquashfs-lzma unsquashfs @@ -39,3 +40,5 @@ clean: rm -f mksquashfs-lzma.exe rm -f unsquashfs-lzma.exe make -C $(LZMAPATH) clean +env: + env diff -up /usr/src/fmk/src/squashfs-2.1-r2/mksquashfs.c.orig /usr/src/fmk/src/squashfs-2.1-r2/mksquashfs.c --- /usr/src/fmk/src/squashfs-2.1-r2/mksquashfs.c.orig 2019-01-02 19:00:02.247784629 -0800 +++ /usr/src/fmk/src/squashfs-2.1-r2/mksquashfs.c 2019-01-09 20:49:08.407607218 -0800 @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -263,7 +264,10 @@ void sighandler() unsigned int mangle(char *d, char *s, int size, int block_size, int uncompressed, int data_block) { unsigned long c_byte = block_size << 1; + char *zipheader = "7zip"; unsigned int res; + memcpy(d, zipheader, 4); + d += 4; if(!uncompressed && (res = compress2(d, &c_byte, s, size, 9)) != Z_OK) { if(res == Z_MEM_ERROR) diff -up /usr/src/fmk/src/squashfs-2.1-r2/read_fs.c.orig /usr/src/fmk/src/squashfs-2.1-r2/read_fs.c --- /usr/src/fmk/src/squashfs-2.1-r2/read_fs.c.orig 2019-01-02 19:00:06.195796824 -0800 +++ /usr/src/fmk/src/squashfs-2.1-r2/read_fs.c 2019-01-02 18:56:45.531177839 -0800 @@ -27,6 +27,7 @@ extern int add_file(int, int, unsigned i #define FALSE 0 #include #include +#include #include #include #include diff -up /usr/src/fmk/src/squashfs-2.1-r2/unsquashfs.c.orig /usr/src/fmk/src/squashfs-2.1-r2/unsquashfs.c --- /usr/src/fmk/src/squashfs-2.1-r2/unsquashfs.c.orig 2019-01-02 19:00:11.299812583 -0800 +++ /usr/src/fmk/src/squashfs-2.1-r2/unsquashfs.c 2019-01-02 18:57:00.675224505 -0800 @@ -28,6 +28,7 @@ #define FALSE 0 #include #include +#include #include #include #include diff -up /usr/src/fmk/build-firmware.sh.orig /usr/src/fmk/build-firmware.sh --- /usr/src/fmk/build-firmware.sh.orig 2019-01-06 02:12:20 +0000 +++ /usr/src/fmk/build-firmware.sh 2019-01-06 03:16:47 +0000 @@ -76,7 +76,12 @@ if [ "$FS_BLOCKSIZE" != "" ]; then BS="-b $FS_BLOCKSIZE" HR_BLOCKSIZE="$(($FS_BLOCKSIZE/1024))" - echo "Squahfs block size is $HR_BLOCKSIZE Kb" + echo "Squashfs block size is $HR_BLOCKSIZE Kb" + fi + + # if version is 2.0, don't let it build 2.1 + if [ "$FS_VERSION" = "2.0" ]; then + COMP="$COMP -2.0" fi $SUDO $MKFS "$ROOTFS" "$FSOUT" $ENDIANESS $BS $COMP -all-root diff -up /usr/src/fmk/extract-firmware.sh.orig /usr/src/fmk/extract-firmware.sh --- /usr/src/fmk/extract-firmware.sh.orig 2019-01-06 02:12:20 +0000 +++ /usr/src/fmk/extract-firmware.sh 2019-01-06 02:12:56 +0000 @@ -94,6 +94,10 @@ ENDIANESS="-le" fi + # Get version number + FS_VERSION=$(echo ${LINE} | \ + sed -n 's/^.* version \([^,]\+\),.*$/\1/p') + # Check for compression type of the file system. Default to LZMA if [ "$(echo ${LINE} | grep -i 'gzip')" != "" ]; then FS_COMPRESSION="gzip" @@ -172,16 +176,17 @@ echo "FS_COMPRESSION='${FS_COMPRESSION}'" >> ${CONFLOG} echo "FS_BLOCKSIZE='${FS_BLOCKSIZE}'" >> ${CONFLOG} echo "ENDIANESS='${ENDIANESS}'" >> ${CONFLOG} +echo "FS_VERSION='${FS_VERSION}'">> ${CONFLOG} # Extract the file system and save the MKFS variable to the CONFLOG case ${FS_TYPE} in "squashfs") echo "Extracting squashfs files..." - ${SUDO} ./unsquashfs_all.sh "${FSIMG}" "${ROOTFS}" 2>/dev/null | grep MKFS >> "${CONFLOG}" + ./unsquashfs_all.sh "${FSIMG}" "${ROOTFS}" 2>/dev/null | grep MKFS >> "${CONFLOG}" ;; "cramfs") echo "Extracting CramFS file system..." - ${SUDO} ./uncramfs_all.sh "${FSIMG}" "${ROOTFS}" ${ENDIANESS} 2>/dev/null | grep MKFS >> "${CONFLOG}" + ./uncramfs_all.sh "${FSIMG}" "${ROOTFS}" ${ENDIANESS} 2>/dev/null | grep MKFS >> "${CONFLOG}" ;; *) echo "Unsupported file system '${FS_TYPE}'! Quitting..." diff -uNr fmk/rootfs/www/tools_time.php fmk_modified/rootfs/www/tools_time.php --- fmk/rootfs/www/tools_time.php 2007-08-06 18:46:06.000000000 -0700 +++ fmk_modified/rootfs/www/tools_time.php 2014-02-07 23:32:09.000000000 -0800 @@ -245,7 +245,7 @@