I'm trying to set up a server that is in an always-on state. The server is in a remote location, and I can't easilty go out to it and fix it via a local tty console. I have to do everything remotely using ssh. I'm running a 2.6.17 kernel that is on a flash card. The server connects to the Internet using a cell-phone modem card, and I wrote an app that sends me its ip address so I always know how to connect to it.

My problem is that I don't know what the computer is doing when it is booting up. Sometimes the power goes out and the computer boots, it runs fsck on some of the corrupt partitions. My filesystem is ext2 because I'm using a compact flash card and I want to limit the amount of writes to disk. Most of the time, the fsck completes and reboots the computer. Sometimes, however, fsck just stops and asks for user input to fix an inode, here and there.

My dilemma is this: I can stop fsck from running on boot completely (editing fstab), but this isn't a good solution because I want my disk to be error-free. What I need a completely automated bootup without prompting for user.

Is there a way for fsck to log the fixes that it needs to perform so that I can connect to the machine later and run fsck?

Maybe there's another solution out there?

Thanks for your help,
Dan