【安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT】

安装笔记-系列文章目录

安装笔记-20240520-Windows-在 QEMU 中尝试运行 OpenWRT


文章目录


前言

本文记录在 Windows 环境下在 QEMU 虚拟机中安装运行 OpenWRT 的步骤。

实验使用的电脑如下:

CPU:

shell 复制代码
Intel Core i5 8265U

操作系统:

shell 复制代码
Microsoft Windows 10  Professional (x64), Version 22H2, Build 19045.4412

一、软件介绍


名称:OpenWRT


主页

项目主页:https://openwrt.org/


官方介绍

OpenWrt项目是一个针对嵌入式设备定制的Linux操作系统。

OpenWrt项目不是试图创建一个单一的、静态的固件,而是提供了一个完全可写的文件系统和包管理功能。

这使您摆脱了厂商提供的应用选择和配置,允许您通过使用包来定制设备,以适应任何应用程序。

对于开发者来说,OpenWrt是一个构建应用程序而无需围绕它构建完整固件的框架;对于用户来说,这意味着完全定制的能力,可以以从未设想过的方式使用设备。


二、安装步骤

测试版本:openwrt-23.05.3-x86-64

下载链接

generic-ext4-combined-efi.img.gz
https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz

开启 Windows 虚拟化功能 WHPX

  • 在 "启用或关闭 Windows 功能" 中勾选 "Windows 虚拟机监控程序平台"

运行测试

1、下载 .img.gz 文件后解压出 .img 文件

2、使用以下命令启动 QEMU 虚拟机:

bash 复制代码
..\qemu\8.2.0\qemu-system-x86_64.exe -L "D:\qkd-app\vmos\data" -cpu "Penryn,vendor=GenuineIntel,+ssse3,+sse4.2" -M  "q35,accel=whpx,kernel-irqchip=off" -m 1G -bios "data\ovmf.fd" -netdev "user,id=hn0,hostfwd=tcp::50022-:22,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443" -device "e1000,netdev=hn0,id=nic1" -debugcon "file:debug.log" -global "isa-debugcon.iobase=0x402" -hda openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img

3、启动成功,画面如下:

4、在 OpenWrt 的控制台设置 root 的登录密码,输入以下命令:

bash 复制代码
passwd

配置上网功能

网络拓扑结构

  • OpenWrt eth0: LAN
  • OpenWrt 主机配置为客户设备模式,挂在 QEMU 的 SLIRP 网络中
  • OpenWrt 主机 LAN 网卡开启 DHCP-client 模式,自动获取 IP 地址
  • QEMU 网络设备的设置中增加 Windows 主机端口转发,将 Windows 主机的 50022 端口转发到 QEMU 访客系统(即 OpenWrt 主机)的 22 端口,从而实现从 Windows 主机通过 SSH 连接访问 OpenWrt 主机系统的功能

配置 OpenWrt 远程连接

1、设置 QEMU 启动选项,输入以下命令:

bash 复制代码
..\qemu\8.2.0\qemu-system-x86_64.exe -L "D:\qkd-app\vmos\data" -cpu "Penryn,vendor=GenuineIntel,+ssse3,+sse4.2" -M  "q35,accel=whpx,kernel-irqchip=off" -m 1G -bios "data\ovmf.fd" -netdev "user,id=hn0,hostfwd=tcp::50022-:22,hostfwd=tcp::80-:80,hostfwd=tcp::443-:443" -device "e1000,netdev=hn0,id=nic1" -debugcon "file:debug.log" -global "isa-debugcon.iobase=0x402" -hda openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img

2、配置 OpenWrt 主机为客户设备模式,并开启 DHCP-client 功能

在 OpenWrt 主机终端输入以下命令:

bash 复制代码
uci set network.lan.proto="dhcp"
uci commit network
service network restart

然后,输入以下命令检查 OpenWrt 主机是否正确获取到 QEMU SiLRP 网络 DHCP 服务器分配的 IP 地址

bash 复制代码
ip addr

从上图可见,OpenWrt 主机已经成功获得 10.0.2.15 的 IP 地址

3、从 Windows 主机通过 SSH 连接 OpenWrt 访客主机

主机:localhost

端口:50022

成功登录 OpenWrt 主机后,界面如下:

4、测试网络联通性

在 PuTTY 窗口输入以下命令:

bash 复制代码
ping www.baidu.com

上图可见,OpenWrt 访客主机能访问到 www.baidu.com ,网络通畅。

配置 LuCI 管理界面

5、在 Windows 主机浏览器中输入以下网址:

bash 复制代码
https://localhost/

输入 root 密码,登入 LuCI 管理界面如下:

查看路由信息:

查看系统信息:

软件列表:


三、应用场景

本地构建小型 Linux 服务器

网站开发测试环境


四、参考资料

1、OpenWrt in QEMU


总结

本文介绍了在 Windows 上通过 QEMU/x86_64 运行 OpenWrt 发行版本。

相关推荐
冷眼看人间恩怨1 小时前
【Qt笔记】QDockWidget控件详解
c++·笔记·qt·qdockwidget
Clockwiseee2 小时前
php伪协议
windows·安全·web安全·网络安全
cominglately3 小时前
centos单机部署seata
linux·运维·centos
魏 无羡3 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse3 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
唐宋元明清21884 小时前
.NET 阻止系统睡眠/息屏
windows·电源
木子Linux4 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8244 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu
鹏大师运维4 小时前
聊聊开源的虚拟化平台--PVE
linux·开源·虚拟化·虚拟机·pve·存储·nfs
watermelonoops4 小时前
Windows安装Ubuntu,Deepin三系统启动问题(XXX has invalid signature 您需要先加载内核)
linux·运维·ubuntu·deepin