[PATCH] Utility module to capture OOPS output over reboot

Philip Gladstone (philip@raptor.com)
Wed, 30 Jun 1999 16:24:32 -0400


This is a cryptographically signed message in MIME format.

--------------msE516D501BFD3BCDE9FABFDDE
Content-Type: multipart/mixed;
boundary="------------B44F1F641E90E51324533406"

This is a multi-part message in MIME format.
--------------B44F1F641E90E51324533406
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

All,
I attach a small patch to create a console log that uses the
SMRAM area. This allows OOPS output to be captured and saved across a
reboot.

The conslog.txt file has a brief explanation of how it works. There are
some important limitations:

1) It only works on Intel platforms

2) It only works with a motherboard with a modern Intel chipset
(includes P-II/P-III boards)

It is not for everyone. I build it as a module. It works for me.

The 10 cent summary is that it creates an internal console log,
exposed through /proc/conslog. The console log survives reboots.

Enjoy,

Philip

-- 
Philip Gladstone                           +1 781 530 2461
Axent Technologies, Waltham, MA
--------------B44F1F641E90E51324533406
Content-Type: application/x-gzip;
 name="conslog.pf.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="conslog.pf.gz"

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 XwLV1yWOUCnEVbkBKmm8xmT3P1KoUeAfLQAA --------------B44F1F641E90E51324533406 Content-Type: text/plain; charset=us-ascii; name="conslog.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="conslog.txt"

This is a brief note that describes the implementation of the console logger.

The basic idea is that all console output is saved in a circular buffer that is hidden where it is not destroyed over a reboot.

This particular version of the code uses the SMRAM area at 0xb0000. This area is normally occupied by a video card, but by fiddling with the appropriate Intel Northbridge chip, access to real RAM can be enabled. Happily, many BIOS implementations are either too dumb, or smart enough, not to destroy this memory area during the power-on memory test.

I'd be interested in finding out which platforms this works on!

Once started, the logger creates /proc/conslog which contains the console log. The size of the log is 65k, which is ample for seeing any OOPSen before a reboot.

Installation:

Apply the attached patch with patch -p1 in your linux root. (Tested with 2.2.9).

Run make config, and on the character devices page, turn on the 'log to SMRAM' option. You can choose either to build it into the kernel, or to have it as a module.

Now build your kernel/modules.

If you build it as a module, then you can just insmod conslog.o on a running system. Note that you must have it loaded to record console output -- there is no point in loading it *after* a crash.

Licensing:

Currently this is *NOT* under the GPL. It remains copyright Axent Technologies. I am exploring the possibility to make it available under the GPL.

All use is at own risk etc. Axent Technologies assumes no liability for any damage etc.

Bugs:

It only works on Intel platforms (owing to the nasty embedded cache flushing instructions).

It only works with a limited set of motherboard chipsets.

It doesn't work on all platforms -- some BIOSes clear out SMRAM memory, and some lock the SMRAM area so that it cannot be accessed.

--------------B44F1F641E90E51324533406--

--------------msE516D501BFD3BCDE9FABFDDE Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature

