首页 > 其他分享 >在安卓手机上安装虚拟机作为一个移动服务器

在安卓手机上安装虚拟机作为一个移动服务器

时间:2024-09-19 21:24:08浏览次数:9  
标签:x86 虚拟机 机上安装 安卓手 64 docker qemu alpine

  1. 安装 termux

    下载地址如下,下载arm64的那个,然后直接安装

    https://github.com/termux/termux-app/releases
    
  2. 打开termux,安装 wget 和 vim

    pkg install wget
    pkg install vim
    
  3. 查询手机ID(手机不方便输入,我这里使用了oppo 的跨屏互联)
    image-20240919210911672

  4. 安装qemu

    apt install qemu-utils qemu-common qemu-system-x86_64-headless
    
  5. 下载Alpine linux系统

    mkdir alpine && cd $_
    
    wget http://dl-cdn.alpinelinux.org/alpine/v3.12/releases/x86_64/alpine-virt-3.12.3-x86_64.iso
    
  6. 创建虚拟硬盘

    qemu-img create -f qcow2 alpine.img 5G
    
  7. 在QEMU里面启动安装alpine的引导程序

    qemu-system-x86_64 -machine q35 -m 1024 -smp cpus=2 -cpu qemu64 \
      -drive if=pflash,format=raw,read-only,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
      -netdev user,id=n1,hostfwd=tcp::2222-:22 -device virtio-net,netdev=n1 \
      -cdrom alpine-virt-3.12.3-x86_64.iso \
      -nographic alpine.img
    

    然后使用root用户登录

  8. 网卡设置

    setup-interfaces
    #然后又更具配置配置网卡
    
    ifup eth0
    
  9. 让开机时能输出信息

    sed -i -E 's/(local kernel_opts)=.*/\1="console=ttyS0"/' /sbin/setup-disk
    
  10. 创建安装文件
    vi answerfile

KEYMAPOPTS="us us"
HOSTNAMEOPTS="-n alpine"
INTERFACESOPTS="auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
    hostname alpine
"
TIMEZONEOPTS="-z UTC"
PROXYOPTS="none"
APKREPOSOPTS="http://dl-cdn.alpinelinux.org/alpine/v3.12/main http://dl-cdn.alpinelinux.org/alpine/v3.12/community"
SSHDOPTS="-c openssh"
NTPOPTS="-c busybox"
DISKOPTS="-v -m sys -s 0 /dev/sda"
  1. 安装alpine

    setup-alpine -f answerfile
    
  2. 安装完成之后关机

    poweroff
    
  3. 创建启动脚本

    touch run.sh
    chmod 775
    

    vim run.sh,然后输入以下内容(这时候手机的8081被映射到虚拟机的80端口)

    qemu-system-x86_64 -machine q35 -m 2048 -smp cpus=2 -cpu qemu64 \
      -drive if=pflash,format=raw,read-only=on,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \
      -netdev user,id=n1,hostfwd=tcp::2222-:22,hostfwd=tcp::8081-:80 -device virtio-net,netdev=n1 \
      -nographic alpine.img
      
    
  4. 从新启动qemu虚拟机里面的alpine

    ./run.sh
    
  5. 然后安装docker 和启动

    #这个docker改了daemon.json的镜像地址以后依旧是连接的docker.io不知道为啥
    apk update && apk add docker
    service docker start
    rc-update add docker
    
  6. qemu指定的端口是手机的8081映射到虚拟机的80端口,我们在虚拟机里面安装个nginx在外面是可以直接访问的

    #安装nginx
    apk add nginx
    
  7. 修改nginx的配置文件

    默认配置文返回的都是404,修改以后可以在外面正常访问

    修改以后启动

    service nginx start
    image-20240919210745799

  8. 浏览器访问:http://192.168.1.100:8081/
    image-20240919211743349

  9. 有IPV6可以通过DDNS 映射出去作为移动服务器了,可以跑个redis ,mysql 之类的之类的小东西。

  10. 不知道安卓上的qemu虚拟机性能损失多少,如果需要性能可以考虑root以后直接在手机上安装ubuntu之类的linux,以达到性能最低损失

标签:x86,虚拟机,机上安装,安卓手,64,docker,qemu,alpine
From: https://www.cnblogs.com/cxygg/p/18421400

相关文章

  • 虚拟机ubuntu增加磁盘
    虚拟机软件vmware,系统ubuntu16.04系统存储空间不够用了,需要扩充一下,记录一下操作步骤。先关掉虚拟机系统,打开虚拟机设置--硬件--选中“硬盘”--点击右侧的“扩展”按钮,输入想要的空间大小,点“确定”,启动虚拟机。进入虚拟机后,打开终端,使用fdisk查看分区信息:robot@ubuntu:~$s......
  • C# udp通讯 多网卡/虚拟机指定某个网卡通讯
    LocalIP=GetAllAdaptersIPAddress();Task.Run(()=>{try{//接收广播UdpClientudpClient=newUdpClient(newIPEndPoint(IPAddress.Any,6789));while(true){IPEndPointAnyIP=newIPEndPoint(IPAddress.Any,0);byte[]data=udpClient.Receive(refAnyIP);......
  • pve7.2虚拟机 lvm磁盘扩容,增加硬盘操作
    参考:https://blog.csdn.net/qq_32429805/article/details/132230402之前安装pve时候只有256的ssd,最近安装的虚拟机较多,给加块闲置硬盘,顺便学习一下,像pve这种虚拟机系统,硬盘应该可以像nas你这样随时增加,而不影响上层应用,我自己也是摸索着做。一、安装好硬盘后打开pve的管理页面,......
  • 安卓手机改ip地址改到其他市
    在数字化时代,IP地址作为设备在网络上的唯一标识,其重要性不言而喻。有时,出于测试、学习或特定服务访问的需求,用户可能希望将安卓手机的IP地址修改为其他城市的地址。本文旨在探讨如何在安卓手机上修改IP地址至其他城市,并提供合规使用的建议。一、修改IP地址的方法要在安卓手......
  • 史无前例,移植V8虚拟机到纯血鸿蒙系统
    作者:京东科技于飞跃一、背景   如图所示,Roma框架是我们自主研发的动态化跨平台解决方案,已支持iOS,android,web三端。目前在京东金融APP已经有200+页面,200+乐高楼层使用,为保证基于Roma框架开发的业务可以零成本、无缝运行到鸿蒙系统,需要将Roma框架适配到鸿蒙系统。Rom......
  • macOS Sequoia 正式版(24A335)黑苹果/Mac/虚拟机系统镜像
    “ 以下内容来自于黑果魏叔官网”镜像特点完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区(如有需要,可以自行直接替换opencore分区文件为clover引导文件)备注:此镜像仅适用与16g优盘以及16g以上文件哈希值:md5:......
  • 在 fnOS上安装 KVM 虚拟化,并使用 Cockpit 网页管理虚拟机
    在fnOS系统上安装KVM虚拟化,并使用Cockpit进行网页管理,可以按照以下步骤进行:1.安装KVM虚拟化组件首先,更新软件列表和系统包:sudoaptupdate&&sudoaptupgrade-y安装KVM及相关工具软件:sudoaptinstallqemu-kvmlibvirt-daemon-systemlibvirt-clientsbridge-u......
  • 深入理解Nova组件与虚拟机生命周期管理
    在OpenStack学习旅程的第32天,我们深入探索了Nova这一核心组件,它是OpenStack云中负责计算资源管理和虚拟机生命周期控制的“大脑”。Nova不仅负责管理虚拟机的创建、调度、执行和销毁,还提供了丰富的API接口,使得用户能够灵活地与云基础设施进行交互。虚拟机生命周期管理虚拟机的生命......
  • 【大数据分析】基于Spark哔哩哔哩数据分析舆情推荐系统 b站(完整系统源码+数据库+开发
    文章目录【大数据分析】基于Spark哔哩哔哩数据分析舆情推荐系统b站(完整系统源码+数据库+开发笔记+详细部署教程+虚拟机分布式启动教程)✅一、项目概述二、研究意义三、背景四、国内外研究现状五、开发技术介绍六、算法介绍 七、数据库设计 八、系统启动九、项目展......
  • OpenCore引导安装苹果系统,VMware虚拟机安装苹果系统
    Windows下VMware虚拟机安装macOS系统,常规安装都需要使用到unlocker解锁工具.而直接使用OpenCore引导安装,就可以不使用unlocker解锁工具也能安装macOS系统,使用OpenCore引导的优点还是有的,比如改系统的三码或五码还是比较方便,这里将最近配置的OpenCore引导分享给大家一起研究.......