10.3. Linux内核版本 2.2

较新的 Linux 2.2 内核使用与 Linux 版本 2.4 内核相同的构建参数和参数语法。

对于更早的内核,请参阅 Francesco Conti 在 1997 年 4 月出版的文章,该文章发表于 Linux Journal 第 36 期。

这篇文章包含了一些内核补丁,这些补丁在下面的注释中得到了扩展,以使用更广泛的串口速度。

通过添加几个#defines在...的开头/usr/src/linux/drivers/char/console.c:

#define CONFIG_SERIAL_ECHO
#define SERIAL_ECHO_PORT 0x3f8  /* COM1 port address */

或者,要使用ttyS1使用以下几行

#define CONFIG_SERIAL_ECHO
#define SERIAL_ECHO_PORT 0x2f8  /* COM2 port address */

内核假定串口连接速度为 9600bps。如果您使用不同的比特率,请找到以下两行

serial_echo_outb(0x00, UART_DLM); /* 9600 baud */
serial_echo_outb(0x0c, UART_DLL);

并更改0x0c表 10-1 中的其中一个值。

表 10-1. IBM-PC/AT 串口比特率及其位时钟分频器

比特率分频器
115200bps0x01
57600bps0x02
38400bps0x03
19200bps0x06
9600bps0x0c
4800bps0x18
2400bps0x30
1200bps0x60