Moja próba przekształcenia starego telefonu z Androidem w serwer Linux zakończyła się wypróbowaniem wielu dystrybucji Linuxa.

Podobnie jak w przypadku starych komputerów stacjonarnych i laptopów, istnieje wiele sposobów na ponowne wykorzystanie starego smartfona. Jeśli aparat działa dobrze, możesz go przekształcić w… tymczasowa kamera internetowa Do twojego komputera, a nawet Kompletny system monitorowania z wykorzystaniem serwera FrigateMożesz też użyć ekranu dotykowego, aby utworzyć niezawodny panel Asystenta Domowego. A jeśli tak jak ja zależy Ci na produktywności, możesz nawet… Użyj go ponownie i przekonwertuj na Stream Deck.

Moja próba przekształcenia starego telefonu z Androidem w serwer Linux zakończyła się wypróbowaniem wielu dystrybucji Linuxa: Eksploracja możliwości serwerów mobilnych.

Ale co z przekształceniem telefonu z Androidem w serwer domowy – taki, który mógłby konkurować z urządzeniami takimi jak Raspberry Pi? To nasunęło mi kolejny pomysł i postanowiłem spróbować zrealizować ten projekt. W końcu próbowałem już uruchamiać gry PC na moim smartfonie, więc uruchamianie kontenerów Linuksa nie powinno być zbyt trudne, prawda? No cóż, nie do końca. Z powodu ograniczeń wynikających z braku uprawnień roota, mogłem uruchomić na telefonie tylko kilka dystrybucji, a ostatecznie miałem lepszą konfigurację do przełączania się między dystrybucjami niż uruchamianie usług pakietowych.

Wybierz odpowiednie pakiety dla tej konfiguracji.

Ostatecznie zdecydowałem się na instalację Temux + proot-distro.

Instalowanie DokuWiki w proot-distro

Największym wyzwaniem w tym projekcie było znalezienie konfiguracji, która działałaby niezawodnie bez rootowania telefonu. Wcześniej jailbreakowałem telefony natychmiast po ich zakupie. Jednak ze względu na wszystkie ograniczenia narzucane przez nowoczesne aplikacje, uznałem, że najlepiej będzie uniknąć rootowania.

Niestety, bezpośrednia metoda uruchamiania kontenerów wymaga maszyny z dostępem root, a w niektórych przypadkach nawet niestandardowych modułów jądra. To ograniczenie zmusiło mnie do poszukiwania alternatywy. Uruchamianie maszyn wirtualnych – nawet tych uruchamianych przez chroot – napotykało podobny problem na maszynach bez dostępu root.

To dało mi alternatywne rozwiązanie z wykorzystaniem Termux, potężnego emulatora terminala, którego często używam w moich projektach na Androida. Chwila szperania na GitHubie doprowadziła mnie do proot-distro, który wydawał się idealnym pakietem do tego eksperymentu. W zasadzie tworzy on środowisko proot (wariant chroot w przestrzeni użytkownika), w którym mogę dowolnie modyfikować dystrybucje Linuksa. Nie przypuszczałem, że wkrótce zaprowadzi mnie to do podróży między dystrybucjami.

Eksperymentowanie z dystrybucjami Linuksa na Androidzie

proot-distro na początku działało dobrze.

Zainstaluj Arch Linux za pomocą proot-distro na Termux

Po zakończeniu wszystkich przygotowań nadszedł czas, aby przejść do kolejnego etapu projektu. Po uruchomieniu polecenia `pkg install proot-distro` w Termux, odczekałem kilka minut na pobranie niezbędnych pakietów. Następnie uruchomiłem polecenie `proot-distro install debian`, aby rozpocząć konfigurację środowiska Debiana na moim smartfonie. Po zakończeniu instalacji uruchomiłem polecenie `proot-distro login debian`, aby zalogować się do Debiana i rzeczywiście, słynny system operacyjny Debian działał na moim telefonie.

