2008-09-30 26 views
7

Tôi đang phát triển một hệ thống nhúng hiện khởi động Linux với đầu ra console trên cổng nối tiếp 1 (sử dụng param khởi động bàn điều khiển từ bộ nạp khởi động). Tuy nhiên, cuối cùng chúng ta sẽ sử dụng cổng nối tiếp này. Giải pháp tốt nhất cho đầu ra của bàn điều khiển hạt nhân là gì?/dev/null? Nó có thể được đặt trên một pty bằng cách nào đó để chúng tôi có khả năng có thể truy cập vào nó?Bạn gửi bảng điều khiển hạt nhân ở đâu trên hệ thống nhúng?

Trả lời

3

Nếu bạn chỉ muốn đọc thông điệp in hạt nhân từ bàn điều khiển và không thực sự chạy getty hoặc vỏ trên đó, bạn có thể sử dụng netconsole. Bạn có thể cung cấp các tùy chọn sau đây để bootloader kernel của bạn (hoặc để modprobe netconsole):

[email protected]/eth1,[email protected]/12:34:56:78:9a:bc 

nơi 4444 là cổng địa phương, 10.0.0.1 là ip địa phương, eth1 là giao diện địa phương để gửi các thông điệp ra khỏi . 9353 là cổng từ xa, 10.0.0.2 là ip từ xa để gửi tin nhắn đến, và đối số cuối cùng là địa chỉ mac của hệ thống từ xa (ví dụ: desktop của bạn).

Sau đó, để xem các thông điệp chạy:

netcat -u -l -p 9353 

Bạn có thể đọc thêm về điều này trong Documentation/networking/netconsole.txt

+0

cảm ơn câu trả lời. Trên sản phẩm cuối cùng, tôi cho rằng tôi có thể gửi netconsole đến 127.0.0.1 và sau đó đọc từ cổng trong một shell nếu tôi cần – MattSmith

3

Bạn có thể truy cập vào bộ đệm nhắn printk từ một vỏ sử dụng dmesg. Bộ đệm hạt nhân có kích thước hữu hạn và sẽ ghi đè lên các mục cũ nhất với các mục nhập mới nhất, vì vậy bạn cần phải kiểm tra dmesg theo định kỳ hoặc nối lên netconsole như @bmdhacks gợi ý.

Nếu không có bảng điều khiển, bạn sẽ bỏ lỡ bất kỳ thông tin oops nào được in ra do lỗi hạt nhân. Ngay cả khi sử dụng netconsole có thể không giúp đỡ ở đó, nếu hạt nhân chết và bắt đầu khởi động lại trước khi TCP quản lý để cung cấp đầu ra đến socket từ xa. Chúng ta thường sửa đổi kernel/panic.c: panic() để lưu các nội dung đăng ký và trạng thái khác vào một vùng flash NOR, vì vậy sẽ có ít nhất một số thông tin có sẵn để gỡ lỗi sau khi chết.

Các vấn đề liên quan