AndroidデバイスでネイティブArch Linuxを起動する


26

Galaxy Note 10.1(n8010)があり、Arch Linuxをネイティブに起動させたい。AndroidではなくArch Linuxを起動するということです。必要なのはinitramfsを変更することだけです。これは世界のどこにもありません。私の質問:

  • initramfsだけを変更する必要がありますか、それとも他のことに対処する必要がありますか?(カーネル自体など)
  • [完了] CyanogenMod 10.1の公式initramfs(githubかもしれません)はどこで入手できますか?または、CyanogenModのカーネルを自己コンパイルし、zImageから抽出する必要がありますか?
  • [PROBABLY] Arch LinuxのルートをAndroidデータパーティション内に配置できますか?(例/ data / linux)またはSDカードを購入する必要がありますか?
  • 他に知っておくべきことはありますか?

編集:initramfsを変更する方法を見つけました:)

  1. ROMの解凍(使用されているn8013のCM10.1)
  2. wget http://whiteboard.ping.se/uploads/Android/unmkbootimg.gz
  3. gunzip unmkbootimg.gz
  4. ./unmkbootimg boot.img(mkbootimgで指定されたコマンドを保存してください!)
  5. mkdir initramfs && cd initramfs
  6. gzip -cd initramfs.cpio.gz | cpio -i
  7. 初期化スクリプトを変更する<-今すぐテストして、完了したら正しい投稿をする
  8. 見つける。| cpio -o -H newc | gzip> ../initramfs.cpio.gz(コマンドが正しいかどうかわからない...)
  9. cd .. &&ディレクトリをクリーニングして、initramfs.cpio.gzとzImageのみが残るようにします...
  10. 前に保存したmkbootimgコマンドを実行します...
  11. 新しいboot.imgをフラッシュします:)

編集2:initramfsの構築は非常に簡単ですルートファイルシステム(パーティションまたはLinuxイメージのいずれか)をマウントし、initramfs内のシンボリックリンクを介してinitをポイントするだけです

問題は、Archの新しいsystemdを起動するためにカーネル4.xが必要なことです

カーネルを動作させるためには、エラーなどを確認するためのシリアルコンソールが必要です。カーネルをビルドするときに、必要な構成設定を投稿します。

mkbootimgがない(カーネルをコンパイルすることで取得できます)場合、プリコンパイルされたものを見つけました

リンク:

  • mkbootimg:http ://forum.xda-developers.com/showpost.php?p=4575685&postcount=2
  • リソース1:http : //whiteboard.ping.se/Android/Debian
  • initramfsの展開と変更:http ://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
  • unmkbootimg:http ://whiteboard.ping.se/Android/Unmkbootimg

あなたは今までに管理しましたか?起動時にUSB経由でsshを使用できましたか?
ミカエル

なんとか起動できました。それほど難しくはありませんでしたが、確かにsystemdは再生されません(正確な理由は覚えていません)。ゲームチェンジャーは、ヘッドフォンジャック上のUARTであり、すべてがはるかに簡単になりました(ブートプロセス全体を見ることができました)。私がやることができなかったのはビデオ出力です...それはただの痛みで、私はそれを残しました。うまく動作するようになった場合は、報告してください。
dzervas 16

UARTオーバージャックがどのように機能していたかを示す指針はありますか?—壊れた画面を持つ古い携帯電話を何らかのミュージックサーバーとして使用したいので、sshdとサウンドができたらすぐに満足します。
ミカエル

ヘッドフォンジャックを取り外し、抵抗を追加し、それをUARTからUSBコンバーターにPCに接続するだけです。ことは、Nexus 5がこれを排他的にサポートしているため、他の電話がそれをサポートするかどうか/私は知りません...あなたはそれを検索する必要があります(例:「Nexus 4上のUART」)
dzervas

回答:


4

これが役立つかどうかはわかりませんが、Arch Linuxのハウツーですhttp://forum.xda-developers.com/showthread.php?t=2195778


3
Unix&Linuxへようこそ!一般に、サイト上の回答は自分で立つことができるようにしています-リンクは素晴らしいですが、そのリンクが壊れた場合でも、回答はまだ役立つように十分な情報を持っている必要があります。回答を編集して詳細を含めることを検討してください。詳細については、FAQを参照してください
slm

はい!あなたが正しい!!今、私はSDカードのパーティションから起動できるようにするために、回復を変更する方法を見つけたい...
dzervas

-1

Google Nexus 7 AndroidタブレットUbuntu Linuxをインストールする同様のタスクのチュートリアルを見つけました。プロジェクトに合わせて調整することはできますか?fastbootブートローダーのロックを解除し、別のブートローダーで再起動するために使用します。HTH、私はAndroidで遊んだことがありません。


2
さて、電話用のubuntuは...本当のubuntu:P cm10(アンドロイド「ディストリビューション」)に基づいています。異なるレイアウトのアンドロイドです
...-dzervas

知っておくと良いのは、最初のタブレット/スマートフォンを手に入れたときに、使い慣れたLinuxディストリビューションがきれいにインストールされていることです。私はこれがあなたが求めていたものではないことを知っていますが、質問への回答がなかったので、このUbuntuの例をArchに適合させることを望みました。たぶん、fastbootによってインストールされたファイル/ブートローダーは置き換えられますか?または多分私はここで私の頭の上にいます。頑張って、注意してください!
ダン・ロス

1
いいえ、ubuntuはJava VMを使用します。これは起動などに関連しています
。– dzervas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.