废旧Android手机如何改造成Linux服务器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了废旧Android手机如何改造成Linux服务器?相关的知识,希望对你有一定的参考价值。

参考技术A

搭建所谓的Linux的过程还是挺简单的,在很久之前我就玩过。不过如今年纪确实也不小了,没了当年那一股冲劲儿,这也属实是一个令人悲伤的事情。

书归正传,能问出这个问题,已经算得上是有一些计算机基础了。不过在这里我还是要明确一下一些 基本定义 ,以免大家后续看不懂。

什么是Linux服务器?

所谓的搭建一个Linux服务器,我们可以将它理解成搭建一个自己的“网站”。 只不过,我们这种低端玩家只能将这个网站呈现在自己的局域网当中。

我们可以将废旧的安卓手机作为一个服务器来使用,在上面构建一些数据和网站。之后利用网络对其进行访问。 Linux的服务器具有安全、稳定的特点 ,非常适合于学生党用于服务器的基础学习。

如何实现Linux服务器的搭建?

首先我们需要准备一台如问题所说的废旧安卓手机,这是你将来的服务器基准。不过要注意的是,这个废旧指的是你不用的手机,但是它得状态良好。

如果它连屏幕都打不开的话,那你就别想了。拿个尸体就想玩,哪有那么简单?如今想搭建个Linux服务器可比我们之前容易的多了,至少说不用再和我们之前一样敲代码了。如今的各路大神已经做好了软件,帮助我们实现自己的梦想。因此这个回答也许更像是一份 教程 ,一个基础的操作方法。

Linux需要的搭建软件

其次,我们需要 busybox ,这可以 为改造完的Linux系统添加指令 ,处于一个类似于Bios的基础。

最后,我们需要 ConnectBot ,这是一个链接创建器, 可以为linuxdeploy构建基础的操作环境。

以上看不明白也没事,都是废话。你需要做的就是在安卓手机下载这些软件,安装好了便可。

Linux服务器搭建的操作流程

所谓的Root,和当年苹果的越狱没什么过大的差别。

而Root之后,你将取得这部手机的所有权限,由此你便可以为所欲为。具体方法网上都有,非常的简单,再次无需赘述。

就和安装正常的安卓软件流程类似,非常简单。如果看到一大堆英文的话,就直接点OK就行了,方便快捷,绝不拖泥带水。

这个目录就是 BusyBox的安装路径 ,按默认的走就行。之后在设置完的菜单上点击安装,等待安装成功。至于说怎么安装,那不用烦劳你上心。

就记住, Start是开始,deploy是结束 就行。

随后启动Linux,点上边那个蓝色加号,自己配置自己的需求即可。

由此,手机端就彻底的改造完成了,而随后,我们就可以用Windows开始新一轮的改造。

Windows端的设置

首先, 在Windows端安装SecureCRT这是一种类服务器搭建连接装置,目的是通过互联网连接服务器和电脑端。 随后将自己的废旧安卓连上网络,用SecureCRT去搜索其IP地址。

连接成功后, 在其中安装jdk ARM版 ,这一部的目的就是建立服务器的基本环境。

随后你就可以以此而随心所欲啦。虽然说这个服务器似乎也没什么太大的用处,不过总归能锻炼我们的动手能力。最重要的是,废旧的安卓也没什么用啊,为啥不再折腾折腾呢?

废旧手机使用termux把手机改造成服务器是最好的选择。

废旧手机可以装个termux软件,使用termux来进行编程开发甚至可以安装带有图形界面的linux电脑操作系统。

我们可以在酷安应用商店,开源的F-droid商店和一些安卓手机应用商店里下载安装和使用termux. termux可以算是安卓手机上最好用最强大的软件之一。

termux可以让你的安卓手机安装使用linux上的PC电脑版的软件,和安装使用c, c++, java, php, python, R, nodejs, rust,mysql 等几乎所有的编程语言,可以让你的安卓手机或安卓平板像电脑一样具有很高的生产力和做大量的编程开发工作。



termux还支持为手机上的ubuntu,debian,arch等linux操作系统安装图形界面让手机上使用具有图形界面的Linux电脑操作系统

如果只是当一个简单的web服务器使用,几乎不需要什么改造。

apache php mysql等有对应的手机安装包,直接安装就可以了。

废旧板子再利用:搭建无线调试环境!

前言

大家好,我是杂烩君。

本篇博文我们来分享嵌入式Linux设备开启无线AP/无线接入点(Wireless Access Point)的方法。

什么情况下会用到无线AP?

我最近的工作中有如下两种情况需要用到:

(1)AP配网。设备热点配网,智能硬件处于AP模式,手机作为STA连接到处于AP模式的智能硬件后组成局域网。此时,手机就可以通过局域网把设备即将连接的路由的ssid和pwd信息至智能硬件,智能硬件接收后,连接路由器,完成配网。

(2)把废旧不用的板子作为开启无线AP组建各设备的局域网通信。对于移动机器人的开发来说,设备实际工作过程中,无线调试无疑是最方便的。

因为设备一直处于运动状态,如果接着有线,电脑需要跟着设备跑,很不方便。因为我们调试时,对路由器的需求比较大,而路由器比较有限,所以我把废旧不用的板子配成了无线AP模式。

经过实测,相同距离,旧板子局域网通信速度略低于我们路由器,但不影响我们作为调试时使用。

