环境

宿主机:Win10
虚拟机:VMware 中的 Ubuntu16.04
SecureCRT 版本:8.7 下载地址

1. 虚拟机添加串口

  1. 在虚拟机界面 ,点击“Edit virtual machine settings”。
  2. 选择“Add”一个硬件设备,里面选择串口,按如下步骤操作:
    1
    2
    3
    我们添加的串口创建的命名管道的名字是“\\.\pipe\com_1”。

2. 配置 Ubuntu16.04

添加串口后,启动 Ubuntu 在 dmesg 中可以看到如下打印:

root@ubuntu:~# dmesg | grep tty
[    0.000000] console [tty0] enabled
[    5.623985] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A

我们添加的串口被内核识别到了是 ttyS0

  1. 修改 /etc/default/grub文件,在 GRUB_CMDLINE_LINUX_DEFAULT 所在的行追加 “console=tty0 console=ttyS0,115200n8”。修改后如下所示:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty0 console=ttyS0,115200n8"
    

    然后执行update-grub命令。

  2. 修改 /etc/securetty 文件:

    echo ttyS0 >> /etc/securetty
    
  3. 执行 vi /lib/systemd/system/ttyS0.service命令创建一个串口登陆服务配置文件,内容如下:

    [Unit]
    Description=serial console service
    
    [Service]
    ExecStart=/sbin/agetty ttyS0 115200 vt100
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

    然后执行 systemctl enable ttyS0 命令。

  4. 重启系统。

3. 使用串口登陆 Ubuntu16.04

打开 SecureCRT 8.7,新建一个会话,使用串口协议:
1
2

管道的名字是我们在 VMware 中添加的串口管道名 “\\.\pipe\com_1”。
然后就可以登陆了,如下如所示:
ok

附:CentOS6.5 串口登陆配置如下:

  1. vi /boot/grub/grub.conf

kernel 那行追加 “console=tty0 console=ttyS0,115200n8”

  1. echo ttyS0 >> /etc/securetty

  2. vi /etc/init/ttyS0.conf,内容如下:

    start on runlevel [345]
    stop on runlevel [S016]
     
    respawn
    instance /dev/ttyS0
    exec /sbin/agetty ttyS0 115200 vt100
    
  3. 重启系统。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