Erste Custom ROM - Ziemlich verzweifelt am Updater-Script

  • 12 Antworten
  • Letztes Antwortdatum
F

Fallwrrk

Gast
Hey,

ich bin grad dabei meine erste Custom ROM für das HTC Sensation Public zu stellen. Die ROM an sich ist kein Problem, die liegt fertig aufm Desktop. Was mich langsam aber richtig aggressiv macht, ist AROMA und das update-script.

Erstmal: Damit es auch was werden soll, arbeite ich OHNE Küche. Ich hantier rein mit 7Zip, Signing-Tools und dem APK-Manager.

Ich hab ne Menge Fragen, die mich inzwischen echt auf die Palme bringen:



1. Ich abreite mit dem AROMA-Installer, da die Installation einfach schöner ist. Bei den ersten Flashversuchen mit dem Market auf ein formatiertes System musste ich erstmal drei Fehler ausbügeln. Halb so wild. Dann kam endlich der Splash-Screen und das Willkommens-Fenster. Ein Klick auf Next und schon war wieder Hacke. Folgender Fehler wurde von AROMA ausgespuckt:

Code:
FUNCTION ERROR!!! aroma-config: viewbox() expects 3 args (title,desc,ico). Got 11

Das hat mich direkt man aufgeregt. Als ich den Textbaustein des Fensters rausgenommen hab, lief er ganz normal weiter. Also liegts an diesem Baustein. Einen Unterschied, außer, dass der Text 11 Zeilen lang ist, konnte ich zu anderen Bausteinen, wie dem ersten Windows nicht erkennen. Die Frage ist nun: Wo liegt der Fehler. Ich weiß, dass er von Etwas 3 erwartet hat, jedoch 11 bekam. 11 ist wahrscheinlich meine Zeilenanzahl. Aber wie löse ich das Problem. Packt AROMA vllt keine 11 Zeilen?



2. Die Frage ist kürzer: Wenn ich eine Partition formatieren will, beispielsweise den Cache, muss die Partition dann gemountet sein oder nicht? Jeder andere Installern von anderen ROMs sagt was Anderes.



3. Was zum Teufel sind diese riesigen Textbausteine im Script, die sich Symlinks schimpfen? Sie sind gefühlt unendlich lang, ich weiß nicht, wozu diese gut sind, ich weiß nicht, wozu diese fähig sind und ich weiß nichtmal, wie man sie bildet oder ob man sie überhaupt braucht.



Das war erstmal alles. Ich hoffe, dass einer von euch klugen Köpfen mir helfen kann. Auf Wunsch häng ich aroma-config und updater-script noch hier an.

mfg Marcel
 
Zuletzt bearbeitet von einem Moderator:
Ein Symlink ist wie eine Verknüpfung:
Symbolische Verknüpfung

Ich habe aber auch eine ähnliche Frage hier weiter unten im Forum gestellt...:crying:

Ich habe keine AHnung was dieses "Aroma ist, aber ich glaube ich kann dir einen Tipp geben:
FUNCTION ERROR!!! aroma-config: viewbox() expects 3 args (title,desc,ico). Got 11 Wie du gesgt hast erwartet er drei Sachen(args=Argumente)
Diese wären: title desc icon
Du hast wahrscheinlich die ?Definition? nicht richtig beendet, oder die Begriffe später erneut neu definiert.
Kannst du vlt. das .Config anhängen?

PS: Kann natürlich auch sein, dass es total falsch ist...:p
 
Okay, ich hab alle Probleme gelöst, hab jedoch ein komplett Neues:

Mein Script formatiert erst /system und /cache, mountet daraufhin /system und schreibt dann auf /system. Soweit komm ich aber leider nicht. Formatieren klappt perfekt. Erst wird /system formatiert und dann /cache, was durch den Log von AROMA auch bestätigt wird (außerdem war meine aktuelle ROM weg und ich hatte kein Backup :D ). Jedoch kommt schon vor dem Befehl...

Code:
ui_print("Mounte System...");

...die Meldung...

Code:
error: file_write: write: I/O error

Der Fehlercode ist "Status 1". Fehler im Script hab ich nicht gefunden.

Ich hoffe, mir kann jemand dabei helfen.

mfg Marcel
 
Kannst du bitte den Script hochladen? Ist zu spät am Abend und ich komme nicht mehr mit...:tongue:
Und wenn du willst noch die stelle wo der Fehler kommt einfügen, kannst es ja auch als Code posten.
 
Spät? Überhaupt nicht. Wie sagt man um 8 Uhr morgend so schön: "Guten Morgen Deutschland, gute Nacht Gamer!" :D

Bitte sehr. Der dick geschriebene Teil funktioniert perfekt. Der unterstrichene erscheint nichtmal mehr:

Code:
[B]ui_print("Formatiere System...");
	format("ext4", "EMMC", "/dev/block/mmcblk0p22");
ui_print("Formatiere Cache...");
	format("ext4", "EMMC", "/dev/block/mmcblk0p24");[/B]
