Re: FSCK message suppressed during booting? (2.6.9-rc2)

From: Chiaki
Date: Thu Sep 30 2004 - 15:43:20 EST


Chiaki wrote:
Bernd Eckenfels wrote:

In article <415B5034.6060809@xxxxxxxxxxxx> you wrote:

That is, under previous 2.4.xx kernel, I would have gotten
"The disk was not unmounted cleanly. Running fsck." or
some such message and fsck printed its
progress bar using ASCII characters.



Well, this is not a kernel function, your Distribution is calling fsck in
the bootup scripts, and fsck is calling the filesystem specific
implementation and this is checking if fsck is needed.

If you do not get this messages anymore contact your linux distribution
provider.



Thank you for the comment.

Well, I have installed 2.6.9-rc2 on my own after having used
Debian with my own updated kernel 2.4.2x series for a few years now.
I certainly upgraded moduleutil and other packages to run
2.6.9-rc2, but have not specifically updated fsck.
(I DID ran apt-get -u update and apt-get -u upgrade to pick up
the latest packages a week ago or so.).

Agreed that the starting fsck under stock Debian scheme
may depend on 2.4.xx features which may not be available
on 2.6.yy series kernel. I will get in contact with fsck
package (or boot script) maintainer to see
if we can improve this.

>Do you habe maybe a journalling filesystem? Or do you have set some flags to
> force the skip of fsck (/fastboot)
>

Well, I am running 2.6.9-rc2 from loadlin as follows.

loadlin 269rc2 root=/dev/sda6 ro vga=3 scsihosts=sym53c8xx:tmscsim

I noticed the fsck message lines were missing on the reboot after
a hard-hung forced me to hit reset button in the end.
The message lines were missing, but it seems that fsck
certainly was running invisibly. Thus the
boot sequence halted as if the computer got hung again
until fsck finished and bootting continued. This was very
annoying.



OK, maybe I was not clear enough in the first post.

Fsck seemed to run during the reboot
after a reset button was hit to recover from a hard hung.

However, NO OUTPUT message from fsck is shown on the console.
It progressed silently : I could hear the disk access
(head movement) and this made me very uncomfortable.
With a test kernel accessing disk furiously without
telling me what it does during otherwise smooth booting
process after a hard reset, I may need to consider
the chance of kernel running wild and trashing the file system.
So that is why I rebooted the system using 2.4.xx which I have
used for quite a long time to make sure that the file system(s)
are fsck'ed and then cleanly remounted.

Anyway, before contacting the Debian package maintainer, I found
the following.
IF during the booting the environment variable TERM
is set to "dumb", "network", "unknown" or not set at all
the progressive horizontal bar display (-C option to fsck)
is disabled in the Debian startup script.

Maybe the TERM setup for console during booting has changed between
kernel 2.4.2x and 2.6.9-rc2?


A little more detail:

I checked the Debian startup script myself.
Now I notice that if the fsck is invoked in a startup script and $TERM is
set to "dumb" or "network" or "unknown" or not set at all, this
progress bar display (-C option to fsck)
is not done by the Debian start up script.

Maybe between 2.4.2x and 2.6.9-rc2,
the boot console $TERM setting changed?

--- begin Excerpt from /etc/init.d/checkroot.sh

if [ "$doswap" = yes ]
then
[ "$VERBOSE" != no ] && echo "Activating swap."
swapon -a 2> /dev/null
fi

... omission...

#
# The actual checking is done here.
#
if [ "$rootcheck" = yes ]
then
if [ -f /forcefsck ]
then
force="-f"
else
force=""
fi

if [ "$FSCKFIX" = yes ]
then
fix="-y"
else
fix="-a"
fi

spinner="-C"
case "$TERM" in
dumb|network|unknown|"")
spinner="" ;;
esac
# This Linux/s390 special case should go away.
if [ "${KERNEL}:${MACHINE}" = Linux:s390 ]
then
spinner=""
fi

echo "Checking root file system..."
fsck $spinner $force $fix -t $roottype $rootdev
FSCKCODE=$?

--- end Excerpt


I think I saw Activating Swap message. But I am not sure if I saw
"Checking root file system..." message during a reboot after the RESET
button was hit due to a hung. I was not paying attention to that.
But definitely, I didn't see at all the
growing ASCII character-base horizontal bar with a spinning char on
the right (/ - \ |). This is a way to show progress bar. This is
shown with the -C option to fsck. I usually see this progressive
bar for fsck during reboot under 2.4.2x kernel.
So obviously "-C" is reset to "". I am NOT using s390 :-)

(OR the output from this shell is eaten by some other mechanism.
I need to understand the stdio/stdout setting of the shell
invoking this script further.)

I will check with the maintainer of Debian package further.




--
int main(void){int j=2003;/*(c)2003 cishikawa. */
char t[] ="<CI> @abcdefghijklmnopqrstuvwxyz.,\n\"";
char *i ="g>qtCIuqivb,gCwe\np@.ietCIuqi\"tqkvv is>dnamz";
while(*i)((j+=strchr(t,*i++)-(int)t),(j%=sizeof t-1),
(putchar(t[j])));return 0;}/* under GPL */
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/