嵌入式Linux设备,要开启无线接入点需要准备如下四个文件:

  • hostapd:一个用户态用于AP和认证服务器的守护进程。

  • hostapd.conf:hostapd配置文件,包含无线AP的名称、密码等信息。

  • udhcpd:dhcp拨号的服务器端。

  • udhcpd.conf:udhcpd配置文件,配置网关地址及IP地址的范围。

其中,hostapd、udhcpd工具busybox中包含有。当然,也可以自己下载源码进行编译,方法可参照我们往期的博文:

RTL8723驱动移植+wpa_supplicant移植+SSH移植,编译方法都是大同小异的。

注意区分:udhcpc、udhcpd工具。

  • udhcpc是dhcp拨号的客户端。设备作为STA时,用于自动获取IP。

  • udhcpd是dhcp拨号的服务器端。设备作为AP时,用于自动分配IP。

其中,我们的往期博文如何实现程序开机自启动?中有用到udhcpc,本博文中我们用的是udhcpd。

下面我们来看hostapd及udhcpd的配置文件如何配置:

hostapd配置文件

hostapd的配置文件可参考hostapd源码下的hostapd.conf:

里面的内容很多,实际中我们可能用不到那么多配置,我们可以删减、修改,只保留我们所需的配置。

我们删减修改之后得到:

左右滑动查看全部代码>>>

# AP netdevice name
interface=wlan0

# SSID to be used in IEEE 802.11 management frames
ssid=LinuxZn_AP

# Driver interface type (hostap/wired/none/nl80211/bsd);
# default: hostap). nl80211 is used with all Linux mac80211 drivers.
# Use driver=none if building hostapd as a standalone RADIUS server that does
# not control any wireless/wired driver.
driver=nl80211

# Interface for separate control program.
# /var/run/hostapd is the recommended directory for sockets and by default,
# hostapd_cli will use it when trying to connect with hostapd.
ctrl_interface=/var/run/hostapd

# Channel number (IEEE 802.11)
channel=5

# ieee80211n: Whether IEEE 802.11n (HT) is enabled
# 0 = disabled (default)
# 1 = enabled
# Note: You will also need to enable WMM for full HT functionality.
# Note: hw_mode=g (2.4 GHz) and hw_mode=a (5 GHz) is used to specify the band.
ieee80211n=1
hw_mode=g

# Send empty SSID in beacons and ignore probe request frames that do not
# specify full SSID, i.e., require stations to know SSID.
# default: disabled (0)
# 1 = send empty (length=0) SSID in beacon and ignore probe request for
#     broadcast SSID
# 2 = clear SSID (ASCII 0), but keep the original length (this may be required
#     with some clients that do not support empty SSID) and ignore probe
#     requests for broadcast SSID
ignore_broadcast_ssid=0

# WPA/IEEE 802.11i configuration
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP

该文件主要配置了:

  • 所用网卡:wlan0

  • AP名称:LinuxZn_AP

  • AP密码:12345678

  • 加密:WPA2

  • 频段:2.4GHz

我们把hostapd.conf配置文件我们放到板子上的/etc目录下备用:

udhcpd配置文件

udhcpd的配置文件可参考udhcpd源码下的udhcpd.conf:

同样的,我们只保留如下内容:

左右滑动查看全部代码>>>

# The start and end of the IP lease block
start           192.168.3.2
end             192.168.3.254

# The interface that udhcpd will use
interface       wlan0

opt     dns     114.114.114.114
option  subnet  255.255.255.0
opt     router  192.168.3.1
option  domain  local
option  lease   864000     # 10 days of seconds

该文件主要配置了:

  • 所能分配的IP地址的范围为:192.168.3.2~192.168.3.254

  • 网卡接口:wlan0

  • 网关地址:192.168.3.1

我们把udhcpd.conf配置文件放到板子上的/etc目录下备用:

开启热点

有了以上工具及相关配置文件之后,还需要进行一些操作,才可以开启我们的热点,我们把这些操作写成脚本:

start_ap.sh:

左右滑动查看全部代码>>>

#!/bin/bash

# 杀掉网卡操作相关的进程
killall wpa_supplicant udhcpc dhcpcd dnsmasq udhcpd hostapd > /dev/null 2>&1

# 禁用网卡
ifconfig wlan0 down

# 启用网卡
ifconfig wlan0 up

# 给无线网卡设置IP地址(网关地址)
ifconfig wlan0 192.168.3.1

# 启动DHCP
udhcpd /etc/udhcpd.conf 

# 启动热点
hostapd /etc/hostapd.conf -B

开启热点:

连接测试:

可见,手机分配到的IP为192.168.3.2,属于192.168.3.2~192.168.3.254的范围,我们的设备热点开启成功!我们的PC可以连接这个热点对设备进行调试。

以上就是本次的分享,如果觉得文章有帮助,麻烦帮忙转发,谢谢!

往期推荐:

分享嵌入式软件调试方法及几个有用的工具!

手把手教你使用VSCode + gdb + gdbserver调试ARM程序

嵌入式大杂烩周记 | 第 9 期

嵌入式段错误的3种调试方法汇总!

写国际化的嵌入式代码,时间问题如何处理?

在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。

以上是关于废旧Android手机如何改造成Linux服务器?的主要内容,如果未能解决你的问题,请参考以下文章

卧槽,物色了一款隐秘拍摄神器,别乱用!

如何从android改造上传图像到服务器

旧手机改造成web服务器并实现内网穿透

废旧板子再利用:搭建无线调试环境!

废旧板子再利用:搭建无线调试环境!

ArrayList<String> 使用改造 android 解析成 recyclerview