2016-09-08 4 views
0

これはthis XDAスレッドとmy threadのxdaに関するものです。これはXDAのcross postで、ここで私の運を試しています。64ビットデバイスの 'Non-Standard' Boot.img問題の解凍

  • 現在Androidのバージョン:アンドロイドロリポップ5.1.1
  • チップセット:マーベルアルマダPXA1908(注誰かが

    デバイスの仕様を要求するだけの場合には

    デバイスのスペック、 :CF-Autoルートは動作しません。これはめったに使用されないチップなので、

  • カスタム復旧ステータス: TWRP 3.0.2-0(ロリポップで動作していない)
  • ルートステータス(私はここに、なぜこれが技術的にです):Androidのキットカット4.4.4(ルート)、Androidのロリポップ5.1.1(まだROOT)
  • ARMv8 64ビット

は、今度は私の問題のポイントにして、最大私のステップに入りません。

注:カーネルのreadmeには、toolchain 4.8を使用すると記載されていますが、使用するとgccが見つからないという苦情があります。また、読んで私は"ARM EABI(64ビット)のためのツールチェインをダウンロードしてインストールする"をとし、reading upにはARM64ビットデバイス用にaarch64を使用すると書かれています。画像、Image.gz、.dtsと.dtbファイル:

デバイスソースコードは、この出力はHere

cd ~/android 
export CROSS_COMPILE=~/android/ndk/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android- 
cd ~/android/kernel 
make ARCH=arm64 pxa1908_xcover3lte_eur_defconfig 
make ARCH=arm64 

で見つけることができます。

カーネルのreadmeは、(私はこれはキットカット以来更新されていないと信じて)出力が可能になると言うだ

、 - カーネル:カーネル/アーチ/腕/ブーツ/ zImageの - モジュール:カーネル/ドライバ/ / .ko 注:32ビットARMツールチェーンを使用してコンパイルしようとすると、arm64でconfigが見つかるので、他のconfigsが腕にあります。

私はカーネル(ImageまたはImage.gz)といくつかの.dtsと.dtbファイルを持っていることを知っています。今すぐboot.imgを展開するにはこれは問題が発生する場所です。 abootimgやunmkbootimgのさまざまなバージョンのようなツールを使用しようとすると、彼らは非標準のboot.imgについて不平を言う。

Non-Standard boot.img

または

Non-Standard boot.img 2

を見たときにも、そのImage.gzであることを意味したときにzImageのようにそれを保存してみてください、または彼らはすべてのエラーをスローせず、それを抽出しますが、一方で

抽出されたファイルは16進エディタで表示されますが、ファイル全体では00です。したがって、無駄なファイルです。

それで、私は手動で16進エディタでアンパックを試み、カーネルを手に入れました。左は私のコンパイル済みで、右は16進版です。

Kernels, Hex and Compiled

お知らせサイズの違い鉱山ではないながら、boot.imgのカーネルは、そのデバッグ項目を剥奪されているので、このですか?もしそうなら、私はそれをどのように修正するかを見極めるべきです。

しかし、私はを16進数で抽出しようとするとトラブルが発生してです。 誰でも教えることができます/ boot.imgを適切に抽出するのに役立つ人は誰ですか(unmkbootimgや16進エディタなどのツールを使用)

自分で見たい場合は、必要なファイルを添付しました。 ファイル:Samsung xCover3 Files

何か助けていただければ幸いです。

答えて

0

多くの試行錯誤の末、私はついにramdisk.cpio.gzを出力しました。 16進数でのGzipファイルの開始は、1F 8B 08です。そのため、エディタアプリケーションで検索機能を使用すると、結果を1または2ファイルに絞り込むことができます(私のカーネルとRAMディスクは両方ともgzipped )。あなたは、あなたが(彼らはファイルの間を通過しているように見える)ゼロの大きな束を見つけるまで、その後、それを完全に追跡します。あなたが0の束に達すると、他のhexidecialの最後に最初の "00"が含まれます。例えば。私のgzipファイルの終わりは「CE 24 00 00 00 ....(ファイル間のゼロパディング)です。ファイルの最後が「CE 24 00」です。

これを知っていました。カーネルファイルとramdiskファイルの両方が正しく抽出されていることを確認してください。

関連する問題