Ponieważ nie mogłem uruchomić żadnych pakietów z uprawnieniami sudo, zacząłem od aktualizacji pakietów za pomocą standardowych poleceń `apt update` i `apt upgrade`. Następnie spróbowałem zainstalować kilka standardowych pakietów, w tym DokuWiki. Jednak większość pakietów od razu przestała działać. Spróbowałem również zainstalować Dockera, co spowodowało kilka błędów. Niezrażony tymi nieudanymi próbami, skupiłem się na Podmanie, który również odmówił uruchomienia. Z perspektywy czasu, to miało sens, ponieważ musiałem wprowadzić pewne modyfikacje w jądrze, aby środowiska uruchomieniowe kontenerów działały na moim telefonie.

Ale nie mogłem uruchomić aplikacji root.

Konfigurowanie Arch Linux przy użyciu proot-distro na Termux

Po krótkim przeglądaniu GitHuba znalazłem repozytorium proot-apps. Jak zapewne domyśliłeś się po nazwie, jest to zbiór aplikacji od kreatywnych programistów z LinuxServer, zaprojektowanych do działania w środowisku proot. Zacząłem więc instalować niektóre z tych aplikacji na mojej maszynie wirtualnej z Debianem. Niestety, te przeznaczone dla typowych kontenerów Dockera, takich jak NextCloud, nie działały w mojej konfiguracji. Co ciekawe, kod błędu wspominał o QEMU (a raczej o jego braku), którego aplikacja w ogóle nie powinna wymagać.

Pomyślałem jednak, że mógłbym spróbować uruchomić pakiety w innej dystrybucji. Fedora ma lepsze wsparcie dla Podmana, więc pomyślałem, że mógłbym spróbować uruchomić środowisko wykonawcze kontenera w innej dystrybucji – co również nie zadziałało. Następnie spróbowałem uruchomić proot-apps w systemie Arch Linux, ale niektóre inne dystrybucje w ogóle odmówiły uruchomienia. To właśnie ta ostatnia część najbardziej mnie martwiła…

Przeniesiono do repozytorium Termux-Pentesting-Distro

Ale wtedy już zgubiłem cel pierwotnego projektu.

Chociaż dystrybucje takie jak Debian, Fedora i Arch „działały”, odkryłem, że nie mogłem zainstalować wielu aplikacji bez problemów z pakietami – dotyczyło to nawet prostego programu takiego jak neofetch. Postanowiłem dać mu ostatnią szansę po znalezieniu repozytorium Termux-Pentesting-Distro na GitHubie. Rezultat? Okazało się, że to repozytorium nie tylko obsługiwało szeroką gamę świetnych dystrybucji, ale także uruchamiało wiele aplikacji. Chociaż nie mogłem uruchomić żadnych menedżerów okien ani środowisk graficznych, udało mi się zainstalować wiele dystrybucji na moim telefonie.

Podobnie, udało mi się zainstalować Emacsa, Neovima i inne niezbędne aplikacje Linuksa z repozytoriów nowej dystrybucji. Problem? Do tego czasu całkowicie odszedłem od mojego pierwotnego celu, jakim było uruchamianie kontenerów, i całkowicie skupiłem się na eksperymentowaniu z niesamowitymi dystrybucjami. Na swoją obronę powiem, że mój mózg nie mógł powstrzymać się od ekscytacji na samą myśl o liczbie dystrybucji Linuksa – zwłaszcza że wiele z nich miało zupełnie nowe nazwy. Co więcej, każda wersja Linuksa była dostarczana z Neofetchem od razu po instalacji, a jeśli jest coś, co kocham bardziej niż przełączanie się między dystrybucjami, to widok niesamowitego widżetu Neofetcha.

Na razie jestem zadowolony z dziwnego przełączania się między dystrybucjami, które zaaranżowałem, zwłaszcza że nie znalazłem sposobu na uruchomienie podstawowych kontenerów na moim telefonie. Planuję wkrótce zrootować drugi, nieco starszy telefon, żebym mógł spróbować tego ponownie z kontenerami Docker i Podman, tak jak wszyscy inni.

Możliwość dodawania komentarzy nie jest dostępna.