LineageOS op een oude Moto G (1st generation)

Door Halfwas op vrijdag 18 augustus 2017 12:30 - Reacties (6)
CategorieŽn: Linux, Software en OSes, Views: 1.992

Moto G met Lineage

Het verbaast me nog steeds een beetje, maar het is me gisteren zowaar gelukt om LineageOS op mijn Moto G (1st generation) te zetten!

Ik was eigenlijk van plan om eerst een andere telefoon te kopen voordat ik aanpassingen zou doen aan mijn Moto G die ik nog altijd dagelijks gebruik, maar ik was te nieuwsgierig.

Al moet ik toegeven dat ik het ook redelijk spannend vond. Het werken met de terminal, alle waarschuwingen van Motorola over het unlocken van de bootloader en natuurlijk de verhalen waar het helemaal fout gaat maakte me toch wel een beetje nerveus.

Bovendien snap ik in grote lijnen wel wat alle stappen inhouden en wat de commands doen, maar uiteindelijk ben ik ook maar een leek die erop vertrouwd dat alle instructies kloppen en de software (LineageOS, TWRP, OpenGApps) veilig is.

Ik heb de instructies gevolgd die op de LineageOS wiki staan. Dit ging goed, al werkte sommige commands niet meteen in Linux (Xubuntu). Volgens de instructies moet je in dat geval sommige commands (zoals fastboot) uitvoeren als root, maar het toevoegen van sudo leek ook niet te werken.

Uiteindelijk heb ik dit kunnen oplossen door een oplossing die ik las op Stackoverflow en sudo $(which fastboot) in plaats van sudo fastboot te gebruiken.

Ik snap nog steeds het verschil niet helemaal tussen sudo fastboot devices en sudo $(which fastboot) devices. Op het internet kan ik het antwoord hierop ook niet snel vinden, dus mocht iemand dit weten dan hoor ik dit heel graag.

De telefoon draait nu op LineageOS 14.1 (Android 7.1.2) en werkt tot nu toe perfect! Ik heb door het toevoegen van OpenGApps pico toegang tot de Play store zonder gebruik te maken van alle andere Google apps en diensten.

Ik heb zelfs het idee dat de foto's die de Moto G (met de 5MP camera) maakt een klein stukje beter zijn door de verbeterde software/camera app.

De hardware van de Moto G is anno 2017 echter wel enigszins verouderd en daar gaat een nieuwe Android versie niets aan veranderen. De telefoon gebruikt gemiddeld, met alleen WhatsApp als extra app, zo'n 650 MB (van de 1GB) aan geheugen dus veel extra apps draaien zit er niet in.

Ik ben van plan om binnenkort alsnog een andere telefoon te kopen, maar ik heb nu wel iets minder haast. Bovendien koop ik misschien wel een tweedehandsje waar goede LineageOS support voor is.

Volgende: Mijn doelen voor 2017 19-08 Mijn doelen voor 2017
Volgende: Wat is het doel van dit nieuwe Tweakblog? 15-08 Wat is het doel van dit nieuwe Tweakblog?

Reacties


Door Tweakers user Springuin, vrijdag 18 augustus 2017 12:40

Ik snap nog steeds het verschil niet helemaal tussen sudo fastboot devices en sudo $(which fastboot) devices. Op het internet kan ik het antwoord hierop ook niet snel vinden, dus mocht iemand dit weten dan hoor ik dit heel graag.
sudo fastboot devices gebruikt de inhoud van de PATH variable van de root gebruiker om te proberen de fastboot executable te vinden. "which fastboot" zoekt op basis van de PATH variable van de huidige gebruiker de absolute locatie van de fastboot executable op.

Stel dat fastboot in /usr/bin/fastboot staat maar PATH voor root alleen /bin en /sbin bevat kan sudo, als root gebruiker, fastboot niet vinden.
De gewone gebruiker heeft wel /usr/bin in zijn PATH staan dus which fastboot geeft /usr/bin/fastboot terug.
Met $(which fastboot) wordt eerst, als huidige gebruiker "which fastboot" uitgevoerd en vervolgens gebruikt in het commando.
Daarmee wordt "sudo $(which fastboot) devices" "sudo /usr/bin/fastboot devices".

Ik hoop dat het bovenstaande eea verlicht :)


Hoe ervaar je de snelheid van het os op deze (toch wat gedateerde) telefoon?

Door Tweakers user Halfwas, vrijdag 18 augustus 2017 13:11

Springuin schreef op vrijdag 18 augustus 2017 @ 12:40:
[...]

sudo fastboot devices gebruikt de inhoud van de PATH variable van de root gebruiker om te proberen de fastboot executable te vinden. "which fastboot" zoekt op basis van de PATH variable van de huidige gebruiker de absolute locatie van de fastboot executable op.

Stel dat fastboot in /usr/bin/fastboot staat maar PATH voor root alleen /bin en /sbin bevat kan sudo, als root gebruiker, fastboot niet vinden.
De gewone gebruiker heeft wel /usr/bin in zijn PATH staan dus which fastboot geeft /usr/bin/fastboot terug.
Met $(which fastboot) wordt eerst, als huidige gebruiker "which fastboot" uitgevoerd en vervolgens gebruikt in het commando.
Daarmee wordt "sudo $(which fastboot) devices" "sudo /usr/bin/fastboot devices".

Ik hoop dat het bovenstaande eea verlicht :)
Bedankt voor je snelle reactie!

Ik heb zoals je misschien kan merken niet heel veel kaas gegeten van Linux, maar begrijp ik het goed dat als ik de fastboot executable niet in mijn usermap (/home/halfwas/adb-fastboot) maar in een paar mappen 'daarvoor' (/ of /bin) had gezet dat ik dan wel gewoon sudo kon gebruiken?

Een van mijn doelen voor de komende tijd is om me wat meer te verdiepen in Linux, dus mogelijk (en hopelijk!) is dit verschil me binnenkort helemaal duidelijk. :D
Hoe ervaar je de snelheid van het os op deze (toch wat gedateerde) telefoon?
Hij loopt echt heel soepel met als disclaimer dat ik qua smartphones ook niet heel veel gewend ben. Mijn broer heeft de nieuwe OnePlus en als ik daarmee speel, dan besef ik me wel weer dat mijn toestel inmiddels alweer bijna 4 jaar oud is en zelfs toen een budgettelefoon was.

Ik heb wel het idee dat hij zelfs een stukje sneller is dan voorheen met Android 5.1. Het browsen van het internet (op dit moment nog via de standaard browser) is zowel via WiFi als 3G wel redelijk traag, maar dat was met Android 5.1 ook al zo.

Door Tweakers user Springuin, vrijdag 18 augustus 2017 13:28

Halfwas schreef op vrijdag 18 augustus 2017 @ 13:11:
[...]maar begrijp ik het goed dat als ik de fastboot executable niet in mijn usermap (/home/halfwas/adb-fastboot) maar in een paar mappen 'daarvoor' (/ of /bin) had gezet dat ik dan wel gewoon sudo kon gebruiken?
Niet helemaal: als je een commando intypt om een executable uit te voeren moet je dat doen met een absoluut of relatief pad ervoor tenzij de executable in een map staat die voorkomt in de PATH variable. Je kunt dus niet zomaar een map 'daarvoor' nemen.

Je kunt kijken wat de inhoud van al je variablen is met het env commando. Je zult dan zien dat er verschil zit tussen env als gebruiker en sudo env (als root).

Door Tweakers user Palmolive, vrijdag 18 augustus 2017 14:30

Geinig, ik heb er ook nog eentje liggen. Eens kijken of dit lukt!

Door Tweakers user Halfwas, zaterdag 19 augustus 2017 11:26

Springuin schreef op vrijdag 18 augustus 2017 @ 13:28:
[...]

Niet helemaal: als je een commando intypt om een executable uit te voeren moet je dat doen met een absoluut of relatief pad ervoor tenzij de executable in een map staat die voorkomt in de PATH variable. Je kunt dus niet zomaar een map 'daarvoor' nemen.

Je kunt kijken wat de inhoud van al je variablen is met het env commando. Je zult dan zien dat er verschil zit tussen env als gebruiker en sudo env (als root).
Wederom bedankt Springuin! Ik ben van plan om me hier binnenkort eens goed in te verdiepen.
mincedmeat schreef op vrijdag 18 augustus 2017 @ 14:30:
Geinig, ik heb er ook nog eentje liggen. Eens kijken of dit lukt!
Als Ūk het kan, dan moet het jou vast ook wel lukken. Succes! :)

Door Tweakers user Draaksteker, zondag 20 augustus 2017 10:20

Ik heb dit ook gedaan met mijn Moto G 4G (2013, dus 1st gen XT1039), in LineageOS-termen Peregrine (Moto G zonder 4G heet Falcon). Het is dat mijn scherm brak dat ik nu een Wileyfox Swift 2X heb aangeschaft, maar verder werkt het idd prima.

Reactie formulier
(verplicht)
(verplicht, maar wordt niet getoond)
(optioneel)