SDカードからAndroidを起動する方法を研究しています。手順を含む投稿は次のとおりです。
勝利!
sdbagのデフォルトの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 (/system および /cache の場合は約 2GB および 1GB) です。 3つのパーティションすべてにext4ファイルシステムを作成し、p2をインストールしてからROMをコピーし、ガイドとしてアップデートスクリプトを使用して手動でインストールしました。その後、SDカードをアンマウントしてTF701tに挿入しました。
起動するために、タブレットをfastbootモードに切り替えました。 "fastboot boot"を使用してカーネルとRAMディスクを起動しました。修復にkexecは必要ありません。内部EMMCに頼らずにこれを行うことができます。始めるのに少し時間がかかりましたが、最初の試みから始めました。アプリ引き出しが出てくるのが少し遅いですが、タブレットを使うので楽しいです!全体のプロセスは予想よりもはるかに簡単で、これを実行して目的のROMを起動できると確信しています。 Bluetoothキーボードのドライバの問題のため、在庫のみを使用しています。
それにもかかわらず、私はまだcromiのROM2SDフォークを維持しようとするつもりです。
みんなの助けをありがとう!
そしてより詳細な説明がありますここ:
あなたの質問に答えると、わかりません。私の方法は、デバイス/パーティション/システムと/データがどこにあるかについてROMのアイデアを変更するため、起動に効果的です。お使いのデバイスがどのパーティションにラジオファームウェアを保持しているかはわかりません。 initramfsのどこかにいる場合は、私が修正したのと同じ方法で修正し、外部SDからラジオをロードするように指示できます。内部 SD で無線を見つけるために ROM がハードコーディングされている場合、問題が発生する可能性があります。
気になる方のためにinitramfsについて簡単に説明します。 initramfs(initrd、initramdiskなど)は、Linuxシステムを実行するために必要な基本要素を含む圧縮ミニLinuxファイルシステムです。 initrdの使命は、実際のLinuxインストールを含むファイルシステムの場所を見つけてマウントし、そのLinuxシステムに制御を渡すことです。
initrdを使用してLinuxシステムを起動する必要はありませんが、ドライバのロード、ファイルシステムの準備などを実行できるため、簡単になります。 TF701t用のネイティブROM(すべてのAndroidデバイスで利用可能なROMではありませんが、ほとんどの場合)はinitrdを使用して/ system、/ data、およびその他の必要なパーティションをマウントします。ちょうど内部SDの代わりに外部SDからインストールするように指示しました。
ワイヤレス分割がどのように機能するかわかりません。パーティションの生のファームウェアイメージですか、それともファームウェアバイナリを持つext4(または他の)ファイルシステムですか?後者の場合、initrdがAndroidに制御を渡す前にラジオファームウェアや他のすべてのタスクをインストールしたことを意味する可能性があるため、これを外部カードのパーティションに変更できることを意味できます。
私はよく理解しておらず、Linux OS(inramfs.gz、kernel.gz、および一般的なブートプロセス)と同様の操作を処理しているように見えるので、少し洗練してください。
答え1
SDカードから起動する標準的な方法はよくわかりません。簡単かどうかは、主に使用しているAndroidデバイスによって異なります。
たとえば、Nexus デバイスをお持ちの場合は、Play ストアから簡単に MultiROM をダウンロードできます。一般に、状況は決して単純ではありません。現在、内部eMMCメモリが使い果たされており、まだ管理されていないため、Mediatek MT6575ベースのデバイスをSDカードから起動しようとしています。 。
ここで私が言おうとしているのは、デバイスタイプがあまりにも多く、パーティションレイアウト、カーネルなどが異なるため、すべてのデバイスに適用されるステップバイステップガイドがないことです。
関連するコンテンツのアイデアを得ることを望み、他のいくつかのデバイスについてSDから起動する方法のいくつかの例を提供します。あなたが持っているデバイスが何であるかを言うと、おそらく何をすべきかがわかります。そのデバイスが動作します。
SdCard WikiからAndroidを起動する- これは「sunxi」アンドロイドタブレット用のウェブサイトですが、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から起動できる場合は、使用した方法と機器について説明するコメントを残してください。ありがとうございます。 :)