Openwrt(IstoreOS)安装iventoy

2024-03-07 20:20

本文主要是介绍Openwrt(IstoreOS)安装iventoy,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

目前家里有两台不用的旧主机,平时没事在家里折腾这两台机器。经常换装各种系统。最早是将镜像刷入u盘作为启动盘,这样需要重复装系统就特别麻烦。后来用了ventoy以后一个U盘可以放多个系统镜像,还能做口袋系统(SystemToGo)。最近看到ventoy的作者发布了iventoy提供了一种简单易用的网络启动的方法,就想着在家里的网关上安装iventoy作为PEX服务器。以后重装系统,进PE都不需要U盘了。

尝试按官网方式安装(失败了)

  1. 下载官网tar包

  2. 解压

  3. 运行启动脚本

存在问题:

openwrt基于busybox,存在以下问题

  1. 其内部命令相比debian、RHL等发行版要精简很多,导致脚本(iventoy.sh)无法运行(可修改启动脚本解决)

  1. 缺少相关类库,导致二进制文件(lib/iventoy)也无法执行

错误:lib/iventoy not found,但是明明是有这个文件的,通过搜索引擎检索发现这种问题可以通过ldd命令去调试

如上图,通过ldd lib/iventoy可以发现报了很多错,通过各种搜索发现问题都指向没有类库glibc,而openwrt使用的是muslc,而安装glibc非常麻烦,并且也不建议这么做,因为openwrt本来就是为嵌入式设备设计的,加了会导致系统变大。

到这里就失败了,然后就想到了能否做成Docker镜像来运行,首先就是到hub.docker.com和github上去搜索是否有现成的镜像,结果来真有,详细步骤参考后文。

使用docker镜像安装(成功了)

推荐镜像:ziggyds/iventoy,该作者的镜像通过Github Actions自动更新

参考 docker-compose.yml

version: '3.9'
services:iventoy:image: ziggyds/iventoy:latestcontainer_name: iventoyrestart: alwaysprivileged: true #must be truenetwork_mode: hostvolumes:- /data/sda/packages/SystemImages:/app/iso- ./config:/app/data- ./logs:/app/logenvironment:- AUTO_START_PXE=true # optional, true by default

启动:docker compose up -d

这里直接启动会遇到问题,因为我们把data目录映射到了容器外面,如果不映射那么配置会随着容器的销毁而销毁,因此我们需要把单独下载的linux安装包对应文件拷贝到映射配置目录即可。

也可以通过docker命令来实现

# 先移除容器
docker compose down
# 复制容器data目录的文件到你映射的配置目录
docker cp iventoy:/app/data ./config
# 重新启动
docker compose up -d

使用外部dhcp-服务器(网关的DHCP)

我的openwrt系统是网关也是nas,本机已经存在一个hdcp服务器了,所以参考官方文档配置外部dhcp服务器即可。

  1. 登录iventoy控制台,在【参数配置】中设置【DHCP 服务器模式】为External

  2. 在openwrt中配置PXE启动选项

对比ventoy

根据我的实际使用经验来看,iventoy不能替代ventoy,原因主要有以下两点

  1. 不支持SystemToGo,无盘系统启动好像也不行(没有足够资料供我研究)

  2. 不是所有的镜像都支持网络启动。目前感觉是只有支持legacy模式的镜像才能通过iventoy启动,另外WIMBOOT也不支持

这篇关于Openwrt(IstoreOS)安装iventoy的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/784714

相关文章

Python中Request的安装以及简单的使用方法图文教程

《Python中Request的安装以及简单的使用方法图文教程》python里的request库经常被用于进行网络爬虫,想要学习网络爬虫的同学必须得安装request这个第三方库,:本文主要介绍P... 目录1.Requests 安装cmd 窗口安装为pycharm安装在pycharm设置中为项目安装req

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创