使用qemu命令啟動虛擬機

1. 安裝相關軟件

yum install qemu edk2* libvirt  -y 

啟動libvirt服務

systemctl start libvirtd
systemctl status libvirtd

2. 創建虛擬機

2.1. qemu啟動命令示例

/usr/bin/qemu-system-loongarch64  \-machine virt,accel=kvm   \-nodefaults  \-m 2048  \-smp 2,maxcpus=4,cores=2,threads=1,sockets=2   \-cpu 'la464-loongarch-cpu'  \-bios /usr/share/edk2/loongarch64/QEMU_EFI.fd    \-drive file=/home/OpenCloudOS-9.4.qcow2,if=virtio  \-nographic      \-serial stdio    \-monitor telnet:localhost:4444,server,nowait   \-msg timestamp=on

2.2. 各參數的詳細解析

參數作用
-machine virt,accel=kvm使用虛擬化機器類型并啟用KVM加速
-nodefaults禁用默認設備
-m 2048分配內存2048M,即2GB
-smp 2,maxcpus=4,cores=2,threads=1,sockets=2CPU拓撲:2個激活vCPU,最多4個,2核心/插槽,無超線程
-cpu ‘la464-loongarch-cpu’模擬龍芯LA464 CPU
-bios /usr/share/edk2/loongarch64/QEMU_EFI.fd指定UEFI固件
-drive file=/home/OpenCloudOS-9.4.qcow2,if=virtio使用VirtIO半虛擬化磁盤
-nographic禁用圖形界面
-serial stdio將串口重定向到終端
-monitor telnet:localhost:4444,server,nowait啟用QEMU Monitor的Telnet接口
-msg timestamp=on日志添加時間戳

3. 啟動虛擬機

問題:直接使用2.1章節的命令,發現無法正常進入到操作系統中
解惑:內核的啟動日志和登錄串口一般顯示在圖形界面,qemu啟動參數使用的是串口啟動

3.1. 在grub中添加內核啟動參數

在grub里面添加內核啟動參數 “console=ttyS0,115200 earlycon=uart,mmio,0x1fe001e0

注釋:
uart,mmio指定UTRA類型為mmio(內存映射I/O)
0x1fe001e0為龍芯3A5000的UART0地址

3.2. 直接打開圖形界面

修改qemu啟動參數
刪除 -nographic
增加 -device virtio-gpu-pci \ -device qemu-xhci \ -device usb-kbd \ -device usb-tablet \

4. 舉一反三

4.1. console和earlycon對比

核心功能對比

特性consoleearlycon
作用階段內核初始化完成后(驅動加載后)內核極早期(解壓、硬件初始化階段)
依賴條件需要完整的串口/TTY驅動直接操作硬件寄存器,無需完整驅動
輸出內容系統啟動后的全部日志和交互控制臺僅內核解壓、內存初始化等早期日志
典型配置console=ttyS0,115200earlycon=uart,mmio,0x1fe001e0
調試用途常規系統操作和故障排查解決內核卡死在啟動前期的嚴重問題

4.2. earlycon參數分析

參數結構分析

earlycon=<接口類型>,<寄存器類型>,<物理地址>[,選項]
部分說明
earlycon=-聲明啟用早期控制臺
uart串口設備類型指定使用UART(Universal Asynchronous Receiver/Transmitter)協議
mmio內存映射I/O表示UART通過內存映射寄存器訪問
0x1fe001e0物理地址龍芯3A5000的UART0寄存器基地址(不同芯片需要調整)

4.3. 查看芯片的寄存器基地址

在linux系統中查看

## 在已運行系統中:
sudo cat /proc/iomem |grep -i "serial"## 輸出示例:
1fe001e0-1fe001e7 : serial

1fe001e0-1fe001e7:UART0寄存器占用的物理地址范圍
serial:標識為串口設備

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/915614.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/915614.shtml
英文地址,請注明出處:http://en.pswp.cn/news/915614.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

大模型系統化學習路線

人工智能大模型系統化學習路線一、基礎理論筑基&#xff08;1-2個月) 目標&#xff1a;建立大模型核心認知框架 核心內容&#xff1a; 深度學習基礎&#xff1a;神經網絡原理、CNN/RNN結構、梯度下降算法大模型本質&#xff1a;Transformer架構&#xff08;重點掌握注意力機制、…

LLaMA-Factory 微調可配置的模型基本參數

LLaMA-Factory 微調可配置的模型基本參數 flyfish 基本參數 一、模型加載與路徑配置參數名類型描述默認值model_name_or_pathOptional[str]模型路徑&#xff08;本地路徑或 Huggingface/ModelScope 路徑&#xff09;。Noneadapter_name_or_pathOptional[str]適配器路徑&#xf…

Ubuntu 22 安裝 ZooKeeper 3.9.3 記錄

Ubuntu 22 安裝 ZooKeeper 3.9.3 記錄 本文記錄在 Ubuntu 22.04 系統上安裝 ZooKeeper 3.9.3 的過程&#xff0c;包含 Java 環境準備、配置文件調整、啟動與停機操作、以及如何將 ZooKeeper 注冊為系統服務。 一、準備環境 ZooKeeper 3.9.x 要求 Java 11 或更高版本&#xff…

FreeSwitch通過Websocket(流式雙向語音)對接AI實時語音大模型技術方案(mod_ppy_aduio_stream)

FreeSwitch通過WebSocket對接AI實時語音大模型插件技術方案1. 方案概述 基于FreeSWITCH的實時通信能力&#xff0c;通過WebSocket協議橋接AI大模型服務&#xff0c;實現低延遲、高并發的智能語音交互系統。支持雙向語音流處理、實時ASR/TTS轉換和動態業務指令執行。 1753095153…

航班調度優化策略全局概覽

在機場關閉場景下的航班恢復工作&#xff0c;是將機場關閉期間所有的航班進行取消然后恢復還是將機場關閉期間航班全部延誤而后調整呢&#xff1f;簡單來說&#xff0c;在實際操作中&#xff0c;既不是無差別地全部取消&#xff0c;也不是無差別地全部延誤。這兩種“一刀切”的…

spring boot 異步線程@Async 傳遞 threadLocal數據

將父類的 threadLocal 的數據 在線程池時&#xff0c;可以轉給子線程使用。 Async 的使用。 第一步在啟動服務加上 EnableAsync 注解。 EnableAsync public class NetCoreApplication {... ... }第二步&#xff1a;導入阿里 線程工具類<dependency><groupId>com.a…

AI產品經理成長記《零號列車》第一集 邂逅0XAI列車

《零號列車》絕非傳統意義上的 AI 產品經理教程 —— 它是我沉淀二十多年跨行業數字化轉型與工業 4.0 實戰經驗后,首創的100集大型小說體培養指南。那些曾在千行百業驗證過的知識與經驗,不再是枯燥的文字堆砌,而是化作一場沉浸式的學習旅程。? 這里沒有生硬的理論灌輸,而…

[C++11]范圍for循環/using使用

范圍for循環 范圍for循環&#xff08;Range-based for loop&#xff09;是 C11 引入的一種簡潔的循環語法&#xff0c;用于遍歷容器中的元素或者其他支持迭代的數據結構。 范圍for循環可以讓代碼更加簡潔和易讀&#xff0c;避免了傳統for循環中索引的操作。 下面是范圍for循環的…

簡單了解下npm、yarn 和 pnpm 中 add 與 install(i) 命令的區別(附上兩圖帶你一目明了)

目錄 pnpm 中 add 和 i 的區別 npm 中 add 和 i 的區別 yarn 中 add 和 i 的區別 附上兩圖帶你一目明了&#xff1a; npm、yarn和pnpm的三者區別圖&#xff1a; i 和 add 的核心區別圖&#xff1a; 個人建議&#xff1a;在項目中保持命令使用的一致性&#xff0c;選擇一種…

ESP32-S3學習筆記<2>:GPIO的應用

ESP32-S3學習筆記&#xff1c;2&#xff1e;&#xff1a;GPIO的應用1. 頭文件包含2. GPIO的配置2.1 pin_bit_mask2.2 mode2.3 pull_up_en和pull_down_en2.4 intr_type3. 設置GPIO輸出/獲取GPIO輸入4. 中斷的使用4.1 gpio_install_isr_service4.2 gpio_isr_handler_add4.3 gpio_…

得物視覺算法面試30問全景精解

