当前位置: 首页 > news >正文

修改 Ubuntu Installer 从串口输出的方法

修改 Ubuntu Installer 从串口输出的方法

1. 问题背景

在某些只有串口(无VGA/显示器)的设备上安装 Ubuntu 时,发现默认的安装器(installer)输出在VGA,导致无法通过串口终端看到安装界面,影响无人值守或远程安装。

2. 初步尝试:修改 ISO 的 grub.cfg

  • 首先尝试将制作好的 Ubuntu 安装U盘或ISO镜像挂载到Linux系统。
  • 编辑 /boot/grub/grub.cfg/boot/grub/loopback.cfg,在 linux 启动参数行末尾添加:
    console=ttyS0,115200n8
    
  • 保存后重新制作U盘并启动设备,发现串口依然没有输出
  • 进入installer的命令行(shell)后,查看 /proc/cmdline,发现并没有包含自己添加的串口参数。

3. 问题定位:查找实际生效的启动参数

  • 在installer的命令行下,使用如下命令查找启动参数来源:
    grep -r '<cmdline内容片段>' /
    
  • 发现 /cdrom/isolinux/txt.cfg 文件中有与 /proc/cmdline 相同的启动参数内容。
  • 说明实际生效的启动参数并不是来自 grub.cfg,而是来自 isolinux/txt.cfg

4. 解决办法:两种方式修改 txt.cfg 增加串口参数

方式一:Linux下直接挂载和编辑

  1. 挂载ISO镜像或U盘
    sudo mount -o loop ubuntu-xx.xx.iso /mnt/iso
    # 或
    sudo mount /dev/sdX1 /mnt/usb
    
  2. 编辑 /isolinux/txt.cfg 文件
    • 找到类似如下的启动项:
      append   initrd=/casper/initrd quiet ---
      
    • 在行末添加串口参数:
      append  initrd=/casper/initrd  console=ttyS0,115200n8
      
    • 保存文件。
  3. 重新制作启动U盘或ISO(如有需要)。
  4. 启动设备并连接串口终端(如minicom、putty、screen等,波特率115200)。
  5. 此时Ubuntu installer的输出即可在串口终端看到,可以通过串口进行安装操作。

方式二:Windows下使用PowerISO修改ISO文件

  1. 用PowerISO打开Ubuntu ISO镜像文件
  2. 在PowerISO中浏览到 /isolinux/txt.cfg 文件。
  3. txt.cfg 文件导出到本地磁盘
  4. 用记事本或其他文本编辑器打开 txt.cfg,找到类似如下的启动项:
    append   initrd=/casper/initrd quiet ---
    
    在行末添加串口参数:
      append  initrd=/casper/initrd  console=ttyS0,115200n8
    
    保存文件。
  5. 将修改后的 txt.cfg 文件重新导入到ISO镜像的原位置,覆盖原文件。
  6. 保存ISO镜像。
  7. 用修改后的ISO制作启动U盘,或直接用作安装介质。
  8. 启动设备并连接串口终端(如putty、SecureCRT等,波特率115200),即可看到Ubuntu installer的串口输出。

5. 总结与建议

  • Ubuntu installer 的实际启动参数可能来源于 isolinux/txt.cfg,而不是 grub.cfg,尤其是在传统BIOS/Legacy模式下启动时。
  • 修改 txt.cfgappend 行,添加 console=ttyS0,115200n8,即可让安装器输出重定向到串口。
  • 如遇到串口无输出,建议进入installer命令行,查看 /proc/cmdline,并全盘 grep 启动参数,定位实际生效的配置文件。
  • 不同发行版/镜像可能配置文件路径略有不同,建议多尝试和查找。

相关文章:

  • 设计模式-单一职责原则
  • C语言学习笔记三 --- V
  • ubuntu中,c和c+程序,预编译、编译、链接和运行命令
  • Vue 3.0 中provide常见使用场景
  • 利用 `ngx_http_xslt_module` 实现 NGINX 的 XML → HTML 转换
  • Elasticsearch 如何实现跨数据中心的数据同步?
  • 【md2html python 将 Markdown 文本转换为 HTML】
  • Leetcode 25. K 个一组翻转链表
  • React JSX语法介绍(JS XML)(一种JS语法扩展,允许在JS代码中编写类似HTML的标记语言)Babel编译
  • Spring AI(一)
  • 两种调度Dify工作流的解决方案
  • UBUNTU20.04 配置以QT界面程序代替系统界面启动,以及如何在tty模式下以linuxfb形式启动
  • Java设计模式之代理模式详解
  • 大型三甲医院更换HIS系统全流程分析与经验考察(上)
  • 数据分析实战1(Excel制作报表)
  • Linux系统编程-DAY06
  • Opigno LMS 3.2.7 安装操作记录
  • pyspark实践
  • 火柴INIBOX专业矿机登场,碾压现有Initverse挖矿设备
  • YOLOv4:目标检测的新标杆
  • wordpress配置数据库不正确/seo推广优化外包公司
  • 表白网址链接制作/重庆做网络优化公司电话
  • 网站海外推广建设/软文营销代理
  • 网站怎么做推广/郑州网络营销推广公司
  • 网站建设关键词/关键词优化工具
  • 专做五金正品的网站/关键词优化系统