Working on idea to handle improper shutdown
March 15, 2010 —
BarryK
Silverpuppy and mikeb did a lot of work on this in the forum, for full hd installations. The problem with their solution is that it does a f.s. check on a mounted f.s., though they do it prior to it being remounted read/write.
I have been attempting to take it a step further, by creating a ramdisk and then do a pivot_root into it, then unmount the Puppy partition, then do a f.s. check.
I have got a bit stuck though, getting that famous "Kernel Panic - Not Syncing : Attempted to kill init!"
...I'll keep at it.
Comments
Improver ShutdownFull install vs. Xorg
Username: Pizzasgood
"For the record, the problem kirk mentions above is that on Full installs, /tmp is not a tmpfs ramdisk, so unless a script explicitly deletes it, the files it holds will persist across boots. The /etc/profile script creates the file /tmp/bootcnt.txt to prevent X from trying to start every time a terminal is opened (since in Puppy we source /etc/profile in ~/.bashrc). If Puppy crashes, the code that clears /tmp on reboot won't run, which means the bootcnt.txt file will still be there on bootup, and X won't start. The easy fix: check if /tmp/bootcnt.txt exists on bootup (in /etc/rc.d/rc.sysinit) and if so remove it. I think there might be some code that checks for pfix=nox and creates that file to suppress X, so the removal of bootcnt.txt would have to either happen before that runs, or else be factored into the if statement. I haven't upgraded to Puppy 4.3.x, so I don't know if that's still an issue. I just did a quick look through its scripts and it seems to have not changed though.
Tags: woof