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

用狐狸做logo的网站虾皮跨境电商注册多少钱

用狐狸做logo的网站,虾皮跨境电商注册多少钱,学网页设计需要什么基础,线下销售怎么做推广概要 本文记搭建 RISCV 虚拟化环境的流程。 整体架构 我们使用 QEMU 来模拟 RISCV 的各种硬件扩展环境,通过 QEMU 启动 Ubuntu 作为我们的 Host 来在 Host 之中通过 KVMTOOL 来运行 Guest,学习 RISCV 的虚拟化。 目前我的 X86_64 主机使用的是 Ubunt…

概要

本文记搭建 RISCV 虚拟化环境的流程。

整体架构

我们使用 QEMU 来模拟 RISCV 的各种硬件扩展环境,通过 QEMU 启动 Ubuntu 作为我们的 Host 来在 Host 之中通过 KVMTOOL 来运行 Guest,学习 RISCV 的虚拟化。

目前我的 X86_64 主机使用的是 Ubuntu 的 22.04 桌面版。具体如下:

Linux ovo-ovo 6.8.0-52-generic #53~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jan 15 19:18:46 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

准备 Ubuntu 镜像

打开终端,执行以下命令,下载镜像。

wget https://old-releases.ubuntu.com/releases/22.04.4/ubuntu-22.04-preinstalled-server-riscv64+unmatched.img.xz

解压缩系统镜像文件然后扩个容。

xz -d ubuntu-22.04-preinstalled-server-riscv64+unmatched.img.xz
qemu-img resize ubuntu-22.04-preinstalled-server-riscv64+unmatched.img +20G

编译 QEMU-v9.2.2

考虑到直接使用 apt 命令安装的 QEMU 可能不支持 RISC-V 虚拟化扩展。所以直接下载源码编译。

安装编译前所需工具

sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev \gawk build-essential bison flex texinfo gperf libtool patchutils bc \zlib1g-dev libexpat-dev git ninja-build \libglib2.0-dev libfdt-dev libpixman-1-dev
# 根据 python 版本调整版本号
sudo apt-get install python3.12-venv

QEMU 的 user 用户模式网络配置需要 libslirp 的支持

下载 libslirp 源码和编译所需工具

git clone https://gitlab.freedesktop.org/slirp/libslirp.git
sudo apt install meson

libslirp 编译,安装

meson build
ninja -C build install

下载 QEMU 源码

git clone https://gitee.com/popukey/qemu.git

切换到目标版本。

git checkout v9.2.2

编译 RV64 架构下的 QEMU:qemu-system-riscv64

cd qemu && ./configure --target-list=riscv64-softmmu --enable-slirp  && make -j 8

编译结束之后生成的可执行文件位于 QEMU 目录下的 build 目录中。

把该路径在 ~/.bashrc 文件最后写入环境变量 PATH

export PATH="\$HOME/riscv64-qemu/qemu/build/:\$PATH"
source ~/.bashrc

确保修改生效。qemu-system-riscv64 --version 通过该命令验证 QEMU 版本正确。

安装最新 U-Boot 和 OpenSBI-v1.6

交叉编译工具

编译需要交叉编译工具 riscv64-unknown-linux-gnu-gcc,RISCV 仓库中有编译好的,这里我使用当前最新的会出错,需要我更新 libc 到 2.38。遂放弃。使用低一点的版本。

wget https://github.com/riscv-collab/riscv-gnu-toolchain/releases/download/2024.09.03/riscv64-glibc-ubuntu-22.04-gcc-nightly-2024.09.03-nightly.tar.gz
mkdir riscv
tar -xf riscv64-glibc-ubuntu-22.04-gcc-nightly-2024.09.03-nightly.tar.gz -C riscv --strip-components=1

把目录加入 PATH 中,方便后续使用。把下面内容放入 ~/.bashrc 文件最末尾。

export PATH="$HOME/crossTools/riscv/bin/:$PATH" 

确保修改生效。

source ~/.bashrc

U-boot

克隆 U-boot 项目并编译。

git clone https://source.denx.de/u-boot/u-boot.git
cd u-boot
export ARCH=riscv
make CROSS_COMPILE=riscv64-unknown-linux-gnu- qemu-riscv64_smode_defconfig
make CROSS_COMPILE=riscv64-unknown-linux-gnu- -j 8

编译之后的 u-boot 位于项目目录下。

openSBI-v1.6

克隆 openSBI 项目并编译。

git clone https://github.com/riscv-software-src/opensbi.git
cd opensbi && git checkout v1.6
make PLATFORM=generic CROSS_COMPILE=riscv64-unknown-linux-gnu- ARCH=riscv -j 8

