KVM部署Windriver Linux操作系统

安装前准备

创建密码配置文件,否则虚机启动后无法登录

cd /var/lib/libvirt/images/disks/windriver/
docker run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt 123456 >password_hash.txt
cat <<-ENDOF> sample.bu
variant: fcos
version: 1.4.0
passwd:
  users:
    - name: root
      password_hash: `cat password_hash.txt`
ENDOF
docker run --rm -v $(pwd)/sample.bu:/config.bu:z windriver/wrdistro23:butane --pretty --strict /config.bu > ./sample.ign

安装虚机

创建虚机镜像磁盘

qemu-img create -f raw boot-image-qemu.hddimg 16G
xzcat wr-distro-*-metal.x86_64.raw.xz | dd of=boot-image-qemu.hddimg conv=notrunc

创建并启动虚拟机

qemu-system-x86_64 -net nic -net user -m 4096 \
        -cpu host -enable-kvm \
        -fw_cfg name=opt/com.coreos/config,file=./sample.ign \
        -drive if=pflash,format=qcow2,file=/var/lib/libvirt/images/disks/windriver/OVMF_CODE.fd \
        -drive if=pflash,format=qcow2,file=/var/lib/libvirt/images/disks/windriver/OVMF_VARS.fd \
        -drive if=none,id=hd,file=/var/lib/libvirt/images/disks/windriver/boot-image-qemu.hddimg,format=raw \
        -device virtio-scsi-pci,id=scsi \
        -device scsi-hd,drive=hd \
        -nographic

执行报错:qemu-system-x86_64: -fw_cfg: invalid option

问题定位:

fw_cfg参数已经不再支持,但是并没有找到替代参数:
As of QEMU v2.4, writes to the fw_cfg data register are no longer supported, and will be ignored (treated as no-ops)!
As of QEMU v2.9, writes are reinstated, but only through the DMA interface (see below).  Furthermore, writeability of any specific item is governed independently of Bit14 in the selector key value.
参考链接:https://github.com/openshift/installer/issues/1183

解决:

yum install centos-release-qemu-ev
yum update qemu-kvm-ev
/usr/libexec/qemu-kvm --help|grep fw
         [,bootfile=f][,hostfwd=rule][,guestfwd=rule][,smb=dir[,smbserver=addr]]
-fw_cfg [name=]<name>,file=<file>
                add named fw_cfg entry with contents from file
-fw_cfg [name=]<name>,string=<str>
                add named fw_cfg entry with contents from string

使用更新后的命令再次执行,需要将qemu-system-x86_64替换为:/usr/libexec/qemu-kvm

/usr/libexec/qemu-kvm -net nic -net user -m 4096 \
        -cpu host -enable-kvm \
        -fw_cfg name=opt/com.coreos/config,file=./sample.ign \
        -drive if=pflash,format=qcow2,file=/var/lib/libvirt/images/disks/windriver/OVMF_CODE.fd \
        -drive if=pflash,format=qcow2,file=/var/lib/libvirt/images/disks/windriver/OVMF_VARS.fd \
        -drive if=none,id=hd,file=/var/lib/libvirt/images/disks/windriver/boot-image-qemu.hddimg,format=raw \
        -device virtio-scsi-pci,id=scsi \
        -device scsi-hd,drive=hd \
        -nographic

风河系统使用体验

root@x86-64:~# cat /etc/os-release 
ID=wrdistro
NAME="Wind River Linux Distro"
VERSION="23.20240109.3.0 (wrdistro)"
VERSION_ID=23.20240109.3.0
VERSION_CODENAME="wrdistro"
PRETTY_NAME="Wind River Linux Distro 23.20240109.3.0"
OSTREE_VERSION='23.20240109.3.0'
root@x86-64:~# uname -sr
Linux 6.1.70-yocto-standard
root@x86-64:~# rpm -qa|grep release
os-release-1.0-r0.4.noarch
wrdistro-release-1-r0.0.noarch
root@x86-64:~# rpm -ql os-release
/etc
/etc/os-release
/usr
/usr/lib
/usr/lib/os-release
root@x86-64:~# rpm -ql wrdistro-release
(contains no files)
root@x86-64:~# uname -a
Linux x86-64 6.1.70-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Jan  3 20:54:34 UTC 2024 x86_64 GNU/Linux

