You are not logged in.

#1 2010-02-06 01:18:45

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

Hi,
Earlier my desktop (after a week uptime) didn't boot anymore. It got the "Reboot required" error at filesystem check (the rc.sysinit script gives this when fsck returns exit status 2).
I tried several things, made sure from a live that the partitions were all clean, yet nothing helped. Then i noticed i wasn't all up to date and made a pacman -Su (after refreshing the list) and at the kernel26 upgrade it said 'SUCCESS' but it gave a small error message during it:

:: Parsing hook [autodetect]
/lib/initcpio/install/autodetect: Zeile 17: filesystem:ext3:1.0: Kommando nicht gefunden.

(Sorry in German but it really is just "line 17" and "command not found").

The Message only appeared in the normal kernel, during building the fallback it didn't say anything.

I had done the same updates a day before on my netbook and there i can't remember any error message and it also boots just fine.

As long as i disable automatic fsck at boot in the fstab the system boots fine.

I'm too tired right now to try any more things, i need sleep. I'd appreciate some help in this, however it's not too urgent, as i can boot and use the system without automatic filesystem check at boot-time.

Ogion

EDIT:
Forgot to add the filesystems and autodetect files from the directory mentioned in the error message:

/lib/initcpio/install/filesystems:

# vim: set ft=sh:

install ()
{
    MODULES=" $(checked_modules '/kernel/fs' | grep -v "nls") $(checked_modules '/kernel/fs/nls/nls_cp437')"
    BINARIES=""
    FILES=""
    SCRIPT=""
}

help ()
{
cat<<HELPEOF
  This hook adds filesystems modules to the image. If you would like to
  minimize the modules installed in the image, add the autodetect hook too.
HELPEOF
}

/lib/initcpio/install/autodetect

# vim: set ft=sh:

