找回密码
 马上注册

QQ登录

只需一步,快速开始

搜索
查看: 1190|回复: 2
打印 上一主题 下一主题

Linux Deploy教程--在Android设备上运行Linux系统

[复制链接]
跳转到指定楼层
楼主
发表于 2020-1-31 20:12:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 花猫 于 2020-1-31 21:53 编辑

目录-------------------------
0.0  前言
1.0  材料准备
        1.1硬件
        1.2 软件
2.0  安装和初步配置
        2.1  安装Linux
                2.1.1    安装前的准备
                2.1.2    配置系统设置
                2.1.3    开始安装
                2.1.4    开机、关机和重启
        2.2  首次连接配置
                2.2.1    SSH
                2.2.2    VNC
                2.2.3    X11
        2.3  安装必须软件
3.0  后话
4.0  外部链接&下载地址
0.0 前言-------------------------
         很久很久以前流行过一个软件,叫做bochs,它可以让你在哪Android设备上运行Windows系统。楼主也曾试过,但发现它和同类软件limbo效率极低(winxp开机十分钟)。原因很简单:绝大多数Android设备采用ARM架构的CPU,而Windows要求x86/x64架构的CPU,bochs/limbo的原理就是使用QEMU内核模拟出x86 CPU和硬件设备,然后在这个完全虚拟的机器上运行Windows—拿ARM模拟x86,效率能高起来就怪了。
    那么有没有一种方法,在Android设备上高效地运行电脑上的操作系统?还真有,那就是Linux onAndroid—通过chroot容器在Android内核上运行Linux系统。由于它直接使用设备的ARM处理器,不需要虚拟硬件(显示器除外),因此效率堪比真机。当然,需要root。
          Linux on Android有很多方案,本教程介绍最简单的一种:Linux deploy方案
          注意:尽管Linuxdeploy 是最简单的方案,但它仍对使用者提出了一定的要求:
1. 使用过Linux操作系统。
2. 熟悉Linux的常用shell命令。
1.0 材料准备-------------------------
      1.1    硬件
        一台Android设备,手机平板均可。
        CPU:理论上说单核主频1GHz以上都可,推荐双核/四核1.2GHz以上。
        RAM:512MB以上,推荐1024MB以上。
        屏幕:无要求,如果要用X11界面的话推荐5寸以上。
        储存器:有1GB以上剩余空间,推荐4GB以上。
        楼主的设备是海信-X8T,四核 1.2GHz,RAM 1024MB,储存4GB内置+16GB SD卡。
      1.2    软件
        系统:推荐Android4.0以上,已root,楼主的海信-X8T是Android4.3。
         Linux deploy:本教程主角,用于在Android上部署Linux,楼主用的v2.4.0(本教程编写时的最新版),下载地址见文末。
         ConnectBot:ssh连接软件,下载地址见文末。
         VNC Viewer:VNC远程桌面,选配,下载地址见文末。
         XServer XSDL:X11连接软件,选配,楼主用的汉化版,下载地址见文末。
         文件管理器:RE文件管理器或ES文件管理器,楼主用的是CyanogenMod文件管理器,下载地址见文末。
         Root软件:用于获取root权限,一般用kingroot,楼主用的是一个老版kingroot(v4.0.5,这版本插件少,运行快),下载地址见文末。