[U]ui_print("Mounte System...");
	mount("ext4", "EMMC", "/dev/block/mmcblk0p22", "/system");
ui_print("Schreibe System...");
	package_extract_dir("system", "/system");
ui_print("Installiere Busybox...");
	set_perm(0, 1000, 0755, "/system/xbin/busybox");
	run_program("/system/xbin/busybox", "--install", "-s", "/system/xbin");
ui_print("Setze Symlinks...");
	symlink("dumpstate", "/system/bin/dumpcrash");
	symlink("toolbox", "/system/bin/cat");
	symlink("toolbox", "/system/bin/chmod");
	symlink("toolbox", "/system/bin/chown");
	symlink("toolbox", "/system/bin/cmp");
	symlink("toolbox", "/system/bin/date");
	symlink("toolbox", "/system/bin/dd");
	symlink("toolbox", "/system/bin/df");
	symlink("toolbox", "/system/bin/dmesg");
	symlink("toolbox", "/system/bin/getevent");
	symlink("toolbox", "/system/bin/getprop");
	symlink("toolbox", "/system/bin/hd");
	symlink("toolbox", "/system/bin/id");
	symlink("toolbox", "/system/bin/ifconfig");
	symlink("toolbox", "/system/bin/iftop");
	symlink("toolbox", "/system/bin/insmod");
	symlink("toolbox", "/system/bin/ioctl");
	symlink("toolbox", "/system/bin/ionice");
	symlink("toolbox", "/system/bin/kill");
	symlink("toolbox", "/system/bin/ln");
	symlink("toolbox", "/system/bin/log");
	symlink("toolbox", "/system/bin/ls");
	symlink("toolbox", "/system/bin/lsmod");
	symlink("toolbox", "/system/bin/lsof");
	symlink("toolbox", "/system/bin/mkdir");
	symlink("toolbox", "/system/bin/mount");
	symlink("toolbox", "/system/bin/mv");
	symlink("toolbox", "/system/bin/nandread");
	symlink("toolbox", "/system/bin/netstat");
	symlink("toolbox", "/system/bin/newfs_msdos");
	symlink("toolbox", "/system/bin/notify");
	symlink("toolbox", "/system/bin/printenv");
	symlink("toolbox", "/system/bin/ps");
	symlink("toolbox", "/system/bin/reboot");
	symlink("toolbox", "/system/bin/renice");
	symlink("toolbox", "/system/bin/rm");
	symlink("toolbox", "/system/bin/rmdir");
	symlink("toolbox", "/system/bin/rmmod");
	symlink("toolbox", "/system/bin/route");
	symlink("toolbox", "/system/bin/schedtop");
	symlink("toolbox", "/system/bin/sendevent");
	symlink("toolbox", "/system/bin/setconsole");
	symlink("toolbox", "/system/bin/setprop");
	symlink("toolbox", "/system/bin/sleep");
	symlink("toolbox", "/system/bin/smd");
	symlink("toolbox", "/system/bin/start");
	symlink("toolbox", "/system/bin/stop");
	symlink("toolbox", "/system/bin/sync");
	symlink("toolbox", "/system/bin/top");
	symlink("toolbox", "/system/bin/touch");
	symlink("toolbox", "/system/bin/umount");
	symlink("toolbox", "/system/bin/uptime");
	symlink("toolbox", "/system/bin/vmstat");
	symlink("toolbox", "/system/bin/watchprops");
	symlink("toolbox", "/system/bin/wipe");
	symlink("/system/bin/mksh", "/system/bin/sh");
	symlink("/system/fonts/Roboto-Regular.ttf","/system/fonts/DroidSans.ttf");
	symlink("/system/fonts/Roboto-Bold.ttf","/system/fonts/DroidSans-Bold.ttf");
	symlink("/factory/hdcp.keys", "/system/vendor/firmware/hdcp.keys");
ui_print("Setze Rechte...");
	set_perm_recursive(0, 0, 0755, 0644, "/system");
	set_perm_recursive(0, 2000, 0755, 0755, "/system/bin");
		set_perm(0, 1000, 04750, "/system/bin/iptables");
		set_perm(0, 3003, 02750, "/system/bin/netcfg");
		set_perm(0, 3004, 02755, "/system/bin/ping");
		set_perm(0, 2000, 06755, "/system/bin/reboot");
		set_perm(0, 2000, 06750, "/system/bin/run-as");
		set_perm(0, 1000, 04750, "/system/bin/tc");
	set_perm_recursive(1002, 1002, 0755, 0440, "/system/etc/bluetooth");
		set_perm(0, 0, 0755, "/system/etc/bluetooth");
		set_perm(0, 0, 0644, "/system/etc/bluetooth/a2dp_avrcp.conf");
		set_perm(1000, 1000, 0640, "/system/etc/bluetooth/auto_pairing.conf");
		set_perm(3002, 3002, 0444, "/system/etc/bluetooth/blacklist.conf");
		set_perm(1002, 1002, 0440, "/system/etc/dbus.conf");
		set_perm(1014, 2000, 0550, "/system/etc/dhcpcd/dhcpcd-run-hooks");
		set_perm(0, 2000, 0550, "/system/etc/init.goldfish.sh");
		set_perm(1000, 1000, 0555, "/system/etc/init.qcom.sdio.sh");
	set_perm_recursive(0, 0, 0755, 0555, "/system/etc/ppp");
	set_perm_recursive(0, 2000, 0755, 0644, "/system/vendor");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/left_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/nose_base-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-r0-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rn7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.3/right_eye-y0-yi45-p0-pi45-rp7-ri20.2d_n2/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-r0-ri30.4a/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rn30-ri30.5/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/detection/yaw_roll_face_detectors.3/head-y0-yi45-p0-pi45-rp30-ri30.5/full_model.bin");
		set_perm(0, 0, 0644, "/system/vendor/pittpatt/models/recognition/face.face.y0-y0-22-b-N/full_model.bin");
	set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
	set_perm_recursive(0, 2000, 0755, 0755, "/system/xbin");
		set_perm(0, 0, 06755, "/system/xbin/su");
