Yritän nähdä boot.img
-tiedoston sisältöä Android-kuvasta.
Googlen ja löysin tämän artikkelin purkamaan system.img
, mutta se ei toimi boot.img
. Kun yrität tehdä tätä kohteelle boot.img
, se näyttää seuraavan:
Invalid sparse file format at header magi Failed to read sparse file
Käytetäänkö simg2img
vain system.img
purkamiseen?
- Jos on, onko olemassa muuta menetelmä purkaa
boot.img
? - Jos ei, mikä ongelma on, jos
boot.img
ei pureta?
kommentit
Vastaa
boot.img on pieni (ish) tiedosto, joka sisältää kaksi pääosaa.
* kernel(important for android) * ramdisk( a core set of instruction & binaries)
Pura boot.img:
Se sisältää seuraavat vaiheet:
-
Lataa työkalu käyttämällä
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/android-serialport-api/android_bootimg_tools.tar.gz
-
Pura tiedosto käyttämällä
tar xvzf android_bootimg_tools.tar.gz
.Se sisältää
two
binaareja:* unpackbootimg * mkbootimg
3.Sitten suorita ./unpackbootimg -i <filename.img> -o <output_path>
It will contain, * boot.img-zImage ----> kernel * boot.img-ramdisk.gz ----> ramdisk
Voimme purkaa myös ramdisk-levyn seuraavalla komennolla.
gunzip -c boot.img-ramdisk.gz | cpio -i
Tiedostojen muuttamisen jälkeen voimme pakata tiedostot uudestaan boot.img-tiedostoon mkbootimg
Pidä hauskaa!
Kommentit
- Saan virheitä kolmannessa vaiheessa auta minua … päätelaite sanoo, että unpackbootimg -komentoa ei löydy
- Saman virheen saaminen Mint 17: n vaiheesta 3 täällä. Yritti ajaa niitä sudolla ja chmod 755: n jälkeen turhaan.
- Varmista vaiheessa 3, että
output_path
on jo olemassa, muutenunpackbootimg
erottelee. - Työkalun linkki on kuollut.
- Korjaa: " unpackbootimg -komentoa ei löydy ", käytät 32-bittistä binaaria 64-bittisessä koneessa ilman 32-bittisiä riippuvuuksia. Asenna ne " apt-get install gcc-multilib "
Answer
boot.img
ei ole pakattu tiedostojärjestelmän kuva, kuten system.img
. Käynnistyslatain lukee sen, ja se sisältää vain ytimen ja ramdisk-kuvan.
Jotkut binaarijärjestelmät toimittavat ytimen ja ramdisk-kuvat erikseen. Siinä tapauksessa sinun ei tarvitse tehdä mitään boot.img
-palvelun kanssa, vain uudistaa uusi tiedostolla mkbootimg
.
Jos haluat poimia tietoja tiedostosta boot.img
, kokeile split_bootimg
(kirjoittanut William Enck , Android-wikin kautta ).
Kommentit
- Linkki osoitteeseen
split_bootimg
ei ole enää voimassa. - @NathanOsman Korvattu linkillä William Enck ' -sivun kopioon.
Vastaa
Käytän opensuse-ohjelmaa. Olen asentanut abootimg-ohjelman. Jos haluat purkaa (boot | recovery) .img-ohjelman, toimi seuraavasti:
abootimg -x (boot|recovery).img
Sitten saat seuraavat tiedostot : bootimg.cgf, zImage ja initrd.img Jos haluat pakata kuvan, suoritat sellaisen
abootimg --create (boot|recovery).img -f bootimg.cfg -k zImage -r initrd.img
Sitten saat (käynnistys | palautus) .img
Nauti
Vastaa
Voit purkaa ja pakata Android-käynnistyskuvan seuraavalla työkalulla
$ git clone https://github.com/cfig/Android_boot_image_editor.git
kopioi boot.img kloonattu git-arkisto. Suorita:
$ ./gradlew unpack
Ensimmäisellä kerralla sinun on ladattava tarvittavat libit Internetistä, ole kärsivällinen. Saat sisällön osoitteesta build / unzip_boot /, kuten tämä:
build/unzip_boot/ ├── bootimg.json (boot image info) ├── kernel ├── second (2nd bootloader, if exists) ├── boot.img.avb.json (AVB only) └── root
Kommentit
- Tämä on vastaus, koska tämä koodi ja projekti ovat ajan tasalla ja ylläpidossa.
boot.img
ROM-porttia varten?