2.0 安装和初步配置-------------------------
      2.1    安装Linux
           2.1.1     安装前的准备
              在安装完所需软件并获得了root授权后,就可以安装Linux了。
              首先,打开文件管理
              按“菜单”键打开设置
              打开“常规设置”
            
             将“访问模式”项改为“用户提示模式”(这儿会要求root授权,永久授权即可)改完效果如上图
             回到文件管理器主页,发现主页变成了根目录。
             在文件管理器主页点击左下角书签图标,然后点“SD卡”或者“内存设备”。具体点那个按你想把镜像文件放哪儿和剩余空间决定,楼主把镜像文件放到SD卡中。
             新建两个文件夹,一个命名为“linux”,另一个命名为“HDD”(如果你不用共享文件的话,就不用新建“HDD”文件夹了),“linux”文件夹里面什么也不要放,“HDD”文件夹里面放上几张图片,用来验证挂载设置是否正确,(文件夹名也可以改成别的,注意后面设置的时候别设错了就行,另外注意区分大小写!!!)
            然后,退出文件管理器,打开Linux deploy
            初次启动时会配置环境,让它自己配置完就好了。
            
             先点击右上角三根杠,
            
             最上面的“配置文件”一项可用于添加/删除配置文件,类似于添加/删除虚拟机的功能,默认配置文件名为“linux”,一般不需要更改它。
            
            然后点“设置”,把“屏幕常亮”和“锁定 Wi-Fi”都打上钩,“CPU 唤醒”也可以打开。
            然后回到软件主页
         2.1.2     配置系统设置
            
           点左下角按钮配置系统。
            
           容器类型:不要改。
           发行版GNU/Linux:按个人喜好,此处以Debian为例。
           发行版GNU/Linux 版本 :按个人喜好,此处选Debian9 stretch
           架构:按设备CPU决定,一般是armhf或arm64。
          源地址:默认官方源,推荐改成国内源,此处以清华源为例。注意:有部分源(比如网易源)没有对应架构,那就不能选此源。另外Linux deploy只支持http的源,如果是https的源,需要先改为http。按上述要求改完后,此处应填
           安装类型:默认镜像文件,不需要改
           安装路径:把“/linux.img”之前的部分改成镜像文件所在文件夹(就是第一步里新建的那一个)路径,注意是绝对路径,绝对路径在文件管理器里能看。此处楼主把镜像文件目录放在了SD卡中的“linux”文件夹中,此处应填“/storage/sdcard1/linux/linux.img”。
           
           镜像大小(单位:MB):1024~4096之间均可,按存储器剩余空间决定,如果储存器文件系统不是FAT32,还可以设得更大。楼主此处设为3072。
           文件系统:一般选ext3/ext4,楼主选的ext3
           用户名:自己设,别忘了
           用户密码:自己设,别忘了,也别告诉别人
           特权用户:设成“root”
           本地化:从最后往上找,选“zh_CN.UTF-8”,这个选项就是简体中文。
           DNS:不用改
           Network trigger:不用改
           
          初始化:默认关闭
         
          挂载:相当于共享文件夹,可开可不开。要开的话就是把启用打上勾,然后点击“编辑挂载点列表”,在页面中点击右上角加号添加,“source”栏内填入挂载点的绝对路径(就是第一步时新建的第二个文件夹),楼主填的是“/storage/sdcard1/HDD”,“target”栏内填在Linux中的挂载的路径,楼主填的是“/mnt/HDD”(后来看了一下发现,其实填成“/home/(用户名)/HDD”更为合适)
         
          SSH:一定要启用此项!!!否则无法使用SSH远程连接操作
          SSH 设置:进去之后就是改端口号,默认22,最好是进去确认一下默认端口号。
          声音服务:不用管
         
          图形界面:推荐打开,但如果设备性能太低也可以选择不打开。
          图形子系统:有VNC、X11、Farmebuffer三项,默认VNC,其中VNC是远程桌面,需要VNC Viewer软件来连接;X11是利用Xserve XSDL软件让Android设备成为X-Window的客户端;Farmebuffer是直接调用系统显示设备显示,不需要额外软件。一般来说设备屏小推荐VNC;屏大推荐X11;Farmebuffer配置十分麻烦,不推荐,有兴趣的可以自行尝试。
图形界面设置:按图形子系统不同而不同,上图中图2是VNC的图形界面设置,全部保留默认即可;图3是X11的图形界面设置,如果要用X11的话需要把“XServer XSDL”项勾选上。
          桌面环境:有 XTerm、LXDE、Xfce、MATE四种,一般来说LXDE就可以胜任绝大多数设备了,XTerm用于性能较低的设备;Xfce 推荐在RAM 1GB+的设备上用;如果设备性能非常好,且RAM 2GB+的话可以用MATE。