现场机器回显,和上面下载的distro23不太一样。可能是版本差异。

cat /etc/lsb-release 
DISTRIB_ID=wrlinux 
DISTRIB_RELEASE=4.3-F41NSN6895 
uname -a 
Linux CLA-0 2.6.34.15-WR4.3.x86_64_acpi5_standard-00659-g86380bc #1 SMP Thu Jul 26 16:03:39 IST 2018 x86_64 x86_64 x86_64 GNU/Linux 

解锁镜像(Unlock the image)

By default, the images are locked and do not allow any updates. You must run the following command to ensure your package updates are successful.

~# dnf -y install lsb-release
……
RPM: error: can't create transaction lock on /usr/share/rpm/.rpm.lock (Read-only file system)
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Could not run transaction.

解锁命令:ostree admin unlock --hotfix

解锁后,再次安装就可以了
~# cat /etc/lsb-release
DISTRIB_ID=wrdistro
DISTRIB_RELEASE=23.20240109.3.0
DISTRIB_CODENAME=wrdistro
DISTRIB_DESCRIPTION="Wind River Linux Distro 23.20240109.3.0"   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试 Java 基础八股文十问十答第十二期

面试 Java 基础八股文十问十答第十二期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;创建一个对象用什么关…

代码随想录day27:贪心part1,基础篇

文章目录 day27&#xff1a;贪心part1&#xff0c;基础篇455.分发饼干376.摆动序列53.最大子数组和 day27&#xff1a;贪心part1&#xff0c;基础篇 455.分发饼干 循环结束条件注意饼干比孩子多的情况 class Solution {public int findContentChildren(int[] g, int[] s) {A…

C++:非静态成员默认初始化

C11之前只有常静态成员变量才能进行默认初始化&#xff0c;其它变量初始化时总要进行繁琐的过程 class A{int a; public:A():a(10){} };C11开始支持非静态成员的默认初始化&#xff0c;默认初始化和初始化参数列表同时初始化一个变量时会使用初始化参数列表&#xff0c;不进行…

JavaScript new、apply call 方法

new、apply、call、bind JavaScript 中的 apply、call和 bind 方法是前端代码开发中相当重要的概念&#xff0c;并且与 this 的指向密切相关 new new 关键词的主要作用 就是执行一个构造函数、返回一个实例对象 根据构造函数的情况&#xff0c;来确定是否可以接受参数的传递…

Huggingface初上手即ERNIE-gram句子相似性实战

大模型如火如荼的今天&#xff0c;不学点语言模型&#xff08;LM&#xff09;相关的技术实在是说不过去了。只不过由于过往项目用到LM较少&#xff0c;所以学习也主要停留在直面——动眼不动手的水平。Huggingface&#xff08;HF&#xff09;也是现在搞LM离不开的工具了。 出于…

最新 DataGrip 2023.3.4 下载安装激活 + 永久免费

文章目录 DataGrip简介同类产品对比使用技巧不足实战 下载安装激活Stage 1 : 官网下载Stage 2 : 下载工具Stage 3-1 : windows为例Stage 3-2 : mac为例常见问题部分小伙伴 Mac 系统执行脚本遇到如下错误&#xff1a;解决方法&#xff1a; 执行脚本做了啥&#xff1f;和收费版区…

基于springboot+vue的可盈保险合同管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