编译之后的内容位于 build/platform/generic/firmware/ 目录中。

qemu引导Linux

启动 Linux

qemu-system-riscv64 -machine virt -nographic -m 8192 -smp 6 -bios opensbi/build/platform/generic/firmware/fw_jump.bin -kernel u-boot/u-boot -device virtio-net-device,netdev=eth0 -netdev user,id=eth0,hostfwd=tcp::6666-:22 -device virtio-rng-pci -drive file=./ubuntu-22.04-preinstalled-server-riscv64+unmatched.img,format=raw,if=virtio

此时,我们可以通过 ssh 命令 ssh -p 6666 ubuntu@localhost 登录到 Linux,系统会立即要求更改密码

# 默认用户名和密码
username: ubuntu
password: ubuntu

加载 kvm 模块,并验证

sudo modprobe kvm

此时应该会看到,系统目前没有 KVM 模块。

编译升级 Linux 内核

依照上文方式用 QEMU 引导 RISCV 的内核之后,在 Host 中编译。这种方式可能较慢。接下来的操作都在 Host 中进行。

安装必要的工具:

sudo apt update
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev fakeroot dwarves

下载内核源码压缩包。

在这里插入图片描述
这里下载版本 v6.13.7 并解压缩。

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.13.7.tar.xz
tar -xf linux-6.13.7.tar.xz
cd linux-6.13.7/

拷贝配置文件并对配置文件做选择性修改。

 cp -v /boot/config-$(uname -r) .configmake localmodconfig

最后对配置文件做些修改,确保编译过程顺利。

scripts/config --disable SYSTEM_TRUSTED_KEYS
scripts/config --disable SYSTEM_REVOCATION_KEYS
scripts/config --set-str CONFIG_SYSTEM_TRUSTED_KEYS ""
scripts/config --set-str CONFIG_SYSTEM_REVOCATION_KEYS ""

开始编译

fakeroot make -j8

查看结果,命令执行之后为 0 则一切正常。

echo $?

安装内核模块、更新用户头文件、安装内核内核并重启。

sudo make modules_install
sudo make headers_install INSTALL_HDR_PATH=/usr
sudo make install
sudo reboot

输入命令验证内核版本。

uname -rs

此时,我们再加载 kvm 模块。并验证在 dev 下有 kvm 这个设备文件存在。

sudo modprobe kvm
ls /dev/

下载最新 KVMTool

下载另外一个经常更新的 KVMTOOL 并编译源码。

sudo apt-get install libfdt-dev
git clone git://git.kernel.org/pub/scm/linux/kernel/git/will/kvmtool.git
cd kvmtool && make

小结

完结撒花!

http://www.dtcms.com/a/397878.html

相关文章:

  • 东莞化工网站建设网站的思维导图怎么做
  • 公司网站制作银川微信投票网站怎么做
  • 英国零售电商网站开发好点的开发网站的公司
  • 韶关最新消息厦门关键词排名优化
  • 家居网站建设流程企业网站是怎么建站的
  • 国外的域名注册网站哪个好wordpress的使用方法
  • 网站建设包涵哪些领域可以做推广的网站
  • 东莞如何搭建网站建设护肤品营销策划方案
  • 国外网站推广平台有哪些公司最新新闻热点事件2022年1月
  • 网站建设德语企业网站首页的实现
  • 怎么样建设自己的网站php网站模板制作软件
  • 潍坊建设网站多少钱装修公司加盟合作模式
  • 国内产品设计网站wordpress黑镜百度云盘
  • 医院网站建设模板怎么让网站排名上去
  • 西安市做网站怎么建一个卖东西的网站
  • 平台推广策划方案seo推广培训资料
  • 电子商务网站的基础建设重庆建设厂招聘信息网站
  • 济宁网站建设平台o2o网站咋建设
  • 做网站接私单百度精简版入口
  • 软件开发人员招聘seo都用在哪些网站
  • 网站建设服务详细解读优化一个网站多少钱
  • 网站界面用什么做的服装设计手稿
  • 国外企业网站建设模型广州10大网站服务品牌
  • 手机访问能否提高网站权重做网页游戏怎么赚钱
  • 专业做室内设计的网站有哪些方面wordpress 论坛社区
  • 怎么在58上做公司网站saas系统哪个公司做的最好
  • 网站前端开发框架网站建设咨询有客诚信网站建
  • wordpress post in网站关键词优化的价格
  • 咸鱼网站做链接怎么使用宝塔做网站
  • 个人设计网站模板wordpress数据库名