虚拟机不能使用 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 功能

相关推荐
搞全栈小苏2 分钟前
使用 nvm(不破坏系统)Linux 上把 Node.js / npm 升级到你指定版本(Node v23.x、npm 10.x)
linux·npm·node.js
ONLYOFFICE3 分钟前
ONLYOFFICE 桌面编辑器现已推出 Linux ARM 版本
linux·运维·arm开发
阿钱真强道6 分钟前
04 ubuntu20下 OpenHarmony-3.0-LTS qemu mps2-an386 运行 liteos_m
linux·嵌入式硬件·ubuntu·harmonyos
zl_dfq11 分钟前
Linux 之 【文件】(C语言文件缓冲区)
linux
yuanmenghao14 分钟前
车载Linux 系统问题定位方法论与实战系列 - 系统 reset / reboot 问题定位
linux·服务器·数据结构·c++·自动驾驶
n***333515 分钟前
Linux命令组合大赛:创意与效率的终极对决
linux·运维·服务器
一个平凡而乐于分享的小比特24 分钟前
Linux内核核心组件详解
linux·内存管理·进程间通信·虚拟文件系统·系统调用接口·网络接口
霖霖总总26 分钟前
[小技巧30]Linux中getopt 的正确打开方式:原理与实践
linux·运维
不染尘.29 分钟前
Linux进程与服务管理
linux·运维·服务器·windows·centos·ssh
Jason_zhao_MR29 分钟前
米尔RK3576成功上车!ROS2 Humble生态系统体验
linux·嵌入式硬件·物联网·ubuntu·嵌入式