XUbuntu22.04之如何找到.so库所在的软件包?(二百一十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

Vue中的事件总线(EventBus)是什么?它有什么优点和缺点?

作为一名使用Vue的前端开发者&#xff0c;有时候会听到事件总线(EventBus)这个名词。但可能是我入行比较晚&#xff0c;我在Vue网站中并没有看到过事件总线的介绍&#xff0c;在项目中也没有使用过。那究竟什么是事件总线&#xff1f;事件总线可以解决什么问题&#xff1f; 事…

element-plus表格合并

要实现这样的表格&#xff0c; 怎么做呢&#xff1f; 甚至是这种三级的呢&#xff1f; 官网的案例也是通过这个方法进行配置的&#xff0c;也就是说表格长什么样&#xff0c;关键在怎么处理的方法上。 这是官网的方法&#xff0c;可参考拓展&#xff1a; const arraySpanMeth…

一款云渗透工具 - Sea Moon

SeaMoon - 月海 什么是月海 &#x1f315; 月出于云却隐于海 月海(Sea Moon) 是一款 FaaS/BaaS 实现的 Serverless 网络工具集&#xff0c;期望利用云原生的优势&#xff0c;实现更简单、更便宜的网络功能。 月海之名取自于苏轼的《西江月顷在黄州》&#xff0c;寓意月海取自…

【JVM】JVM相关机制

1. JVM内存区域划分 1.1 内存区域划分简介 内存区域划分&#xff1a;实际上JVM也是一个进程&#xff0c;进程运行时需要向操作系统申请一些系统资源&#xff08;内存就是典型的资源&#xff09;&#xff0c;这些内存空间就支撑着后续Java程序的运行&#xff0c;而这些内存又会…

Python环境搭建:一站式指南

在当前AIGC技术蓬勃发展的背景下&#xff0c;Python作为人工智能领域最受青睐的编程语言之一&#xff0c;成为我们必须掌握的技能。因此&#xff0c;搭建一个适合自己的Python环境成为了每个Python开发者的首要任务。本文将为您提供一站式的Python环境搭建指南&#xff0c;帮助…

PythonOpenCV随机粘贴图像

import cv2 import numpy as np import random # 读取两个图像 image1 cv2.imread(image1.jpg) image2 cv2.imread(image2.jpg) # 将image1转换为灰度图像 gray_image1 cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY) # 创建掩码&#xff0c;黑色部分为0&#xff0c;非黑色部…

Python自动发邮件

我经常需要用手机看服务器的运行情况&#xff0c;所以就写一个脚本&#xff0c;通过邮件把服务器运行情况发送给我&#xff0c;直接手机可以查看炼丹状态。事实证明还是很有用的&#xff0c;所以撰写一篇博文将脚本分享给大家。这里用到smtplib和email两个python包。 import s…

力扣精选算法100道——颜色分类(双指针和三指针俩种方法解决此题)

目录 &#x1f6a9;了解题意 &#x1f6a9;算法分析 第一种方法&#xff1a;双指针 &#x1f6a9;代码实现一 第二种方法&#xff1a;三指针 &#x1f6a9;代码实现二 &#x1f6a9;了解题意 本题将整数0&#xff0c;1&#xff0c;2代表红白篮&#xff0c;nums中的整数并…

仿牛客网项目---私信列表和发送列表功能的实现

这篇文章我们来讲一下我的这个项目的另外一个功能&#xff1a;私信列表和发送列表功能。 先来设计DAO层。 Mapper public interface MessageMapper {// 查询当前用户的会话列表,针对每个会话只返回一条最新的私信.List<Message> selectConversations(int userId, int of…

【激光SLAM】基于已知位姿的构图算法 (Grid-based)

文章目录 地图分类概念 覆盖栅格建图算法栅格地图的特征数学描述假设 算法流程激光雷达的逆观测模型 计数(Count Model)建图算法概念数学描述观测模型地图估计 地图分类 概念 地图即为环境的空间模型。环境地图是机器人进行定位和规划的前提。定位可以用特征地图&#xff08;…

可穿戴设备相关Python包【待更】

提供7个python 包。 1 2 3 4 5 6 7 pyActigraphyGitHub - ghammad/pyActigraphy: Python-based open source package for actigraphy data analysisActiGraph ActiGraph GitHub

基础内容哦!!!吴恩达deeplearning.ai:利用计算图求导(反向传播)

以下内容有任何不理解可以翻看我之前的博客哦&#xff1a;吴恩达deeplearning.ai专栏 文章目录 一个小型神经网络的例子利用计算图逐步计算价值函数J利用计算图求出价值函数的导数 计算图是深度学习中的一个关键概念&#xff0c;它也是Tensorflow等编程框架自动计算神经网络导…