ui_print("Flashe boot.img...");
	assert(package_extract_file("boot.img", "/tmp/boot.img"),
	write_raw_image("/tmp/boot.img", "boot"));
ui_print("Unmounte System...");
	unmount("/system");
ui_print("");
ui_print("  Folge mir auf Twitter, damit du kein  ");
ui_print(" Update der Ride The Lightning-ROM mehr ");
ui_print("               verpasst:                ");
ui_print("            @bratwurstmobil             ");
ui_print("");
ui_print("Klicke auf Next.");[/U]
 
Probiere das hier mal:
format("yaffs2", "MTD", "system", "0");
mount("yaffs2", "MTD", "system", "/system");

Cache muss der Benutzer eben selbst löschen...:D
In dem Rest kann ich keinen Fehler entdecken.
 
Klappt nicht. AROMA bzw 4EXT kennt MTD nicht. Das hab ich schonmal versucht und bin kläglich gescheitert. Das Problem liegt dja defintiv nicht am mount(), ansonsten müsste ja zumindest der ui_print()-Text erscheinen. Das tut er aber auch nicht. Also muss der Fehler zwischen dem Text und dem Formatieren des Caches liegen, nur wo und wieso?

mfg Marcel
 
Probiere es mit dem Tool von XDA:
Suche noch...(Habe den Link auf nem anderen Rechner)
Sorry, finde es nicht mehr aber es ist ganz sicher noch da.
Es hat ein GUI und du kannst z.B. mount system drücken und er erstellt den passenden Code....

Wenn du das benutzt kannst du sicher sein, dass nichts am Updater Script(z.B. formatieren des Caches) liegt.
Und es geht viel schneller, aber du bist ja schon (fast) fertig.
 
Zuletzt bearbeitet:
Nen Acc hab ich, danke! Ich werd mal morgen schauen und dort nachfragen. Ich hab nur erst hier nachgefragt, weil mir deutsche Antworten dann doch lieber sind.

mfg Marcel
 
Hast du die recovery.log Datei? Also ich hab da jetzt auch keinen Fehler gesehen..
 
Ne Recovery.Log spuckt AROMA nicht aus, aber was Ähnliches:

Code:
 AROMA INSTALLER version 1.10
  (c) 2011-2012 by amarullz xda-developers

ROM Name    : Ride The Lightning
ROM Version : BETA1
ROM Author  : Bratwurstmobil
Device      : HTC Sensation Z710e/Z715e
Start at    : Mon Apr  2 19:30:49 2012


  Formatiere System...
    Creating filesystem with parameters:
    Size: 838859776
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7315
    Inode size: 256
    Journal blocks: 3200
    Label:
    Blocks: 204799
    Block groups: 7
    Reserved block group size: 55
    Created filesystem with 11/51205 inodes and 6651/204799 blocks
  Formatiere Cache...
    Creating filesystem with parameters:
    Size: 125787136
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 7677
    Inode size: 256
    Journal blocks: 1024
    Label:
    Blocks: 30709
    Block groups: 1
    Reserved block group size: 7
    Created filesystem with 11/7677 inodes and 1518/30709 blocks
    error: file_write: write: I/O error


Installer Error (Status 1)


End at : Mon Apr  2 19:30:55 2012


Gesendet von meinem HTC Sensation XE with Beats Audio mit der Android-Hilfe.de App
 
Scheint beim Formatieren des Caches zu sein.
Ein I/O Error gibt es normalerweise, wenn etwas nicht beschrieben oder gelesen werden kann.
Weiß leider immer noch nicht wo der Fehler liegt.

PS: Das Tool bringt dir leider nichts, weil es für das CWM Recovery ist...
 

Ähnliche Themen

J
Antworten
2
Aufrufe
1.156
justinh13
J
DerOhneNick
Antworten
3
Aufrufe
1.479
DerOhneNick
DerOhneNick
J
Antworten
1
Aufrufe
1.350
mblaster4711
mblaster4711
Zurück
Oben Unten