I'm supporting a number of consumer devices (e.g. small NAS devices) in Debian. They typically don't export the serial console and don't have any other output devices. We perform the installation via SSH on such devices and start SSH automatically when the system boots so people can login. This works pretty well but sometimes a device stops to boot for no good reason. This is usually really hard to debug since we don't have any logs at all. For kernel messages, I could probably activate netconsole in the kernel. Even this is a bit tricky since we often cannot change the kernel cmd line but I could probably use klibc in the ramdisk to setup the network and then configure a dynamic netconsole. My big concern is with userland messages, though. I want to see what the ramdisk is doing, ideally up to the login: prompt. In other words, I want to have everything sent to the serial console broadcasted to the net. I'm aware syslog supports remote logging, but if I activate that I still wouldn't see what the ramdisk is doing. Is there any way to solve this problem? -- Martin Michlmayr http://www.cyrius.com/
Martin Michlmayr wrote:> I'm supporting a number of consumer devices (e.g. small NAS devices) > in Debian. They typically don't export the serial console and don't > have any other output devices. We perform the installation via SSH > on such devices and start SSH automatically when the system boots so > people can login. This works pretty well but sometimes a device stops > to boot for no good reason. This is usually really hard to debug > since we don't have any logs at all. > > For kernel messages, I could probably activate netconsole in the > kernel. Even this is a bit tricky since we often cannot change the > kernel cmd line but I could probably use klibc in the ramdisk to setup > the network and then configure a dynamic netconsole. > > My big concern is with userland messages, though. I want to see what > the ramdisk is doing, ideally up to the login: prompt. In other > words, I want to have everything sent to the serial console > broadcasted to the net. I'm aware syslog supports remote logging, but > if I activate that I still wouldn't see what the ramdisk is doing. > > Is there any way to solve this problem?Well, syslog() in klibc is actually writing to /dev/kmsg, which is equivalent to printk and any other kernel message. Last I know, I don't believe netconsole supported /dev/console messages; this should probably be fixed. -hpa
Reasonably Related Threads
- ctest package: wilcox.test() produces integer overflow (PR#2453)
- Don't hardcode paths in klcc
- [mips] doesn't compile on little-endian
- Bug#387106: FTBFS with GCC 4.2: cast from pointer to integer of different size
- nouveau: DRM: failed to create ce channel, -22 on Jetson TK1