【安装笔记-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 发行版本。

相关推荐
东软吴彦祖13 分钟前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
艾杰Hydra38 分钟前
LInux配置PXE 服务器
linux·运维·服务器
工业甲酰苯胺42 分钟前
深入解析 Spring AI 系列:解析返回参数处理
javascript·windows·spring
小爬菜1 小时前
Django学习笔记(启动项目)-03
前端·笔记·python·学习·django
小爬菜1 小时前
Django学习笔记(bootstrap的运用)-04
笔记·学习·django
慵懒的猫mi1 小时前
deepin分享-Linux & Windows 双系统时间不一致解决方案
linux·运维·windows·mysql·deepin
阿无@_@1 小时前
2、ceph的安装——方式二ceph-deploy
linux·ceph·centos
hwscom1 小时前
Windows Server 2025如何做系统安全加固
windows·安全·系统安全
Mbblovey2 小时前
手机版扫描王导出 PDF、快速文本识别工具扫描纸张
windows·软件构建·需求分析·个人开发·软件需求
PyAIGCMaster2 小时前
ollama部署及实践记录,虚拟环境,pycharm等
linux·ide·pycharm