这样,系统设置就配置完了,按返回键回到软件主页。
        2.1.3     开始安装
           
          在联网条件下依次点击右上角三个点、安装、ok开始安装(这时候会要求root授权,永久授权即可)
          然后就会开始安装,主窗体上会显示一堆文字
          刚开始那一阵它会在下图这个地方停住好长时间,这是在创建镜像文件(文件大小=配置系统设置中“镜像大小”一栏所填进去的值),不是程序卡了!!千万要有耐心一点,不要结束进程!!
           
           
           过一会就会弹出一大堆字符
           
          要一直等,直到输出“<<<deploy”
          发现它输出“<<delopy”后,不一定代表Linux已被成功安装,最好进行检查,方法很简单:往上翻翻,看看弹出的文字中有没有中文,如果是,那就基本没问题。如果输出一个汉字都没有,那就说明配置有问题,去试着改一下配置里面的架构或者文件系统,然后删掉镜像文件重新安装。
           安装无误后,点击“停止”,如果不使用图形界面或使用VNC图形界面,然后应点击“启动”,再参照第2.2节配置 SSH 和 VNC连接,;如使用X11图形界面,应先参照第2.2节配置XServer XSDL 和SSH,再回到Linux deploy点击“启动”运行系统。
         2.1.4     开机、关机和重启
           对于Linuxdeploy而言,正确的开关机方式十分重要,注意:不到程序彻底卡死,无法恢复的地步,千万不能以结束进程的方法来退出。
           开机:于Linuxdeploy 软件主页,点击左下方“启动”,然后在弹出的窗口中点“ok”,即可开机,当输出“<<<start”时开机完成。
           关机:于Linuxdeploy 软件主页,点击下方中间“停止”,然后在弹出的窗口中点“ok”,即可关机,当输出“<<<stop”时关机完成。
           重启:于 Linuxdeploy 软件主页,按上述步骤先关机,再开机,即可重启,没错安装完成后的那个先停止在启动的步骤就是重启。
     2.2    首次连接配置
          2.2.1     SSH
             使用ConnectBot软件进行SSH连接
            
             进入后(图1)点击右下角蓝色加号添加链接,进入编辑页面(图2)。
             编辑页面中只需要把在“用户名@主机:端口”填入“(用户名)@localhost:22”再点击右上角保存即可。保存完成自动退回主页,此时可以看到一个链接已被添加(图3)。
             如果此时已启动Linux,点击已配置好的链接即可连接到Linux,进入时会要求密码(图4),输完密码(就是在配置系统设置里设的密码),即可使用命令行操作(图5)。
             当然你也可以用电脑上的SSH软件进行连接,不过使用其他设备连接时,主机名应该为联网时设备的IP地址,IP地址就是Linuxdeploy软件主页上方括号中的那串数字。
          2.2.2     VNC
             楼主此处使用VNC Viewer软件进行VNC连接
            
             打开 VNC Viewer(图1),点击左下方“+”添加链接(图2)
             Address 栏 填“localhost:2”(图2靠上一栏)
             Name 栏随便填(图2靠下一栏)
             Save Password 打勾(图3)
             点下方对号保存(图3),然后会自动跳转至图4所示的界面
             如 Linux 已启动,点击“Connect”(图4),即可连接
             首次连接要输入密码(图5)
             连接完成,将看到以下界面
               
              当然你也可以用电脑上的VNC软件进行连接,不过使用其他设备连接时,主机名应该为联网时设备的IP地址,IP地址就是Linuxdeploy软件主页上方括号中的那串数字。
            2.2.3     X11
              X11也叫做X Window系统
              由百度上的介绍,就可以大略地了解X11显示子系统的工作原理:运行在Linux deploy里的Linux作为X的服务器,利用XServe XSDL让Android设备成为X的客户端,以达到显示桌面的目的。
              XServer XSDL软件在首次使用时需要先更改部分设备配置,否则很难使用。
              第一次启动XServer XSDL时,软件会进行重力感应校准(如果它有调用重力感应权限的话),并要求下载一些内容。一般来说只需要前两个就行了。然后点确定等它下载完(很快)。
              
              完成后,退出(不要按返回,按home键)XServer XSDL并结束其进程。
              重新进入XServerXSDL,点击“设备配置”
              
              进入以下页面
              
              点击“鼠标仿真”
              
              点击“高级功能”
              
             向下划,找到“控制鼠标带陀螺仪”,将这项关闭。(改完如下图)
              
             另外“相对鼠标移动(笔记本模式)”也可以关闭,(开启就是手指划,鼠标跟着划,就像笔记本电脑上的触摸板一样;关闭就是手指点哪儿鼠标就出现在哪儿,就像平板电脑触摸屏一样)
             然后点击空白处回到“鼠标仿真”
             点击“左键单击”设置鼠标左键操作
            
             一般按照以下规则设置
             如果之前关闭了“相对鼠标移动”那么这里设置为“点击”
             如果之前没关闭“相对鼠标移动”,那么这里设置为“物理键”
             点击“物理键”后,会要求任意按一个按键(一般是音量+键),按下的按键会在XServe XSDL中成为鼠标左键。
             选了“点击”或“物理键”并设置完成后,会弹出窗口要求设置鼠标速度什么的,不用管,点空白处退回“鼠标仿真”
             然后再设置右击鼠标,设置方法和规则与左键类似,
            
             如果之前关闭了“相对鼠标移动”那么这里设置为“保持在同一地点”保持超时设为1.5秒
            
             如果之前没关闭“相对鼠标移动”,那么这里设置为“物理键”,注意所设的按键不能与左键相同
             点击空白处回到“设备配置”页,向下翻,点击“确定”,保存配置
             然后会到下一页面
            
             此页面持续三秒,点击此页面可以更改分辨率和DPI
            
            分辨率默认即可,DPI可以按情况更改,不然可能会出现字很小看不清或字很大的情况
            
            
            然后会进入一个蓝色的页面
            
            此时按home键退出,再打开Linux deploy,点击“启动”开启系统
           一般要等15秒左右才会加载出桌面
            有时加载不出桌面来,也不一定是系统有问题,看一下蓝屏页面上的文字,port是不是6000,如果不是,那就要结束XServe XSDL的进程,重新打开XServe XSDL,直到port为6000为止,再回到Linuxdeploy重启Linux
             桌面效果如下
            
     2.3   安装必须软件
          由于Linux deploy安装时只会安装核心软件,部分必须软件还要再安装,安装最好在命令行(SSH或终端)中进行
          Debian采用apt命令管理软件包
          安装中文字体(文泉驿正黑)不然中文变框框:
  1. $ sudo apt-get install ttf-wqy-zenhei  
