Changeset 2395 in MondoRescue for branches/2.2.10/mindi/mindi


Ignore:
Timestamp:
Sep 12, 2009, 2:57:02 AM (15 years ago)
Author:
Bruno Cornec
Message:
  • Fix interface of evaluate_mountlist (remove 2nd param useless) and fix nuke mode which wasn't working.
  • Tries to add support for bzip2 and lzma initramfs (preliminary, not tested) for 2.6.30

(Backport from 2.2.9)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mindi/mindi

    r2391 r2395  
    653653        lvScanRes=`gzip -cd $lvKernelImage | strings | grep -E "$lcMagicCramfs|$lcMagicExt2fs|$lcMagicExt3fs|$lcMagicInitfs"`
    654654    else
    655         # get offet of gzip magic "1f8b0800" in file
     655        # Since 2.6.30 kernel can use lzma and bzip2 in addition to gzip for initramfs compression
     656        # get offet of gzip magic "1f8b0800" in file (or 1f8b9e ??)
    656657        lvOffset=`od -vA n -t x1 $lvKernelImage | tr -d '[:space:]' | awk '{ print match($0, "1f8b0800")}'`
    657         [ $lvOffset -eq 0 ] && Die "gzip magic not found in file $lvKernelImage. Terminating."
     658        if [ $lvOffset -eq 0 ]; then
     659            # get offet of bzip2 magic "425a" in file
     660            lvOffset=`od -vA n -t x1 $lvKernelImage | tr -d '[:space:]' | awk '{ print match($0, "425a")}'`
     661            if [ $lvOffset -eq 0 ]; then
     662                # get offet of lzma magic "5d00" in file
     663                lvOffset=`od -vA n -t x1 $lvKernelImage | tr -d '[:space:]' | awk '{ print match($0, "5d00")}'`
     664                if [ $lvOffset -eq 0 ]; then
     665                    Die "No magic compression pattern found in file $lvKernelImage. Terminating."
     666                else
     667                    comp="lzma"
     668                fi
     669            else
     670                comp="bzip2"
     671            fi
     672        else
     673            comp="gzip"
     674        fi
     675
    658676        lvOffset=`expr $lvOffset / 2`
    659         LogFile "  GetInitrdFilesystemToUse(): gzip magic found at lvOffset $lvOffset.\n"
     677        LogFile "  GetInitrdFilesystemToUse(): $comp magic found in $lvKernelImage at lvOffset $lvOffset.\n"
    660678
    661679        # scan kernel image for initrd filessystem support
    662         lvScanRes=`dd ibs=1 skip=$lvOffset if=$lvKernelImage obs=1M 2>/dev/null | gunzip -c 2> /dev/null | strings | grep -E "$lcMagicCramfs|$lcMagicExt2fs|$lcMagicExt3fs|$lcMagicInitfs"`
     680        lvScanRes=`dd ibs=1 skip=$lvOffset if=$lvKernelImage obs=1M 2>/dev/null | $comp -dc 2> /dev/null | strings | grep -E "$lcMagicCramfs|$lcMagicExt2fs|$lcMagicExt3fs|$lcMagicInitfs"`
    663681    fi
    664682
Note: See TracChangeset for help on using the changeset viewer.