Partitionstabelle

C

crckmc

Neues Mitglied
0
Hallo zusammen,

ich versuche gerade Android auf einem HP Stream 7 (gleicher SoC) im Dualboot mit Windows zu installieren.
Leider will der Kernel noch nicht booten.
Die bootloader.img enthält schon einen EFI bootloader deswegen bin ich relativ zuversichtlich das man es zumindest zum booten bringen könnte.
Könnte mir jemand das Partitionslayout vom xintron mmc auslesen?
Wäre sehr hilfreich :)

Falls es daran scheitert das Ihr die Befehle nicht kennt, hier ist eine Anleitung:
Android MMC mmcblk Partition Layout - Digital Internals

Im Wesentlichen brauche ich den output von:
cat /proc/emmc
cat /proc/partitions
ls -l /dev/block/platform/msm_sdcc.1/by-name/ (Befehl muss evtl. auf die platform angepasst werden)

und falls ihr ein gerootetes tablet mit parted habt:
parted /dev/block/mmcblk0


Vielen Dank!
 
Zuletzt bearbeitet:
/proc/emmc existiert auf dem Gerät nicht, aber ich hoffe der Rest hilft dir weiter.

/proc/partitions
Code:
major minor  #blocks  name

179        0    7634944 mmcblk0
179        1     153600 mmcblk0p1
179        2     153600 mmcblk0p2
179        3      30720 mmcblk0p3
179        4      30720 mmcblk0p4
179        5       1024 mmcblk0p5
179        6       1024 mmcblk0p6
179        7    1597440 mmcblk0p7
179        8     819200 mmcblk0p8
179        9    4701184 mmcblk0p9
179       10      10240 mmcblk0p10
179       11      30720 mmcblk0p11
179       12       1024 mmcblk0p12
179       13     102400 mmcblk0p13
179       48       4096 mmcblk0rpmb
179       32       4096 mmcblk0boot1
179       16       4096 mmcblk0boot0
179       64    1955840 mmcblk1
179       65    1954816 mmcblk1p1

ls -l /dev/block/platform/80860F14\:00/by-name/
Code:
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_boot -> /dev/block/mmcblk0p3
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_bootloader -> /dev/block/mmcblk0p1
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_bootloader2 -> /dev/block/mmcblk0p2
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_cache -> /dev/block/mmcblk0p8
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_data -> /dev/block/mmcblk0p9
lrwxrwxrwx  1 root  root  21 Dec  7 21:28 android_factory -> /dev/block/mmcblk0p10
lrwxrwxrwx  1 root  root  21 Dec  7 21:28 android_fastboot -> /dev/block/mmcblk0p11
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_metadata -> /dev/block/mmcblk0p6
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_misc -> /dev/block/mmcblk0p5
lrwxrwxrwx  1 root  root  21 Dec  7 21:28 android_oem -> /dev/block/mmcblk0p13
lrwxrwxrwx  1 root  root  21 Dec  7 21:28 android_persistent -> /dev/block/mmcblk0p12
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_recovery -> /dev/block/mmcblk0p4
lrwxrwxrwx  1 root  root  20 Dec  7 21:28 android_system -> /dev/block/mmcblk0p7


Kein parted, aber dafür die Ausgabe von fdisk:
fdisk -l /dev/block/mmcblk0
Code:
Found valid GPT with protective MBR; using GPT

Disk /dev/block/mmcblk0: 15269888 sectors, 3360M
Logical sector size: 512
Disk identifier (GUID): b15fd20c-7302-41e7-8aaa-e89d3748fad4
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15269854

Number  Start (sector)  End (sector)  Size  Code  Name
  1  2048  309247  150M  0700  android_bootloader
  2  309248  616447  150M  0700  android_bootloader2
  3  616448  677887  30.0M  0700  android_boot
  4  677888  739327  30.0M  0700  android_recovery
  5  739328  741375  1024K  0700  android_misc
  6  741376  743423  1024K  0700  android_metadata
  7  743424  3938303  1560M  0700  android_system
  8  3938304  5576703  800M  0700  android_cache
  9  5576704  14979071  4591M  0700  android_data
  10  14979072  14999551  10.0M  0700  android_factory
  11  14999552  15060991  30.0M  0700  android_fastboot
  12  15060992  15063039  1024K  0700  android_persistent
  13  15063040  15267839  100M  0700  android_oem
 
Hallo,

