web-dev-qa-db-ja.com

SDカードから起動するためのAndroid起動シーケンスの変更方法

私は、Android SDカードを形成する方法を調べてきました。これは、手順を含む投稿です。

勝利!

私はsdbagsのストックZip(4.3)を取り、私のコンピューターに抽出しました。 unmkbootimgを使用して、ROMのboot.imgからinitramfs.gzおよびkernel.gzを抽出しました。 initramfsを解凍し、cpioで解凍してから、/ dev/block/mmcblk1p1が/ data、p2が/ system、p3が/ cacheを参照するようにmacallan.fstabを変更しました。また、EMMCでファイルシステムを作成しようとしないようにinit.macallan.rcも変更しました。EMMCにまったく触れないようにしたいです。

次に、initramfs.gzを再構築しました。私は良質のクラス10 microsdを購入し、3つのプライマリパーティション(1つは/ data用、1つは/ system用、1つは/ cache用)を使用してコンピューターにパーティション化しました(約2GBおよび/ systemおよび/ cache用の1GB)。 3つのパーティションすべてにext4ファイルシステムを作成し、p2をマウントし、ROMをコピーして、アップデータスクリプトをガイドとして使用して手動でインストールしました。その後、SDカードをアンマウントしてTF701tに挿入しました。

起動するには、タブレットをfastbootモードにします。私は 'fastboot boot'を使用してカーネルとRAMディスクを起動しました-リカバリーからkexecを実行する必要はありません。これは、内部EMMCにまったく依存せずに実行できます。起動に少し時間がかかりましたが、最初の試行で起動しました。アプリの引き出しが表示されるまでに少し時間がかかりましたが、タブレットを使用できるようになったのでとても嬉しいです。このプロセス全体は、思ったよりもはるかに簡単であることが判明しました。これを実行して、すべてを起動できると確信していますROM欲しかったです。ドライバの問題のため、ストックのみを使用しますBluetoothキーボードを使って。

でも、クロミのROM2SDブランチを維持するために私の手を試してみてください

皆さんの助けに感謝します!

次に、より詳細な説明がありました here

あなたの質問に答えるために、私は知りません。私の方法は、デバイス/パーティション/システムと/データがどのデバイスに存在するかというROMの考え方を変更したため、起動に有効です。私はあなたのデバイスがどのパーティションが無線ファームウェアを保持するという考えを保持しているのか知りません。 initramfsのどこかにある場合は、私が変更したのと同じ方法で変更して、外部SDから無線をロードするように指示できます。 ROMが内蔵SDで無線を探すようにハードコードされている場合、ねじ込まれている可能性があります。

それらの好奇心の強い人のためのinitramfsに関する簡単なメモ:initramfs(initrd、initramdiskなど)は、Linuxシステムを実行するために必要な最小限の必須要素を保持する圧縮された小型Linuxファイルシステムです。 initrdの仕事は、実際のLinuxインストールを保持するファイルシステムがどこにあるのかを把握し、それらをマウントして、そのLinuxシステムに制御を渡すことです。

Linuxシステムの起動にinitrdを使用する必要は必ずしもありませんが、ドライバーのロード、ファイルシステムの準備などができるので、はるかに簡単になります。TF701tの在庫ROM(およびすべてではないにしても、すべてのROM Androidデバイス)がinitrdを使用して/ system、/ data、およびその他の必要なパーティションをマウントすることを想定しています。これらをマウントするように指示しています。内部ではなく外部SDから。

ラジオパーティションの仕組みがわかりません。それは単にパーティション上の生のファームウェアイメージですか、それともファームウェアバイナリファイルが含まれているext4(またはその他の)ファイルシステムですか?後者のケースでは、initrdがAndroidに制御を引き渡す前に他のすべての処理と一緒に無線ファームウェアをマウントする可能性があるため、外部カードのパーティションに変更できる可能性があります。

私は完全には理解していません。これはLinux OS(inramfs.gz、kernel.gz、およびブートアッププロセス全般)と同様のことを扱っているように見えるので、多少の詳細を期待していました。

3
Keychain1

SDカードからの標準的な起動方法は本当にわかりません。簡単かどうかは、主にAndroid使用しているデバイスによって異なります。

たとえば、Nexusデバイスをお持ちの場合は、PlayストアからMu​​ltiROMをダウンロードするだけで十分です。通常はそれほど単純ではありません。 Mediatek MT6575ベースのデバイスを内部eMMCメモリが停止していて、まだ管理していないため、現在SDカードから起動できるようにしようとしているので、今は「ブリック」していると思います。


ここで私が言おうとしているのは、さまざまなパーティションレイアウト、カーネルなどを備えたさまざまなデバイスがあるため、すべてのデバイスで機能するステップバイステップガイドがないということです。

いくつかの異なるデバイスでSDから起動する方法の例をいくつか紹介します。うまくいけば、関係するものを確認できます。また、お持ちのデバイスについて、そのデバイスの有効な方法に出くわした可能性があると言った場合も同様です。

Boot Android SdCard wikiから -これは 'sunxi'のサイトにありますAndroidタブレットですが、この情報は役に立ちますSDカードイメージがsunxiタブレットでのみ機能する場合でも、リカバリパーティションとブートパーティションの編集に関する情報が含まれています。

GS3ではeMMCの代わりにSDを使用 -SDカードのパーティション分割とboot.imgの編集方法を段階的に説明します。私はMT6575でこの方法を試しましたが、fstabで情報を変更するだけでは不十分で、デバイスのeMMCから起動しようとしていましたが、GS3がある場合はこれが理想的です。

MediaTekデバイスのマルチブート -内部eMMCに1つのROMとSDカードに2つ目のROMを持たせる方法。大まかな手順を示します。mediatekデバイスを使用している場合は動作する可能性があります。

変換ROM SDカードから起動する -Nokia X2を念頭に置いて書かれていますが、今はこの方法で、両方のシステムパーティションを一度にマウントします。 SDシステムパーティションのマウントポイントは/ system-extです

今のところこれですべてです。SDから起動できた場合は、使用した方法と使用したデバイスについてコメントを投稿してください。ありがとうございます。 :)

2
HypnoToad