配置内核的调试选项,"Kernel hacking"配置菜单下的各种调试选项。
内核打印函数
1.内核映像解压前串口输出函数
Linux启动过程中,decompress_kernel()函数调用了putstr()函数,直接向串口打印内核解压的信息。
putstr()函数实现向串口输出字符串的功能。因为不同的处理器可以有不同的串口控制器,所以putstr()函数的实现依赖于硬件平台。
2.内核错误报告子程序
在内核解压完成,跳转到vmlinux映像入口。这是还没有初始化控制台设备,但是执行系统初始化过程的过程中也可能出现严重的错误,导致系统崩溃,可以通过printascii子程序来向串口打印。
printascii子程序实现向串口打印字符串的功能,printhex也调用了pritascii子程序来显示数字。
printascii、printhex8等子程序包含在/arch/arm/kernel/debug.S文件中。如果要编译链接这些子程序,需要内核使能"Kernel low-level debugging functions"选项。
3.内核打印函数
Linux内核标准的系统打印函数是printk。