site  contact  subhomenews

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 Shutdown


Full 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