【树莓派学习】004 串口打印
查看rpi日志级别 1
2cat /proc/sys/kernel/printk
3 4 1 3
printk的四个参数详解
1 | cat /proc/sys/kernel/printk |
四个数字分别表示: 1. 控制台日志级别(3) - 只有级别≤3的消息会输出到控制台(串口/显示器) 2. 默认消息级别(4) - 没有指定级别的printk()使用这个级别 3. 最低允许级别(1) - 允许设置的最低级别 4. 启动时默认级别(3) - 内核启动早期的控制台级别
消息级别对应关系
1 | 级别 宏定义 说明 |
对串口输出的影响
情况1:控制台日志级别=3
1 | // 这些会输出到串口 ✓ |
情况2:如果设置 loglevel=7
1 | // 所有消息都会输出到串口 ✓ |
加打印 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16diff --git a/init/main.c b/init/main.c
index 821df1f05e9c..05be14b81a4c 100644
--- a/init/main.c
+++ b/init/main.c
void start_kernel(void)
{
char *command_line;
char *after_dashes;
+ printk(KERN_EMERG "\n\n");
+ printk(KERN_EMERG "################################\n");
+ printk(KERN_EMERG "# RPi CUSTOM KERNEL ACTIVE #\n");
+ printk(KERN_EMERG "################################\n");
+ printk(KERN_EMERG "\n\n");
set_task_stack_end_magic(&init_task);
smp_setup_processor_id();
根据前面【树莓派学习】003-cross-compile
1 | bear -- make O=build -j10 Image.gz modules dtbs |
观察串口打印 1
2
3
4
5
6
7
8
9
10minicom -b 115200 -D /dev/cu.usbserial-0001
[ 0.000000] ################################
[ 0.000k00] # RPi CUSTOM KERNEL ACTIVE #
[ 0.000000] ################################
[ 0.000000]
[ 0.000000]
