#!/bin/sh case $1 in prereqs) exit 0 ;; esac # Extract kernel parameters root_val="" set -- $(cat /proc/cmdline) for x in "$@"; do case "$x" in root=UUID=*) root_val="${x#root=UUID=}" blkdev=$(blkid --uuid $root_val) ;; root=*) blkdev="${x#root=}" ;; esac done # Check the filesystem we are using if [ ! -z $blkdev ]; then fstype=$(blkid -o value -s TYPE $blkdev) case "$fstype" in ext4) cmd="fsck.ext4 -v -p" ;; ext3) cmd="fsck.ext3 -v -p" ;; esac if [ ! -z "$cmd" ]; then $cmd $blkdev 2>&1 | gzip -c > /tmp/fsck.log.gz fi fi