install ()
{
    MODULE_FILE="${TMPDIR}/autodetect_modules"
    #blegh, we'll let /tmp clean itself up
    AUTODETECT="$(auto_modules -e '/scsi/' -e '/block' -e '/fusion/' \
                    -e '/usb/' -e '/ide/' -e '/ieee1394/' -e '/cdrom' \
                    -e '/net/' -e '/pcmcia' -e '/ata' \
                  | grep -v -e 'ata_generic.ko' -e 'ide-generic.ko')"


    #Filesystem detection, use sysfs instead of /proc
    findfs ()
    {
        for blkdev in $(find /dev -type b | grep -v -e /dev/loop -e /dev/ram -e /dev/fd); do
            (eval $(/sbin/blkid -o udev -p "${blkdev}"); [ "${ID_FS_USAGE}" = "filesystem" ] && echo $ID_FS_TYPE)
        done
    }

    if [ ${UID} -eq 0 -o "$(groups | grep disk)" != "" ]; then
        for fs in $(findfs | sort | uniq); do
            for mod in $(find "${MODULEDIR}" -type f -name "${fs}.ko"); do
                if [ -n "${mod}" ]; then
                    AUTODETECT="${AUTODETECT} ${mod}"
                fi
            done
        done

        if [ -e /sbin/mdadm ]; then
            for raidmod in $(/sbin/mdadm -E -s -v /dev/hd* /dev/sd* /dev/rd/* /dev/ida/* /dev/cciss/* /dev/ataraid/* /dev/mapper/* \
                        | awk -Flevel= '{print $2}' | awk '{print $1}'); do
                case "${raidmod}" in
                    raid4|raid5|raid6)
                        AUTODETECT="${AUTODETECT} raid456" ;;
                    *)
                        AUTODETECT="${AUTODETECT} ${raidmod}" ;;
                esac
            done
        fi
    else
        err "User does not have proper permissions to read superblocks, raid and filesystem modules are not detected"
    fi

    for m in ${AUTODETECT}; do
        modname="$(basename ${m%%\.ko})"
        grep "^${modname}$" "${MODULE_FILE}" >/dev/null 2>&1 && continue
        case "${m}" in 
            #*/ieee1394/*) echo -e "sbp2\nsd_mod\nsr_mod" >> "${MODULE_FILE}";;
            *ext3*) echo "jbd" >> "${MODULE_FILE}" ;;
            *ext4*) echo -e "jbd2\nmbcache\ncrc16" >> "${MODULE_FILE}" ;;
            *afs*) echo "rxrpc" >> "${MODULE_FILE}" ;;
            *cramfs*) echo "zlib_inflate" >> "${MODULE_FILE}" ;;
            *isofs*) echo "zlib_inflate" >> "${MODULE_FILE}" ;;
            *msdos*) echo "fat" >> "${MODULE_FILE}" ;;
            *vfat*) echo -e "fat\nnls_cp437" >> "${MODULE_FILE}" ;;
            *ocfs2*) echo -e "ocfs2_dlm\njbd\nocfs2_nodemanager\nconfigfs" >> "${MODULE_FILE}" ;;
        esac
        echo "${modname}" >> "${MODULE_FILE}"
    done

    BINARIES=""
    SCRIPT=""
}

help ()
{
cat <<HELPEOF
  This hook shrinks your initramdisk to a smaller size 
  by autodetecting your needed modules. Be sure to verify
  included modules are correct and none are missing.
  This hook must be run before other subsystem hooks in
  order to take advantage of auto-detection.  Any hooks
  placed before 'autodetect' will be installed in full.
HELPEOF
}

Last edited by Ogion (2010-02-06 01:23:07)


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#2 2010-02-06 13:35:15

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

Deinstalling and reinstalling various packages didn't help (e2fsprogs, mkinitcpio, kernel26 ..).

I copied the kernel from my netbook over to my desktop as an additional kernel image, and booted with that and behold, it did work out correctly. After that boot i booted with the normal kernel of the desktop again and yes, it now works.
But, mkinitcpio still, when autodetect is in the HOOKS, complains about that:

:: Parsing hook [autodetect]
/lib/initcpio/install/autodetect: Zeile 17: filesystem:ext3:1.0: Kommando nicht gefunden.

So this is partially solved, in that i can boot and use the system again. But i still find this message above weird (it does not appear on my netbook, using the same version-numbers of kernel and mkinitcpio).

Ogion

Last edited by Ogion (2010-02-06 13:36:10)


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#3 2010-02-16 07:26:52

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

Ogion wrote:

Hi,

:: Parsing hook [autodetect]
/lib/initcpio/install/autodetect: Zeile 17: filesystem:ext3:1.0: Kommando nicht gefunden.

...
/lib/initcpio/install/autodetect

# vim: set ft=sh:

install ()
{
    MODULE_FILE="${TMPDIR}/autodetect_modules"
    #blegh, we'll let /tmp clean itself up
    AUTODETECT="$(auto_modules -e '/scsi/' -e '/block' -e '/fusion/' \
                    -e '/usb/' -e '/ide/' -e '/ieee1394/' -e '/cdrom' \
                    -e '/net/' -e '/pcmcia' -e '/ata' \
                  | grep -v -e 'ata_generic.ko' -e 'ide-generic.ko')"


    #Filesystem detection, use sysfs instead of /proc
    findfs ()
    {
        for blkdev in $(find /dev -type b | grep -v -e /dev/loop -e /dev/ram -e /dev/fd); do
            (eval $(/sbin/blkid -o udev -p "${blkdev}"); [ "${ID_FS_USAGE}" = "filesystem" ] && echo $ID_FS_TYPE)
        ...
}

If I'm counting right it's complaining about the last quoted line, correct?

Try on your command line, what happens when you do:

for blkdev in $(find /dev -type b | grep -v -e /dev/loop -e /dev/ram -e /dev/fd); do
    (  
      eval $(sudo /sbin/blkid -o udev -p "$blkdev")
      [ "${ID_FS_USAGE}" = "filesystem" ] && echo "$ID_FS_TYPE"
    )
done

Offline

#4 2010-02-17 12:02:30

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

Hi Profjim,
sorry but atm i'm not at home and athough i have my hdd with me, it would be in another computer (though i can see about testing it out on it, but i don't have much time for now.) I will see to do it some day. (As far as i can see it prints the fs-types of the partitions? In that case, my partitions are all either ext3, swap or one extended).

Ogion


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#5 2010-02-17 12:39:19

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

I wasn't asking in order to find out the expected correct output. I was asking to find out what output the script was really generating for you, to help identify what had gone wrong.

Before troubleshooting too much, I'd recommend doing another

pacman -Syu
pacman -S kernel26

You may hopefully find that makes the problem go away by itself. Did you try to boot from your fallback kernel image as well as the regular one? The fallback doesn't use autodetect so I'd expect it at least should have worked for you.

EDIT: Just went back and re-read this:

As long as i disable automatic fsck at boot in the fstab the system boots fine.

Last edited by Profjim (2010-02-17 12:40:36)

Offline

#6 2010-02-17 15:30:23

Ogion
Member
From: Germany
Registered: 2007-12-11
Posts: 367

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

Yea, well apart from that little message "command or file not found" while calling mkinitcpio with the default mkinitcpio.conf (with autodetect in the HOOKS) i don't notice any problem at the moment. The message doesn't appear on the fallback mkinitcpio (without autodetect), it doesn't either on my netbook. I will try your script sometime soon and i will also try building the kernel26.img with the new mkinitcpio (maybe the change from klibc affects it somehow?)

Ogion


(my-dotfiles)
"People willing to trade their freedom for temporary security deserve neither and will lose both." - Benjamin Franklin
"Enlightenment is man's leaving his self-caused immaturity." - Immanuel Kant

Offline

#7 2010-02-17 17:04:24

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Kernel 2.6.32.7-1/mkinitcpio update issue - filesystem/ext3 error

"My script" was just the relevant pieces of the autodetect install script.

Yes, there have been lots of changes to the new mkinitcpio so it doesn't make much sense to troubleshoot against the old version. See if the new version works for you.

Offline

Board footer

Powered by FluxBB