我使用phram和ramoops将最新的系统日志存储在保留的内存中,以便一旦我的机器崩溃,我可以在重新启动后转储恐慌日志。 MTD驱动phram
和模块ramoops
用于将系统日志自动记录到内存:为什么我的MTD驱动程序变成普通文件?
/# insmod /lib/modules/phram.ko phram=phram-oops,<addr>,<len>
/# ls -l /dev/mtdchar/param-oops
crw-r--r-- 1 root root 90, 24 Jul 20 16:34 phram-oops
它运作良好,直到最近我再次使用此驱动程序也备份引导装载程序日志 - 在启动过程中,phram接力备份u-boot登录到一个保留存储区;并在Linux shell启动后,转储u-boot日志,清除phoenix-oops dd if=/dev/zero bs=65536 count=1 of=/dev/mtdchar/param-oops
,rmmod phram和insmod phram以及一个新的内存区域用于panic日志。然后转储上次启动的系统日志。直到这一步,/dev/mtdchar/phram-oops
仍然正常工作:
/# ls -l /dev/mtdchar/phram-oops
crw-r--r-- 1 root root 90, 24 Jul 20 16:34 /dev/mtdchar/phram-oops
但是,运行dd if=/dev/zero bs=65536 count=1 of=/dev/mtdchar/phram-oops” again to clear the memory, driver
的/ dev/mtdchar/phram-oops`成为一个文件后!
/# ls -l /dev/mtdchar/phram-oops
-rw-r--r-- 1 root root 65536 Jul 20 16:34 /dev/mtdchar/phram-oops
因此,以前的日志保留在内存中,无法清除。有关驾驶员如何转向文件的任何想法?以及如何解决它?
如果我没有看到/ dev/mtdchar/phram-oops,该怎么办? – floatingice