Jump to content
Melde dich an, um diesem Inhalt zu folgen  
~Fixnow

Eigene Custom Rom Rooten

Recommended Posts

~Fixnow

Hallo alle zusammen!

Vorab muss ich sagen, es handelt sich hier um meine erste Custom Rom! :-) Bin also noch ein Neuling auf diesem Gebiet.

Zur Geschichte, ich habe mir eine 4.4.3 Android Stock Rom runtergeladen und sie nach meinen Bedürfnissen angepasst, sprich Apps gelöscht die ich nicht benötige, default.xml sowie die build.prob angepasst.

Läuft wunderbar, bis auf root!

Leider ist die Rom nicht gerootet, jedesmal wenn ich sie neu flash, muss ich anschließend ins TWRP und Superuser flashen.

Dies möchte ich gerne noch ändern und zwar so, dass meine Rom von Anfang an gerootet ist.

So, wie gehe ich da am besten vor? Android Kitchen habe ich schon versucht doch leider ohne erfolg.

Wie bekomme ich sie nun gerootet?

Hier noch paar Infos zur Rom, fehlt leider noch Root! :(

- Base 6.09.401.5

- Android 4.4.3 KitKat

- Sense 6.0

- Odexed

-

Added:

- AdAway hinzugefügt

- Panorama 360 hinzugefügt

- Boomsound hinzugefügt

- Musik Channel hinzugefügt

Remove:

- Kindermodus entfernt

- Bootsound entfernt

- HTC Tell entfernt

- HTC Stock entfernt

- Überflüssige Apps entfernt

Im Voraus Danke für eure Antworten

bearbeitet von ~Fixnow

Diesen Beitrag teilen


Link zum Beitrag
warci

Hallo und Willkommen bei Handy-FAQ,

versteh ich es richtig das du dir deine ROM als flashbares Archiv gebaut hast oder handelt es sich einfach um ein Backup einer angepassten StockROM?

Falls diese wirklich direkt flashbar ist musst du die Superuser Binary und App eigentlich nur in den Flash-Vorgang integrieren, dazu könntest du dir die update-binary von der SuperSU Update ZIP angucken.

Fall es sich um ein Backup handelst kannst du diese theoretisch einfach flashen und dann die ROM anschließend nochmal sichern.

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Danke und ja, es handelt sich um ein flashbares Archiv.

Die Rom lässt sich mit TWRP flashen, jedoch muss ich Superuser nachträglich flashen und das möchte ich vermeiden.

Die update-binary schaue ich mir gerade an und wie lässt sich das in den Flash-Vorgang integrieren?

Blicke da nicht so ganz durch...

Meine update-binary schaut allerdings so aus:

#!/sbin/sh


OUTFD=$2

ZIP=$3


ui_print() {

echo -n -e "ui_print $1\n" > /proc/self/fd/$OUTFD

echo -n -e "ui_print\n" > /proc/self/fd/$OUTFD

}


set_perm() {

chown $1.$2 $4

chown $1:$2 $4

chmod $3 $4

}


ch_con() {

/system/bin/toolbox chcon u:object_r:system_file:s0 $1

chcon u:object_r:system_file:s0 $1

}


ui_print "*********************"

ui_print "SuperSU installer ZIP"

ui_print "*********************"


ui_print "- Mounting /system, /data and rootfs"

mount /system

mount /data

mount -o rw,remount /system

mount -o rw,remount /system /system

mount -o rw,remount /

mount -o rw,remount / /


ABI=$(cat /default.prop | grep ro.product.cpu.abi= | dd bs=1 skip=19 count=3)

ABI2=$(cat /default.prop | grep ro.product.cpu.abi2= | dd bs=1 skip=20 count=3)


ARCH=arm

if [ "$ABI" = "x86" ]; then ARCH=x86; fi;

if [ "$ABI2" = "x86" ]; then ARCH=x86; fi;


ui_print "- Extracting files"

cd /tmp

mkdir supersu

cd supersu

unzip -o "$ZIP"


BIN=/tmp/supersu/$ARCH

COM=/tmp/supersu/common


ui_print "- Disabling OTA survival"

chmod 0755 /tmp/supersu/$ARCH/chattr

$BIN/chattr -i /system/xbin/su

$BIN/chattr -i /system/bin/.ext/.su

$BIN/chattr -i /system/xbin/daemonsu

$BIN/chattr -i /system/etc/install-recovery.sh


ui_print "- Removing old files"

rm -f /system/bin/su

rm -f /system/xbin/su

rm -f /system/xbin/daemonsu

rm -f /system/bin/.ext/.su

rm -f /system/etc/install-recovery.sh

rm -f /system/etc/init.d/99SuperSUDaemon

rm -f /system/etc/.installed_su_daemon

rm -f /system/app/Superuser.apk

rm -f /system/app/Superuser.odex

rm -f /system/app/SuperUser.apk

rm -f /system/app/SuperUser.odex

rm -f /system/app/superuser.apk

rm -f /system/app/superuser.odex

rm -f /system/app/Supersu.apk

rm -f /system/app/Supersu.odex

rm -f /system/app/SuperSU.apk

rm -f /system/app/SuperSU.odex

rm -f /system/app/supersu.apk

rm -f /system/app/supersu.odex

rm -f /data/dalvik-cache/*com.noshufou.android.su*

rm -f /data/dalvik-cache/*com.koushikdutta.superuser*

rm -f /data/dalvik-cache/*com.mgyun.shua.su*

rm -f /data/dalvik-cache/*Superuser.apk*

rm -f /data/dalvik-cache/*SuperUser.apk*

rm -f /data/dalvik-cache/*superuser.apk*

rm -f /data/dalvik-cache/*eu.chainfire.supersu*

rm -f /data/dalvik-cache/*Supersu.apk*

rm -f /data/dalvik-cache/*SuperSU.apk*

rm -f /data/dalvik-cache/*supersu.apk*

rm -f /data/dalvik-cache/*.oat

rm -f /data/app/com.noshufou.android.su-*

rm -f /data/app/com.koushikdutta.superuser-*

rm -f /data/app/com.mgyun.shua.su-*

rm -f /data/app/eu.chainfire.supersu-*


ui_print "- Creating space"

cp /system/app/Maps.apk /Maps.apk

cp /system/app/GMS_Maps.apk /GMS_Maps.apk

cp /system/app/YouTube.apk /YouTube.apk

rm /system/app/Maps.apk

rm /system/app/GMS_Maps.apk

rm /system/app/YouTube.apk


ui_print "- Placing files"

mkdir /system/bin/.ext

cp $BIN/su /system/xbin/daemonsu

cp $BIN/su /system/xbin/su

cp $BIN/su /system/bin/.ext/.su

cp $COM/Superuser.apk /system/app/Superuser.apk

cp $COM/install-recovery.sh /system/etc/install-recovery.sh

cp $COM/99SuperSUDaemon /system/etc/init.d/99SuperSUDaemon

echo 1 > /system/etc/.installed_su_daemon


ui_print "- Restoring files"

cp /Maps.apk /system/app/Maps.apk

cp /GMS_Maps.apk /system/app/GMS_Maps.apk

cp /YouTube.apk /system/app/YouTube.apk

rm /Maps.apk

rm /GMS_Maps.apk

rm /YouTube.apk


ui_print "- Setting permissions"

set_perm 0 0 0777 /system/bin/.ext

set_perm 0 0 06755 /system/bin/.ext/.su

set_perm 0 0 06755 /system/xbin/su

set_perm 0 0 0755 /system/xbin/daemonsu

set_perm 0 0 0755 /system/etc/install-recovery.sh

set_perm 0 0 0755 /system/etc/init.d/99SuperSUDaemon

set_perm 0 0 0644 /system/etc/.installed_su_daemon

set_perm 0 0 0644 /system/app/Superuser.apk

set_perm 0 0 0644 /system/app/Maps.apk

set_perm 0 0 0644 /system/app/GMS_Maps.apk

set_perm 0 0 0644 /system/app/YouTube.apk


ch_con /system/bin/.ext/.su

ch_con /system/xbin/su

ch_con /system/xbin/daemonsu

ch_con /system/etc/install-recovery.sh

ch_con /system/etc/init.d/99SuperSUDaemon

ch_con /system/etc/.installed_su_daemon

ch_con /system/app/Superuser.apk

ch_con /system/app/Maps.apk

ch_con /system/app/GMS_Maps.apk

ch_con /system/app/YouTube.apk


ui_print "- Post-installation script"

/system/xbin/su --install


ui_print "- Unmounting /system and /data"

umount /system

umount /data


ui_print "- Done !"

exit 0

da ich persönlich Superuser Koushikdutta benutze, würde ich gerne diesen auch integrieren.

Update:

Im muss nicht zufällig folgendes tuhen oder? Denke ich liege jetzt total falsch richtig? :-)

Die..

install-recovery.sh nach system/etc/

Superuser.apk nach system/app

Die su datei nach /system/xbin/und system/bin/ kopieren ...

...anschließend Rom wieder als flashbares Archiv packen oder!?

bearbeitet von ~Fixnow

Diesen Beitrag teilen


Link zum Beitrag
warci

Die Dateien die intrigiert werden und die dazugehörigen Rechte siehst du in diesem Abschnitt:


mkdir /system/bin/.ext

cp $BIN/su /system/xbin/daemonsu

cp $BIN/su /system/xbin/su

cp $BIN/su /system/bin/.ext/.su

cp $COM/Superuser.apk /system/app/Superuser.apk

cp $COM/install-recovery.sh /system/etc/install-recovery.sh

cp $COM/99SuperSUDaemon /system/etc/init.d/99SuperSUDaemon

echo 1 > /system/etc/.installed_su_daemon


ui_print "- Setting permissions"

set_perm 0 0 0777 /system/bin/.ext

set_perm 0 0 06755 /system/bin/.ext/.su

set_perm 0 0 06755 /system/xbin/su

set_perm 0 0 0755 /system/xbin/daemonsu

set_perm 0 0 0755 /system/etc/install-recovery.sh

set_perm 0 0 0755 /system/etc/init.d/99SuperSUDaemon

set_perm 0 0 0644 /system/etc/.installed_su_daemon

set_perm 0 0 0644 /system/app/Superuser.apk


ch_con /system/bin/.ext/.su

ch_con /system/xbin/su

ch_con /system/xbin/daemonsu

ch_con /system/etc/install-recovery.sh

ch_con /system/etc/init.d/99SuperSUDaemon

ch_con /system/etc/.installed_su_daemon

ch_con /system/app/Superuser.apk



ui_print "- Post-installation script"

/system/xbin/su --install

Wenn du als die genannten Dateien und die zugehörigen Rechte in die ZIP aufnimmst und das Post-Scirpt ausführst sollte die ROM hinterher gerootet sein, zumindest nach meinem Verständnis (habe bisher keine eigene ROM erstellt).

Am besten informierst du dich mal in einem Entwickler-Forum, wie z.B. xda oder guckst dir diesen Bereich mal an:

https://www.handy-faq.de/forum/android_entwickler_developer_forum/

Der One-Bereich selber ist eigentlich nicht für "Coding-Fragen" gedacht, daher wirst du bei xda oder im Entwicklerbereich eher Antworten bekommen. ;)

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
Gast

Kopiere: daemonsu und su nach system/xbin/ in der rom.zip

Kopiere: .su nach system/bin/.ext/ in der rom.zip

Kopiere: superuser.apk nach system/app/ in der rom.zip

Kopiere: install-recovery.sh, 99SuperSuDaemon und .installed_su_daemon nach system/etc/init.d in der rom.zip

Kopiere: install-recovery.sh und .installed_su_daemon nach system/etc/init.d in der rom.zip

Falls Ordner nicht vorhanden sind einfach erstellen.

Zum Schluss noch die Setting Permissions in den updater-script kopieren. An der gleichen Stelle wie die vorhandenen.

Kleiner Tip von mir: Lerne die Linux Befehle, dann verstehst du auch die Scripts und es ist leichter für dich.

Du kannst aber auch die update-binary in root.sh umbenennen. Kopiere die mit allen Daten ausser den kompletten META-INF Ordners in das Hauptverzeichnis deiner Rom.zip.

Das gleiche machst du mit dieser Datei (vorher entpacken)

https://www.dropbox.com/s/ejrseg5afv89z3l/config.zip?dl=0

Füge dann das in dein updater-script ein:

package_extract_dir("config", "/tmp");

set_perm(0, 0, 0777, "/tmp/busybox");

set_perm(0, 0, 0777, "/tmp/root.sh");

run_program("/tmp/root.sh");

Gesendet von meinem A0001 mit Tapatalk

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Kurz und knapp, gut erklärt ...Danke

Aber eine Fragen hätte ich noch.

Zum Schluss noch die Setting Permissions in den updater-script kopieren. An der gleichen Stelle wie die vorhandenen.

Also das stück:

ui_print "- Setting permissions"

set_perm 0 0 0777 /system/bin/.ext

set_perm 0 0 06755 /system/bin/.ext/.su

set_perm 0 0 06755 /system/xbin/su

set_perm 0 0 0755 /system/xbin/daemonsu

set_perm 0 0 0755 /system/etc/install-recovery.sh

set_perm 0 0 0755 /system/etc/init.d/99SuperSUDaemon

set_perm 0 0 0644 /system/etc/.installed_su_daemon

set_perm 0 0 0644 /system/app/Superuser.apk

set_perm 0 0 0644 /system/app/Maps.apk

set_perm 0 0 0644 /system/app/GMS_Maps.apk

set_perm 0 0 0644 /system/app/YouTube.apk

ch_con /system/bin/.ext/.su

ch_con /system/xbin/su

ch_con /system/xbin/daemonsu

ch_con /system/etc/install-recovery.sh

ch_con /system/etc/init.d/99SuperSUDaemon

ch_con /system/etc/.installed_su_daemon

ch_con /system/app/Superuser.apk

ch_con /system/app/Maps.apk

ch_con /system/app/GMS_Maps.apk

ch_con /system/app/YouTube.apk

ui_print "- Post-installation script"

/system/xbin/su --install

ui_print "- Unmounting /system and /data"

umount /system

umount /data

ui_print "- Done !"

exit 0

...kommt ins updater-script meiner Rom, direkt unter:

#######################Setting Permissions######################

Sorry für die ganzen # Zeichen, stehen so in meinem updater-script drin.

Hab es mal hochgeladen. MEGA

Diesen Beitrag teilen


Link zum Beitrag
Gast

Ja genau darunter. So sollte es klappen.

Die Zeile mit ui_print kannst aber weg lassen.

Gesendet von meinem A0001 mit Tapatalk

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Also die nicht?

ui_print "- Post-installation script"

/system/xbin/su --install


ui_print "- Unmounting /system and /data"

umount /system

umount /data


ui_print "- Done !"

exit 0
oder meinst du nur:
ui_print "- Done !"

exit 0

...und danke nochmal! Hoffe das klappt :biggrin:

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Guten Morgen!

Funktioniert leider nicht.

Fehlermeldung "Failed" Error executing updater binary in zip ´/data/

Du kannst aber auch die update-binary in root.sh umbenennen. Kopiere die mit allen Daten ausser den kompletten META-INF Ordners in das Hauptverzeichnis deiner Rom.zip.

Das gleiche machst du mit dieser Datei (vorher entpacken)

https://www.dropbox.com/s/ejrseg5afv89z3l/config.zip?dl=0

Füge dann das in dein updater-script ein:

package_extract_dir("config", "/tmp");

set_perm(0, 0, 0777, "/tmp/busybox");

set_perm(0, 0, 0777, "/tmp/root.sh");

run_program("/tmp/root.sh");

Die root.sh muss dann da sein, wo auch die update-binary meiner rom.zip ist?

Der Ordner x86, common und arm dahin wo auch mein Ordner META-INF in der Rom.zip ist?

Update:

Funktioniert leider beides nicht.

Sobald ich die update-binary änder, sagt TWRP "Failed" Error executing updater binary

bearbeitet von ~Fixnow

Diesen Beitrag teilen


Link zum Beitrag
Gast

Die root.sh muss in Hauptverzeichnis der Rom.zip liegen. Auch alle Daten von Superuser!

Gesendet von meinem A0001 mit Tapatalk

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Ja, das habe ich auch versucht. Jedoch ohne Erfolg..

Das Hauptverzeichnis ist doch da wo auch der Ordner xbin app und so weiter und die build.prob liegen oder liege ich da falsch?

Diesen Beitrag teilen


Link zum Beitrag
Gast

Nein das Hauptverzeichnis ist das wo der META-INF, system und boot.img liegen.

Gesendet von meinem A0001 mit Tapatalk

  • Like 1

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Ah ok!

Also müsste das so aussehen ja? (siehe bild)

und...

package_extract_dir("config", "/tmp");

set_perm(0, 0, 0777, "/tmp/busybox");


set_perm(0, 0, 0777, "/tmp/root.sh");

run_program("/tmp/root.sh");

egal wohin kopieren oder auch wieder unter Setting Permissions?

post-1056959-1435693982657_thumb.jpg

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

Leider nicht!

Error executing updater binary in zip ´/data/

Hole ich den ganzen Krempel wieder raus und ersetze die updater binary durch meine alte, funktioniert es.

Aber dann ja ohne root ...

Diesen Beitrag teilen


Link zum Beitrag
~Fixnow

:dankescho

Aus dem XDA Forum!

Soll wohl eine 100% Stock Rom gewesen sein!

Diese war das: https://forum.xda-developers.com/htc-one/development/rom-4-4-3-sense-6-6-09-401-5-100-stock-t2854300

Naja, hab mir dann die build.prop und die default.xml angepasst und alle Apps entfernt die ich nicht brauche..

PS: Wie änder ich den die txt Datei wieder? :-)

...Funktioniert immer noch nicht: Error executing updater binary in zip ´/data/

Naja dann muss ich Superuser immer nach flashen. Nützt ja nix :-)

Aber vielen Dank für deine Mühe !!!

bearbeitet von ~Fixnow

Diesen Beitrag teilen


Link zum Beitrag

Please sign in to comment

You will be able to leave a comment after signing in



Jetzt anmelden
Melde dich an, um diesem Inhalt zu folgen  

×
×
  • Neu erstellen...

Wichtige Information

Bitte beachten Sie folgende Informationen: Nutzungsbedingungen und Impressum & Datenschutzerklärung. Wir haben Cookies auf deinem Gerät platziert, um die Bedienung dieser Website zu verbessern. Du kannst deine Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist.