龙芯2k0300 U盘烧录Linux系统,从Ubuntu到PMON自动启动

在 LoongArch 开发板上部署自定义内核:从 Ubuntu 到 PMON 自动启动

在 LoongArch 架构的嵌入式开发中,部署自定义编译的 Linux 内核是一项常见任务。本文将详细介绍如何通过 U 盘将新内核从 Ubuntu 主机传输到目标开发板,并配置 PMON 引导加载程序实现自动启动。

整个流程分为三步:准备 U 盘、复制内核到目标系统、配置 PMON 启动参数。所有操作命令保持原样,便于直接复用。


1. 准备 U 盘(在 Ubuntu 中操作)

首先,将 U 盘插入 Ubuntu 主机,并将其格式化为 ext4 文件系统(适用于 Linux 环境,支持权限和符号链接)。

⚠️ 注意:格式化会清除 U 盘所有数据,请提前备份!

然后,挂载 U 盘并复制编译好的内核镜像:

bash 复制代码
sudo mount /dev/sdb1 /mnt/usb
sudo cp ~/loongarch-dev/deploy/vmlinuz /mnt/usb/
sudo sync
sudo umount /mnt/usb
  • vmlinuz 是你编译生成的压缩内核镜像,位于 ~/loongarch-dev/deploy/ 目录下。
  • sync 确保所有写入操作完成后再卸载,防止数据丢失。

2. 启动开发板原 Linux 系统

将 U 盘插入 LoongArch 开发板,启动进入已有的 Linux 系统。

挂载 U 盘(假设挂载点为 /mnt/usb),并将内核复制到系统的 /boot 目录:

bash 复制代码
cp /mnt/usb/vmlinuz /boot/vmlinuz-custom-loongarch

这里我们将内核重命名为 vmlinuz-custom-loongarch,便于识别和管理多个内核版本。


3. 配置 PMON 自动启动

重启开发板,进入 PMON(LoongArch 常用的固件引导程序)命令行界面。

设置自动加载的内核路径

bash 复制代码
set al (emmc0,0)/boot/vmlinuz-custom-loongarch

该命令指定 PMON 启动时自动加载的内核文件。其中 (emmc0,0) 表示 eMMC 存储设备的第一个分区。

设置 LoongArch 特定的启动参数

bash 复制代码
set append "console=tty console=ttyS0,115200 rdinit=/sbin/init rootdelay=5 root=/dev/mmcblk0p1"

参数说明:

  • console=ttyconsole=ttyS0,115200:启用串口控制台,波特率 115200。
  • rdinit=/sbin/init:指定 init 进程路径。
  • rootdelay=5:等待 5 秒让存储设备就绪。
  • root=/dev/mmcblk0p1:根文件系统位于 eMMC 的第一个分区。

保存配置并启用自动加载

bash 复制代码
set auto_loaded 1
sync
  • auto_loaded 1 表示启用自动加载功能。
  • sync 将配置写入非易失性存储(如 SPI Flash),确保重启后生效。

立即测试启动(可选)

若想立即测试而不重启 PMON,可手动触发启动:

bash 复制代码
g console=tty console=ttyS0,115200 rdinit=/sbin/init rootdelay=5 root=/dev/mmcblk0p1

此命令会使用指定参数引导内核,验证新内核是否能正常启动。


总结

通过以上三步,你已成功将自定义内核部署到 LoongArch 开发板,并配置 PMON 实现自动引导。后续每次上电,系统都将自动加载 vmlinuz-custom-loongarch 并启动。

相关推荐
盐焗鹌鹑蛋33 分钟前
【Linux】权限
linux
窝子面35 分钟前
认识Docker与启动容器与镜像的关系
运维·docker·容器
小此方1 小时前
Re:Linux系统篇(四十六)信号篇·四:一文串联操作系统底层:时钟中断、内核态切换、系统调用与 Linux 信号处理全解析
linux·驱动开发·信号处理
编程序的员1 小时前
使用OpenTelemetry来监控GoLang应用
运维·golang·monitoring·apm·opentelemetry
羑悻的小杀马特2 小时前
把随身WiFi改成网盘聚合器:中兴F50挂载本地存储+夸克网盘实战
运维·服务器·人工智能·网盘·openlist
无人生还别怕2 小时前
如何制作一个linux标准iso镜像
linux·iso·opencloudos·openanolisos
Yana.nice10 小时前
Linux 只保留 30 天内日志(find命令删除日志文件)
linux·运维·chrome
2601_9605679612 小时前
电商套图自动化效率的工程量化分析——从逐张生成到批量套图的架构演进
运维·架构·自动化
吳所畏惧13 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈13 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习