虚拟机不能使用 console 的问题

原理:arm 系统默认走ttyAMA0,x86 默认走ttyS0,而tty0 是走的GPU

串行端口终端(/dev/ttySn)

串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。

计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。


假如是 x86 机器

方式1:在/etc/default/grub 添加相应字段,GRUB_CMDLINE_LINUX="... console=ttyS0"

  1. Debian or Ubuntu

$ sudo update-grub //生成grub的配置文件

$ sudo apt-get install grub2-common //没有 update-grub命令时,先运行这个安装命令

  1. Fedora or CentOS7

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg //生成grub2的配置文件

$ sudo yum install grub2-tools.x86_64 //没有grub2-mkconfig命令时,先安装grub2-tools

方式2:

添加到securetty中允许登录

grep ttyS0 /etc/securetty || echo "ttyS0" >> /etc/securetty

使用grubby在内核参数中添加ttyS0

grubby --update-kernel=ALL --args=console=ttyS0

添加到inittab中实现开机初始化tty

grep ttyS0 /etc/inittab || echo "S0:12345:respawn:/sbin/agetty ttyS0 115200" >> /etc/inittab

重启生效

reboot

方式3:

编译时候自带开启

如下arm kernel 配置项开启 console 功能

相关推荐
ZERO的秃头之路15 分钟前
WMware的安装以及Ubuntu22的安装
linux·服务器·ubuntu
daiyanyun20 分钟前
Ubuntu 20.04 虚拟机安装完整教程:从 VMware 到 VMware Tools
linux·c语言·c++·ubuntu
轻松Ai享生活1 小时前
Linux CVE详解
linux
努力自学的小夏1 小时前
RK3568 Linux驱动学习——新字符设备驱动
linux·arm开发·驱动开发·笔记·学习
科大饭桶2 小时前
Linux系统编程Day13 -- 程序地址空间(进阶)
linux·运维·c语言·数据结构·c++
rannn_1113 小时前
【Linux学习|黑马笔记|Day3】root用户、查看权限控制信息、chmod、chown、快捷键、软件安装、systemctl、软连接、日期与时区
linux·笔记·后端·学习
十五年专注C++开发4 小时前
通信中间件 Fast DDS(一) :编译、安装和测试
linux·c++·windows·中间件·cmake·vcpkg
唐青枫4 小时前
玩转 Systemd Unit 文件:进阶技巧与服务覆盖实战
linux
yuxb734 小时前
Ansible 实操笔记:Playbook 与变量管理
linux·运维·笔记
朱小弟cs614 小时前
Orange的运维学习日记--41.Ansible基础入门
linux·运维·学习·ci/cd·自动化·ansible·devops