erstmal vielen Dank für die Infos!
Ich bin leider darauf gestoßen das der UEFI Loader aus "bootloader.img" 64Bit ist, HP aber so freundlich war das BIOS auf 32Bit zu kastrieren...
Der EFI Loader des wintron 7 ist übrigens 32Bit denke aber mal das der nicht zu gebrauchen ist.
Das Android OS wurde als x86 kompiliert (zu finden in build.props in system.img) also geh ich mal davon aus der kernel auch 32Bit ist.
Hast du zufällig die OTA Url für das 6er Update? Würde gern mal in die Dateien schauen ob sich was geändert hat.

Vielen Dank!

crck
 
Nein der Kernel beim Xintron i 7.0 ist x86_64, Android scheint aber Tatsächlich nur für 32bit gebaut worden zu sein.
Code:
uname -a
Linux localhost 3.14.37-quilt-R510-L1-aeb786a1 #1 SMP PREEMPT Mon Jul 20 14:35:10 PDT 2015 x86_64 GNU/Linux

Die Marshmallow OTA Url ist: https://android.googleapis.com/pack...-st70408_4_coho-coho-ota-MMR100600-signed.zip

Wie greifst du beim Windows Tablet eigentlich auf die Systempartitionen zu? Ich hab beim xintron ja initial den Bootloader für Fastboot unlocked und dann aus den OTA Updates ein custom recovery gebaut. Aber das HP Tablet hat wohl standardmäßig kaum Fastboot oder?
 
Danke für den Link und die Info!

Ich greife per Linux darauf zu über USB.
Schreibe dann mit dd deine Images in die passenden Partitionen und muss mir noch nen 32Bit UEFI Loader suchen für den Kernel.
Da die ganze Software aber irgendwie ziemlich dem "android-IA" Projekt von Intel ähnelt werde ich da mal mein Glück versuchen den passenden Loader aufzutreiben :)

Könntest du mir evtl. noch die factory Partition dumpen? Oder braucht man die nicht?
Und weißt du ob persistent, metadata und misc vorformatiert sein müssen?

Gruß

crck
 
Ja klar über USB nur wird das Windows Tablet doch nicht von Haus aus eine Schnittstelle anbieten um eigene Images zu Laden und Schreiben, oder?

Der Android Bootloader von Intel heißt übrigens Kernelflinger. Ein paar Hintergrundinfos zum Bootloader und dem Android Bootprozess findest du hier:
[01.org Android-IA] kernelflinger bootloader
http://events.linuxfoundation.org/sites/events/files/slides/ABS Lollipop MR1 Verified Boot.pdf
Android Verified Boot [LWN.net]

In den Android-IA Repositories auf Github ist der Code leider nicht drin. Aber in den Cyanogenmod Repositories gibt es eine Version:
CyanogenMod/android_hardware_intel_efi_kernelflinger · GitHub

Wegen den übrigen Partitionen kann ich heute Abend mal schauen.
 
Hey super! Vielen Dank für die Recherche hatte mir auch schon einiges davon angesehen.
Über USB war wohl falsch formuliert. Ich greife direkt auf den eMMC zu mit Linux von USB gebootet... :)
WIndows ist momentan gar nicht mehr drauf.
 
Ja hatte mir das alles mal angeschaut um überhaupt rauszufinden wie man das Xintron rooten kann. Hatte kurzfristig mal überlegt nen Cyanogenmod Port für das Xintron anzufangen, aber da ist mir die Zeit, die man braucht um sich einzuarbeiten doch etwas zu schade.

Wenn du schon nen Linux booten kannst, dann sollte es auf jeden Fall auch möglich sein ein Android zu starten. Vielleicht versuchst du es erstmal mit dem custom recovery, da es komplett eigenständig ohne das Android Userland auskommt. Ich würde am ehesten versuchen das Image umzuwandeln, so dass du es mit einem normalem Bootloader von USB booten kannst. Mehr als nen Kernel Image und ne Ramdisk ist das ja eigentlich nicht.
 
Ja das mit der ramdisk und dem kernel hatte ich mir auch gedacht. Leider blieb der Bildschrim mit bisher jedem verwendeten kernel schwarz...
Das neu partitionieren hat leider auch nichts gebracht.

Schade, muss ich mich wohl mit AndroidX86 zufrieden geben :)
 
Hallo nochmal,

ich konnte es ja nicht lassen und musste noch etwas rumprobieren.
Habe jetzt eine efi-shell laufen aus der man auch direkt einen kernel starten kann.
Die sagt mir beim xintron kernel allerdings das der x64 wäre und nicht unterstüzt wird.
Ich versuche mir jetzt auch auch eine build vm aufzusetzen.

Hast du den recovery kernel selbst kompiliert? Wenn ja könntest du ihn evtl mal nur für x86 bauen?

Gruß

crck
 
Zurück
Oben Unten