得物視覺算法面試30問全景精解 ——潮流電商 商品鑒別 視覺智能&#xff1a;得物視覺算法面試核心考點全覽 前言 得物App作為中國領先的潮流電商與鑒別平臺&#xff0c;持續推動商品識別、真假鑒別、圖像搜索、內容審核、智能推薦等視覺AI技術的創新與落地。得物視覺算法崗位…

[Linux入門] Linux 賬號和權限管理入門:從基礎到實踐

一、Linux 用戶賬號&#xff1a;誰能訪問系統&#xff1f; 1??超級用戶&#xff08;root&#xff09; 2??普通用戶 3??程序用戶 二、組賬號&#xff1a;讓用戶管理更高效 1??組的類型 2??特殊組 三、用戶與組的 “身份證”&#xff1a;UID 和 GID 四、配置文…

阿里云ssl證書自動安裝及續訂(acme)

目錄 一、shell命令安裝 二、docker run安裝 三、docker compose安裝 一、shell命令安裝 # 安裝acme curl https://get.acme.sh | sh -s emailfloxxx5163.com# 注冊zerossl .acme.sh/acme.sh --register-account -m flowxxx25163.com --server zerossl# 獲取證書 export Al…

@fullcalendar/vue 日歷組件

功能&#xff1a;日程安排&#xff0c;展示日歷&#xff0c;可以用來做會議日歷&#xff0c;可以跨日期顯示日程。 Fullcalendarvue3 日歷組件 參考文檔&#xff1a;【vue2】一個完整的日歷組件 fullcalendar&#xff0c;會議預約功能 中文說明文檔&#xff1a;https://www.he…

Dijkstra 算法求解多種操作

一、問題背景與核心需求 需要找到從a到b的最優操作序列&#xff0c;使得總花費最小。三種操作的規則為&#xff1a; 操作 1&#xff1a;x → x1&#xff0c;花費c1&#xff1b;操作 2&#xff1a;x → x-1&#xff0c;花費c2&#xff1b;操作 3&#xff1a;x → x*2&#xff0…

本地項目提交到git教程

創建遠程倉庫 登錄 GitHub&#xff0c;點擊右上角 New repository。 填寫倉庫名稱&#xff08;如 my-project&#xff09;、描述&#xff0c;選擇公開 / 私有。 不要初始化 README、.gitignore 或 LICENSE&#xff08;保持空倉庫&#xff09;&#xff0c;點擊 Create repositor…

Linux 密碼生成利器:pwgen 命令詳解

往期好文&#xff1a;統信 UOS 運行 Windows 應用新利器&#xff01;彩虹虛擬化軟件 V3.2 全新上線&#xff0c;限時30天免費體驗 在日常運維、安全測試、用戶管理等場景中&#xff0c;隨機密碼的生成是一項常見需求。為了避免人工設置密碼帶來的重復性弱密碼問題&#xff0c;…

Qt 應用程序入口代碼分析

Qt 應用程序入口代碼分析 這段代碼是 Qt GUI 應用程序的標準入口點&#xff0c;相當于 Qt 程序的"心臟"。讓我詳細解釋每一部分的作用&#xff1a; int main(int argc, char *argv[]) {// 1. 創建 Qt 應用程序對象QApplication a(argc, argv);// 2. 創建主窗口對象Wi…

基于springboot+mysql的中小型醫院網站(源碼+論文+開題報告)

一、開發環境 Java技術 描述&#xff1a;Java是一種非常常用的編程語言&#xff0c;在全球編程語言排行榜上總是前三。Java的跨平臺能力十分強大&#xff0c;只需一次編譯&#xff0c;任何地方都可以運行。除此之外&#xff0c;它還擁有簡單的語法和實用的類庫&#xff0c;讓…

【Docker基礎】Docker-compose常用命令實踐(三):鏡像與配置管理

目錄 前言 1 鏡像與配置管理概述 1.1 核心概念解析 2 鏡像構建命令詳解 2.1 構建鏡像&#xff08;build命令&#xff09; 2.2 基本語法 2.3 常用選項 2.4 構建過程流程 2.5 實際應用案例 3 配置驗證命令詳解 3.1 驗證配置&#xff08;config命令&#xff09; 3.2 基…