MIIIaQYJKoZIhvcNAQcCoIIIWjCCCFYCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3DQEHAaCC Bi0wggLsMIICVaADAgECAgMArf4wDQYJKoZIhvcNAQEEBQAwgbkxCzAJBgNVBAYTAlpBMRUw EwYDVQQIEwxXZXN0ZXJuIENhcGUxFDASBgNVBAcTC0R1cmJhbnZpbGxlMRowGAYDVQQKExFU aGF3dGUgQ29uc3VsdGluZzEpMCcGA1UECxMgVGhhd3RlIFBGIFJTQSBJSyAxOTk4LjkuMTYg MTc6NTUxNjA0BgNVBAMTLVRoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBSU0EgSXNzdWVyIDE5 OTguOS4xNjAeFw05OTAzMjQxODMyNTVaFw0wMDAzMjMxODMyNTVaMGYxHzAdBgNVBAMTFlRo YXd0ZSBGcmVlbWFpbCBNZW1iZXIxIDAeBgkqhkiG9w0BCQEWEXBoaWxpcEByYXB0b3IuY29t MSEwHwYJKoZIhvcNAQkBFhJwanNnQGl4Lm5ldGNvbS5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAMQ3YtRscyyQn2dK9Z52v2lHCoX33ym6m1yOkIDaeBPVAL9BVkSMeroFO4hK p2Xi72zgGOkm+amhY/N06NfM4RcL61QlbSpRRyiMuUpU2rIdDtSLSpwEoDyzzju83iIclf4A OwFEPmY5+lbwwMUdZXnoatPZwAyAlkU+lTGPIBUxAgMBAAGjVDBSMBEGCWCGSAGG+EIBAQQE AwIFoDAOBgNVHQ8BAf8EBAMCBaAwDAYDVR0TAQH/BAIwADAfBgNVHSMEGDAWgBT+PmCca4wP sNgzxsrGHliwcTi14DANBgkqhkiG9w0BAQQFAAOBgQBZemjNn+zoyQ45PhztrBoepNW2tSi4 0MdfBblRjen40gB2H9/XvPTcFRmrC2mRzzHo3vTrwYibNcqXiiAAo2yg4WVUBlQuaxSJ89Ds FoM08CbKzmfGAxJS+87cwvDU9pB857YcO355q/6rAhOgPD6BHquPjA0sr+TvvxvHDYFulDCC AzkwggKioAMCAQICAQowDQYJKoZIhvcNAQEEBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQI EwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENv bnN1bHRpbmcxKDAmBgNVBAsTH0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAi BgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVy c29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAeFw05ODA5MTYxNzU1MzRaFw0wMDA5MTUxNzU1 MzRaMIG5MQswCQYDVQQGEwJaQTEVMBMGA1UECBMMV2VzdGVybiBDYXBlMRQwEgYDVQQHEwtE dXJiYW52aWxsZTEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKTAnBgNVBAsTIFRoYXd0 ZSBQRiBSU0EgSUsgMTk5OC45LjE2IDE3OjU1MTYwNAYDVQQDEy1UaGF3dGUgUGVyc29uYWwg RnJlZW1haWwgUlNBIElzc3VlciAxOTk4LjkuMTYwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ AoGBAMSl5dTU0F8IAu4HIX0kv6trjh7rIAcCFYRrj9CTJB8bne5osrksT+mTZxcQFx6h+UNB I7kwqnaXu/Pn/YHAtTGL9qZQJlTylSjrGaQelx6w4ribwQSaMtA8CWxP5DVP8Ha/ABMDT0UI YPP8tNCQAYoSyZy6f1LqKpM1Njw85DUvAgMBAAGjNzA1MBIGA1UdEwEB/wQIMAYBAf8CAQAw HwYDVR0jBBgwFoAUcknCczTGVfQLdnKBfnf0h+fGsg4wDQYJKoZIhvcNAQEEBQADgYEALMeC HwFDPgeP7mlcqWSC+MCWrZMry5tQ10CagcK6pnadPJVA3FXB4VWCeasKKabVDOFXKD6P+bvV 3w2TWKpbLYuPM+TdWBU1dnIVKb1C9FqSC3dfnSfbmi1OG4IGjtKNVruV3tsMZQXelZ4C3VMX vr78a8MaInoUK2G9wp9eeloxggIEMIICAAIBATCBwTCBuTELMAkGA1UEBhMCWkExFTATBgNV BAgTDFdlc3Rlcm4gQ2FwZTEUMBIGA1UEBxMLRHVyYmFudmlsbGUxGjAYBgNVBAoTEVRoYXd0 ZSBDb25zdWx0aW5nMSkwJwYDVQQLEyBUaGF3dGUgUEYgUlNBIElLIDE5OTguOS4xNiAxNzo1 NTE2MDQGA1UEAxMtVGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIFJTQSBJc3N1ZXIgMTk5OC45 LjE2AgMArf4wCQYFKw4DAhoFAKCBmTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqG SIb3DQEJBTEPFw05OTA2MzAyMDI0MzRaMCMGCSqGSIb3DQEJBDEWBBTJT4cEWHbX70QdIft+ uD8F9FK6MTA6BgkqhkiG9w0BCQ8xLTArMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDAN BggqhkiG9w0DAgIBQDANBgkqhkiG9w0BAQEFAASBgE8RrVI7NpOMY05UlIjrKk4vg2ew6S2H ds5FWSFR5AjBVq3OvqWSc5PoIYcgCut0wdKl9w+Gm8OZtmZWUR2BqE760gvG3TiId+Rxn5GM K9tg+w2k0Z1SF7TZNjWg5nq1lE/0joZFkLjbjf5dq0l8wzDZwU7IY58EoNFvzFoMCWvP --------------msE516D501BFD3BCDE9FABFDDE--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/