← Back to Portfolio PROJECT / 001
LINUX / CLOUD / DEVOPS

Linux Smartphone Server

Repurposing an old Redmi Note 7S into an actual Linux server for hands-on Cloud and DevOps practice. The smartphone acts as the server, while the computer is used only as the development and flashing workstation.

postmarketOS Linux SSH Networking Python HTTP
redmi-server
$ whoami
alvin-devassy
$ ls ~/projects
linux-smartphone-server/
$ systemctl status ssh
● ssh.service — active

Turning an old phone into a server.

This project started with an old Redmi Note 7S that was no longer being used as a normal smartphone.

Instead of using the phone only as an Android device, I repurposed it as an actual Linux server.

The goal was to create a small, always-available environment where I could practice Linux administration, networking, SSH, web hosting, services and other technologies relevant to Cloud and DevOps.

The computer is used as the workstation for building, flashing and remotely managing the system. The Redmi itself is the server.

How the system works.

The Redmi is the actual server node. Other devices connect to it over the local network for administration and accessing hosted services.

Development PC Workstation
→
Redmi Note 7S Linux Server
→
Local Network Private Network
→
Client Browser / SSH

What I worked with.

01

Linux

Operating system administration and command-line management.

CLI Filesystem Permissions Processes
02

Networking

Configuring and troubleshooting connectivity between the server and client systems.

WLAN IP TCP Ports
03

SSH

Remote administration of the smartphone server from another machine.

Remote Access Authentication Terminal
04

HTTP

Hosting and testing web content directly from the smartphone.

Python HTTP Port 8080
05

postmarketOS

Linux distribution used to transform the Android smartphone into a Linux environment.

Linux Mobile pmbootstrap
06

Server Management

Practical administration of a physical Linux machine used as a server.

Services Logs Processes

From smartphone to server.

01

Prepare the device

The Redmi Note 7S was factory reset and prepared for the Linux installation process.

02

Configure the workstation

A Linux environment was used as the build and flashing workstation.

03

Unlock and flash recovery

Bootloader and recovery tools were used to prepare the smartphone for the Linux installation.

04

Build postmarketOS

pmbootstrap was used to build the required Linux environment and prepare the installation.

05

Configure networking

The server was connected to Wi-Fi and assigned a local network address.

06

Enable remote administration

SSH was configured so the smartphone could be administered remotely instead of requiring direct interaction with its screen.

07

Host a web service

A Python HTTP server was launched on port 8080 and accessed from another machine on the local network.

What the project achieved.

1

Physical Linux Server

An old smartphone became the actual server machine.

LOW

Low-Power Platform

The phone provides a compact platform for server experiments.

:8080

Web Service

Successfully served HTTP content over the local network.

Problems I had to solve.

CHALLENGE 01

ADB / Fastboot connectivity

The device was not immediately recognized consistently from the development workstation. Debugging involved checking USB connections, drivers and device modes.

CHALLENGE 02

Network interface configuration

The Linux environment initially had problems accessing the expected wireless interface, requiring investigation of the networking configuration.

CHALLENGE 03

Remote access

SSH and network connectivity had to be configured so the server could be managed without relying on the smartphone display.

CHALLENGE 04

Firewall configuration

Network filtering had to be inspected to understand why locally accessible services were not always reachable from another machine.

More than just installing Linux.

This project gave me practical experience with the parts of Linux administration that are difficult to understand from theory alone.

I worked with SSH, IP addressing, networking, processes, ports, services, filesystems, firewall rules and HTTP hosting on a physical device.

Most importantly, the project gave me a server that I can continue expanding as I learn Cloud and DevOps technologies.

Current direction

The Redmi server is being used as a practical Linux environment for continuing Cloud and DevOps learning.

END OF PROJECT

One old phone. One Linux server. A lot to learn.

This is one of the practical systems I am building while working toward Cloud and DevOps engineering.