]> git.ipfire.org Git - thirdparty/dracut.git/blame - lsinitrd.sh
TEST-30-ISCSI: put back in hard-off.sh for tests
[thirdparty/dracut.git] / lsinitrd.sh
CommitLineData
3b403b32 1#!/bin/bash
cc02093d
HH
2# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
3# ex: ts=8 sw=4 sts=4 et filetype=sh
4#
5# Copyright 2005-2010 Harald Hoyer <harald@redhat.com>
6# Copyright 2005-2010 Red Hat, Inc. All rights reserved.
7#
8# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
074d12c1 21
3ea5d2e2
AW
22[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]" ; exit 1 ; }
23
24sorted=0
25while getopts "s" opt; do
26 case $opt in
27 s) sorted=1;;
28 \?) exit 1;;
29 esac
30done
31shift $((OPTIND-1))
32
829c2585
HH
33image="${1:-/boot/initramfs-$(uname -r).img}"
34[[ -f "$image" ]] || { echo "$image does not exist" ; exit 1 ; }
074d12c1 35
66fe35eb 36CAT=zcat
25ff71b0 37FILE_T=$(file --dereference "$image")
66fe35eb 38
d20d307d 39if echo "test"|xz|xz -dc --single-stream >/dev/null 2>&1; then
c96425c3
HH
40 XZ_SINGLE_STREAM="--single-stream"
41fi
42
b5c2fc11 43if [[ "$FILE_T" =~ :\ gzip\ compressed\ data ]]; then
66fe35eb 44 CAT=zcat
b5c2fc11 45elif [[ "$FILE_T" =~ :\ xz\ compressed\ data ]]; then
c96425c3 46 CAT="xzcat $XZ_SINGLE_STREAM"
b5c2fc11 47elif [[ "$FILE_T" =~ :\ XZ\ compressed\ data ]]; then
c96425c3 48 CAT="xzcat $XZ_SINGLE_STREAM"
bdb81899
HH
49elif [[ "$FILE_T" =~ :\ LZMA ]]; then
50 CAT="xzcat $XZ_SINGLE_STREAM"
b5c2fc11 51elif [[ "$FILE_T" =~ :\ data ]]; then
bdb81899 52 CAT="xzcat $XZ_SINGLE_STREAM"
66fe35eb
HH
53fi
54
430bfefd 55if [[ $# -eq 2 ]]; then
829c2585 56 $CAT $image | cpio --extract --verbose --quiet --to-stdout ${2#/} 2>/dev/null
430bfefd
HH
57 exit $?
58fi
59
0c7112fc 60echo "$image: $(du -h $image | awk '{print $1}')"
074d12c1 61echo "========================================================================"
3b403b32 62$CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null
074d12c1 63echo "========================================================================"
3ea5d2e2
AW
64if [ "$sorted" -eq 1 ]; then
65 $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
66else
67 $CAT "$image" | cpio --extract --verbose --quiet --list
68fi
074d12c1 69echo "========================================================================"