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

相关推荐
九鼎科技-Leo3 分钟前
了解 .NET 运行时与 .NET 框架:基础概念与相互关系
windows·c#·.net
幺零九零零8 分钟前
【C++】socket套接字编程
linux·服务器·网络·c++
小林熬夜学编程2 小时前
【Linux系统编程】第四十一弹---线程深度解析:从地址空间到多线程实践
linux·c语言·开发语言·c++·算法
A-超2 小时前
vue3展示pag格式动态图
笔记
程思扬2 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
u0101526582 小时前
STM32F103C8T6学习笔记2--LED流水灯与蜂鸣器
笔记·stm32·学习
sun0077002 小时前
拷贝 cp -rdp 和 cp -a
linux·运维·服务器
weixin_518285052 小时前
深度学习笔记10-多分类
人工智能·笔记·深度学习
wowocpp2 小时前
ubuntu 22.04 server 安装 anaconda3
linux·运维·ubuntu
丘狸尾2 小时前
ubuntu【桌面】 配置NAT模式固定IP
笔记