复制代码
        安装完成后,需要重启Linux才能使用字体
         安装浏览器
         Firefox:
  1. $ sudo apt-get install firefox
复制代码
       注意:Debian8没有Firefox,需要iceweasel:
  1. $ sudo apt-get install iceweasel
复制代码
       对于性能较低的设备,推荐netsurf:
  1. $ sudo apt-get install netsurf
复制代码
       这样就完成配置,之后就可以使用了
3.0 后话-------------------------
这篇教程就到此为止了。但我还有几件事要说一下:
一是busybox,网上大多数教程都要求安装busybox,但Linux deploy官网更新日志中表示新版本内置了busybox,且楼主在安装时没有安装busybox,因此本教程不做说明
二是版本,本教程于2019年9月30日开始编辑,当时最新版是2.4.0,现在又更新了几个版本,变化不是很大,使用时基本上还能再参考一下。
最后再发两张图吧,看一下最终效果
4.0 外部链接&下载地址-------------------------
Linux deploy GitHub 官方主页:
Linux deploy 下载地址:
Linux deploy  Wiki:
本教程中其他提到的软件下载地址:
百度网盘链接:
提取码:i41m
谢谢观看
沙发
发表于 2020-2-9 12:09:13 来自手机 | 只看该作者
termux可以实现这个效果,也不用root
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2020-2-26 13:45:00 | 只看该作者
更正:
1.安装Firefox的命令应为:sudo apt-get install firefox-esr
2.Firefox由于未知原因有时无法运行,而netsurf网页排版混乱且无法正常输入中文,实际使用时发现Epiphany浏览器可以运行,可以安装Epiphany浏览器
安装Epiphany浏览器的命令为:sudo apt-get install epiphany-browser
另外,可以考虑一下几个在终端界面下运行的浏览器,比如links,elinks,lynx等
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

|金沙网投平台 ( ) 

© 2009-2016 All Rights Reserved

GMT+8, 2020-3-30 09:54 , Processed in 0.347202 second(s), 22 queries , Gzip On, Memcache On.