どうも、こっとんです。
SC-03D、Galaxy S II LTE。2011年発売の機種です。僕の初スマホです。
4年くらいメインで使っていました。電池交換も2回しましたし結構お気に入りの機種です。
手を滑らせて地面に落としたことも両手で数え切れないくらいありますし(画面は無事でした。結構頑丈ですね。)、
誤って水没させて保証サービスで交換したこともあります。今では懐かしい思い出です。
確か購入当時、Galaxy Nexus(SC-04D)と迷った記憶があります。
今ではすっかり当たり前となったLTE通信(4G)も、当時は限られた最新機種にしか搭載されていなくて、かなり迷いました。
LTEは電池持ちが悪いとか、電波が普及してなくて繋がりにくいとか言われていたんですが、それでも僕はいち早く高速通信を試してみたくて、結局LTE対応が決め手となってSC-03Dを買いました。LTEの誘惑には勝てませんでした。
ちなみに候補だったGalaxy NexusはLTE非対応なんですが、当時最新のAndroid 4.0搭載でした。(SC-03Dは発売当時Android 2.3。)
カスタムROM的には今でも情報が豊富なGalaxy Nexusを購入するべきだったんでしょうね。いや後悔してないよ?
そんな訳で愛着があるSC-03Dなんですが、今回、最新のカスタムROMであるLineageOS 14.1を導入するまでに僕が行った手順をまとめたので、
参考になればと思い記事を書くことにしました。だいぶ長くなっちゃいました。古い機種ですが需要あるかな?
ですが、ビルド環境構築からインストール方法まで丁寧に解説するのでLinux?端末?ってなんぞ?って方でも安心設計なはずです。ぜひこの機会にビルドに挑戦してみてください。僕も最初は何それ状態だったんですが、ちゃんとビルドできています。
また、カスタムROMのインストールは自己責任で行ってください。大事なデータは必ずPCにバックアップしてください。
目次
ビルドに必要なスペック
この記事では仮想マシン構築ソフト「VMware」を使います。「VirtualBox」でもOK。Linux専用のパソコンを用意できる方は適宜読み替えてください。また、Windowsの前提で話を進めますので、Macの方はごめんなさい。要はLinuxが動けばいいわけです。諦めずにググってみてください。
- CPU
64bit対応。最近のパソコンなら問題ないはずです。
- メモリ
最低8GB~推奨16GB以上。仮想環境で8GBだとかなりキツイ(スワップしまくり)ので16GBは欲しいところです。Linuxをネイティブ環境で使用するなら8GBでOKです。
- HDD
最低150GB~推奨200GB以上。仮想マシンってあとから容量増やすの面倒なんですよね。最初に多めに確保しておいた方がいいです。もちろんSSDでもOKです。
- ネット回線
光回線推奨。大量のデータをダウンロードするのでADSLだと正直厳しいです。
- OS
Linux 64bit。今回はWindows 64bitに仮想マシン環境を構築しLinux Mint 64bitをインストールして進めていきます。
仮想マシン環境の構築
それぞれ長くなってしまったので記事を分けました。詳細に解説しているので、順番に手順通りにやれば特に問題なくビルド環境を構築できると思います。
①VMware Playerのインストール
②Linux Mintのインストール
③Linux Mintの初期設定
SC-03D用LineageOS 14.1のビルド
ビルド環境の構築が完了したら、ここから本題です。
必要なパッケージをインストール
Menuから端末(ターミナル)を開きます。
以下をコピペして実行します。中クリックで貼り付けできます。
sudo apt update && sudo apt install autoconf automake bc bison build-essential curl flex g++ g++-multilib gawk gcc gcc-multilib git-core gnupg gperf imagemagick lib32ncurses5-dev lib32readline6-dev lib32z1-dev libc6-dev libesd0-dev libexpat1-dev liblz4-1 liblz4-tool liblzma5 liblzma-dev libncurses5-dev libsdl1.2-dev libwxgtk3.0-dev libxml2 libxml2-utils lzop maven openjdk-8-jdk openjdk-8-jre patch pkg-config pngcrush python schedtool squashfs-tools texinfo xsltproc zip zlib1g-dev
パスワードを聞かれるのでパスワードを入力します。
「y」を入力(小文字でOK)後、Enterを押して続行します。
libgl1-mesa-glx:i386 libgl1-mesa-glx libglapi-mesa:i386 libglapi-mesa libgles1-mesa libgles2-mesa
アップグレード: 6 個、新規インストール: 183 個、削除: 0 個、保留: 26 個。
74.1 MB のアーカイブを取得する必要があります。
この操作後に追加で 268 MB のディスク容量が消費されます。
続行しますか? [Y/n]
インストール完了です。
Gitの設定
Githubのユーザー名とメールアドレスを設定します。ですが何でもいいみたいので、それぞれ「android」と入力しておきます。
ソースコードのダウンロードをするだけならこのままでOKです。
git config --global user.name "android"
git config --global user.email "android"
Repoの導入
Repoとは、
repoはAndroidのプロジェクト管理用に作られたgitの管理ツールです。
複数のgitリポジトリを一括で管理することが出来ます。
普通に独自のプロジェクトに利用することが可能なため、規模が大きくなり、複数リポジトリを管理する必要があるようなプロジェクトに使うと良いでしょう。
AndroidのソースコードはGitで管理されているので必須のツールですね。
というわけで早速導入しましょう。
まずはホームディレクトリ(ユーザー名になってます。僕の場合は「cotton」)に「~/bin」フォルダを作成します。「~」はホームディレクトリのことです。
端末からコマンドで作ります。
mkdir ~/bin
パスを通します。
export PATH=~/bin:$PATH
repoをダウンロードします。
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
パーミッションの設定をします。
chmod a+x ~/bin/repo
これで導入完了です。以後「~/bin」を削除しないようにしましょう。
この操作は一度だけでOKです。
ソースコードのダウンロード
僕のGitHubアカウントにあるソースはオリジナルであるSGH-T989用のソースをできるだけ改変せずにSC-03D用にローカライズすることを目指しています。(大きな改変があった場合、僕では対処できないと思われるので。)
そのためSC-03D用の本家(でいいのかな?)のソースとは違うアプローチをしています。(2017/03/28現在)
具体的には、
・パーティションチェックの有無
・variant.propによる機種判別
などが挙げられます。なので、もし問題があるような場合ソースコードを削除することがあります。
ソースコードは気がついたら本家と同期していく予定です。詳しくは僕のgithubアカウントを見てください。
repoを使ってリポジトリ一覧を取得
まずはホームディレクトリに作業用のフォルダを作ります。名前は何でもいいんですが、とりあえず「celoxdcm」します。ファイルブラウザ(GUI)から新しいフォルダを作成しても問題ないです。
mkdir ~/celoxdcm
「celoxdcm」に移動します。
cd ~/celoxdcm
repoを使ってリポジトリ一覧を取得します。
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
色をつけて見やすくしてくれるみたいなので「y」を選択。初回のみ聞かれます。
black red green yellow blue magenta cyan white
bold dim ul reverse
Enable color display in this user account (y/N)?
local_manifest.xmlの作成
SC-03DはLineageOS公式に対応してない端末なんですが、非公式なリポジトリならある(有志に感謝!)のでそちらを利用するためにlocal_manifest.xmlを作成します。
僕は断然GUI派なんで、ここからはファイルブラウザで操作します。
「celoxdcm」内の「/.repo」フォルダに移動します。
[右クリック] – [ドキュメントの生成] – [空のファイル]で新しいファイルを作成します。
名前を「local_manifest.xml」にしましょう。
local_manifest.xmlを編集します。そのままダブルクリックで開いてしまうとOfficeが起動してしまったので、[右クリック] – [テキストエディタで開く]から開きます。
以下をコピペして保存してください。
<?xml version="1.0" encoding="UTF-8"?> <manifest> <!-- LineageOS --> <project name="LineageOS/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_external_stlport" path="external/stlport" remote="github" revision="cm-14.1" /> <project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" revision="cm-14.1" /> <!-- celox --> <project name="bryan2894/android_hardware_qcom_audio" path="hardware/qcom/audio-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <project name="bryan2894/android_hardware_qcom_media" path="hardware/qcom/media-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <project name="bryan2894/android_hardware_qcom_display" path="hardware/qcom/display-caf/msm8660" remote="github" revision="cm-14.1-caf-8660" /> <!-- celoxdcm --> <project name="cotton8487/android_device_samsung_msm8660-common" path="device/samsung/msm8660-common" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/android_kernel_samsung_msm8660-common" path="kernel/samsung/msm8660-common" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/android_device_samsung_celox" path="device/samsung/celox" remote="github" revision="cm-14.1-celoxdcm" /> <project name="cotton8487/proprietary_vendor_samsung_celox" path="vendor/samsung/celox" remote="github" revision="cm-14.1-celoxdcm" /> </manifest>
ソースコードの同期
ソースコードをダウンロードします。以下を実行します。
repo sync -f --force-sync --no-clone-bundle
時間がかかるのでしばらく待ちましょう。僕の場合は30分弱かかりました。
[Ctrl]+Cを押してキャンセル後、再度実行してください。
[↑]キーで実行したコマンドの履歴が確認できます。
初回起動時のデフォルト言語を「日本」に
ROM焼き経験者なら、あのスクロールしまくる感じの面倒さは分かっていたただけると思います。
「build/target/product/full_base.mk」 をテキストエディタで開いて、
大体26行目~
PRODUCT_LOCALES := en_US
を
に変更するだけです。これであの煩わしいスクロールから解放されました。やったね!
simカードを挿入している場合はそもそも自動で日本になるっぽいですが一応設定しておきます。
ccacheの設定
ccacheとは、
ccacheとは、CまたはC++コンパイラが出力するデータをキャッシュするソフトウェア開発ツールである。その目的は、2回目以降のソフトウェアビルドにおいてはコンパイルを避け、出力結果を再利用することにある。これは再コンパイル速度を劇的に改善する。
要は初回のビルド情報を保存しておいて、2回目以降のビルド時間を短縮しましょうということです。僕の場合、試行錯誤を重ねる中で何度も再ビルドするハメになったので設定しておいて損はないと思います。2回目以降のビルドしか恩恵を受けられませんが、結構短縮されますよ。
「~/.bashrc」をテキストエディタで開き、以下を最後の行に追加します。
export USE_CCACHE=1
次に端末で以下を実行します。
prebuilts/misc/linux-x86/ccache/ccache -M 50G
50GB分のキャッシュ用スペースを確保しています。
ちゃんと設定できているか確認しましょう。
prebuilts/misc/linux-x86/ccache/ccache -s
以下を実行して「~/.bashrc」を再読み込みして完了です。
source ~/.bashrc
この操作は一度だけでOKです。
Javaヒープサイズの設定
このままビルドすると、Out of Memoryエラーが発生して止まってしまったので、ヒープサイズの設定をします。
先程と同じ要領で「~/.bashrc」をテキストエディタで開き、以下を最後の行に追加します。
export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096M"
4GB確保すれば問題ないようです。
以下を実行して「~/.bashrc」を再読み込みして完了です。
source ~/.bashrc
この操作は一度だけでOKです。
いよいよビルド
端末で「celoxdcm」フォルダにいるか確認します。
以下を実行し、ビルド用のコマンドセットを読み込みます。
source build/envsetup.sh
以下を実行してビルド開始です。
brunch lineage_celox-userdebug 2>&1 | tee build_$(date '+%Y%m%d_%H-%M-%S').log
上の例では「celoxdcm」フォルダにログを出力しています。エラーがあった際に役立つと思います。
時間がかかるので待ちます。メモリに不安がある場合はシステムモニターで監視してみましょう。スワップしてるとログが止まってHDDがガリガリ言うのですぐわかりますが。
ログを眺めていると色々と注意されると思いますが、基本的にビルドが止まらなければOKです。
もしエラーで止まってしまう場合、もう一度落ち着いてこの記事をチェックしてみてください。また、以下の対処法も試してみてください。
prebuilts/sdk/tools/jack-admin kill-server
jackサーバのメモリをクリアします。ビルド中じゃないのにシステムモニターでメモリを大量に使用しているのを確認したら大体これで解決します。
ccache -cCz
ccacheをクリアします。古いビルドファイルが溜まっているとエラーで止まったりするそうです。ですがあまり使う機会はないかもしれません。他が原因であることが多いです。
・作業フォルダごと消してはじめからやり直す
最後の手段です。ソースをいじりすぎてどうしようもなくなった時に。
prebuilts/misc/linux-x86/ccache/ccache -s
端末をもう一つ開いてリアルタイムに監視してもいいでしょう。
watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s
エラー後再ビルドする前に「out」フォルダをキレイにするのを忘れないようにしましょう。
make clean
ビルド完了しました!
ビルドしたROMは
「out/target/product/celox/lineage-14.1-2017xxxx-UNOFFICIAL-celox.zip」
にあります。ドラッグ&ドロップでWindowsにコピーしておきます。
すぐにROMをインストールしたいところですが、このままではインストールできないのでリカバリーイメージをビルドしていきます。
補足:2回目以降のビルドについて
端末で「celoxdcm」フォルダを開きます。「out」フォルダをキレイにします。
make clean
リポジトリ一覧はもう取得出来ているので、ネット上のリポジトリと同期し、ソースを更新します。
repo sync -f --force-sync --no-clone-bundle
あとは同じです。
5.8 いよいよビルドへ戻ります。
SC-03D用TWRPのビルド
次にリカバリーイメージ(Team Win Recovery Project)をビルドします。
Team Win Recovery Project(TWRP)とは、
標準リカバリに手を加えたもので、メーカー以外の非純正ROM(カスタムROM)を書き込んだり、システム(ROM)全体のバックアップをしたりすることができます。
出典:AndMem
カスタムROMをインストールするために必要です。バックアップもできたりします。
基本的な流れはROMのビルドと大体同じです。
まずはホームディレクトリに作業用フォルダ「twrp」を作成します。
ソースコードのダウンロード
repoを使ってリポジトリ一覧を取得
端末を「twrp」で開き、repoを使ってリポジトリ一覧を取得します。
repo init -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-6.0
local_manifest.xmlの作成
SC-03D用のリポジトリを記述します。
「/.repo」フォルダに移動し、「local_manifest.xml」を作成します。
以下をコピペして保存してください。
<?xml version="1.0" encoding="UTF-8"?> <manifest> <!-- twrp --> <project name="cotton8487/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="github" revision="twrp" /> </manifest>
【2018/06/28】修正が入ったようなので以前のlocal_manifestを使用してください。
以前にもエラー報告があったようです。詳細はリンク先を参照して下さい。
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remove-project name="android_frameworks_native-caf" /> <!-- twrp --> <project name="cotton8487/android_device_samsung_celoxdcm" path="device/samsung/celoxdcm" remote="github" revision="twrp" /> </manifest>
ソースコードの同期
ソースコードをダウンロードします。以下を実行します。
repo sync -f --force-sync --no-clone-bundle
ビルド
「twrp」フォルダにいることを確認してから端末で以下を実行します。
source build/envsetup.sh
以下を実行します。ビルド情報などが表示されます。
lunch full_celoxdcm-eng
以下を実行してビルド開始です。「-j」オプションは使っているCPUに合わせて設定します。
僕は4コア割り当てているので「-j4」にしました。
make -j4 recoveryimage 2>&1 | tee twrp_$(date '+%Y%m%d_%H-%M-%S').log
上の例では「twrp」フォルダにログを出力しています。エラーがあった際に役立つと思います。
「recovery.img」のビルドが完了しました!
recovery.imgをtarで固める
Odinを使ってリカバリーイメージをダウンロードモード(後述)で書き込める形式に整えます。
「out/target/product/celoxdcm」に移動し、端末を開き、以下を実行します。
tar cf TWRP-3.1.1-0-VirtualPartition-celoxdcm-odin.tar recovery.img
バージョンやファイル名は各自調整してください。出来上がった「TWRP-x.x.x-x-VirtualPartition-celoxdcm-odin.tar」をドラッグ&ドロップでWindowsにコピーしておきます。
ビルドはこれで完了です!
初期ROMのインストール
また僕の場合、ダウンロードモード用のドライバは接続時自動でインストールされましたが、自動インストールされない場合、各自ドライバをインストールしてください。
また、adbコマンドなど使いたい場合は別途Android SDKとドライバをインストールしてください。
SamMobileから初期ROMをダウンロード
【2017/06/08】SamMobileからダウンロード出来ない場合は下記URLからダウンロードしてください。要登録。
まずはSamMobileから初期ROM(公式で配布されている純正ROM)をダウンロードします。登録が必要なのでメールアドレスを用意します。
SamMobileとは、
Samsung関連のニュースの配信、製品レビュー、各端末用のファームウェア提供などを行なっているサイトです。ニュースやレビューは利用登録なしでも閲覧可能なほか、ファームウェアのダウンロードも無料の利用登録をしていれば行なうことができます(利用登録は有料のプランもあります)。
出典:そうすけブログ.com
こちらのサイトを参考に登録しましょう。
登録したら、以下のリンクへ飛びます。
一番上の「SC03DOMMP5」をクリックします。
「REGULAR DOWNLOAD」をクリックします。
「DOWNLOAD」をクリックします。
開始まで待ち、「DOWNLOAD」をクリックします。僕の場合完了まで約30分かかりました。
Odinのダウンロード
「Odin」とは、
docomo純正ロムやCWMをFlashできるSAMUSUNG端末のカスタマイズには必要不可欠なツールです
最新版を使っていいかもしれませんが、この機種は古いので今回は「Odin 3.07」を使用します。
以下のリンクに飛びます。
「Odin 3.07」をクリックしダウンロードします。
ダウンロードしたzipを解凍し、「Odin3 3.07」を起動します。
SC-03Dをダウンロードモードで起動する
電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。
警告画面が出たら、「ボリュームアップ」で続けます。
ダウンロードモードが起動しました。
Odinで初期ROMをインストールする
早速インストールしていきましょう。
ID:COMの欄で端末が認識しているか確認します。例では「0:[COM5]」ですが、環境によって数字は変わると思われます。
「PDA」から先程ダウンロードしたzipを解凍し、「SC03DOMMP5_SC03DDCMMP5
_SC03DOMMP5_HOME.tar.md5」をセットします。
「Start」で開始です。10分程で完了し、自動で再起動します。
リカバリーイメージをインストールする
「ようこそ」が表示され無事初期ROMがインストールできたら、一度電源を切ります。
【2017/07/29】
公式ROMから最新のカスタムROM(Virtual Partitioned ROM)に移行する場合、一度古いバージョンのTWRPを導入しFormat、Wipeをしなければならないようです。この作業は移行する際に一度だけ行い、その後のROMのアップデートなどは通常のWipeで問題ありません。
TWRPでData領域をFormatする
最新のカスタムROM(Virtual Partitioned ROM)を導入する場合、Data領域をEXT4にフォーマットする必要があります。
SC-03Dをダウンロードモードで起動する
先程と同じで、電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。
Odinでリカバリーイメージをインストールする
古いバージョンのTWRPを使用します。以下のリンクからダウンロードしてください。
「TWRP-2.8.4.0-celoxdcm.tar」のダウンロード
MD5は「DE0FDE856F784D9CB00FB88A4D9295AC」です。
「PDA」にダウンロードした「TWRP-2.8.4.0-celoxdcm.tar」をセットし「Start」で開始します。
完了後自動で再起動するので、一度電源を切ります。
SC-03Dをリカバリーモードで起動する
電源OFFの状態から「電源」+「ボリュームアップ」+「ボリュームダウン」ボタンを長押しで起動します。
パーティションのフォーマット
このままではカスタムROMをインストールできないので、Data領域をEXT4にフォーマットします。
「Wipe」をタップします。
「Advanced Wipe」をタップします。
「Internal SDcard」を選択後、「Repair or Change File System」をタップします。
「Change File System」をタップします。
「EXT4」を選択し、スワイプしてフォーマットを開始します。
一度ホーム画面に戻り、「Wipe」→「Advanced Wipe」をタップします。
「Dalvik Cache」、「Data」、「System」、「Cache」、「sdcard」を選択後、スワイプしてWipeします。
これでフォーマットは完了です。
最新ビルドのTWRPをインストール
ビルドしたTWRPをダウンロードモードを起動しインストールします。もしくはビルドした「recovery.img」を直接TWRPで焼いてもOKです。後者の方がスマートです。
SC-03Dをダウンロードモードで起動する
電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。
Odinでリカバリーイメージをインストールする
「PDA」に「TWRP-x.x.x-x-VirtualPartition-celoxdcm-odin.tar」をセットし「Start」で開始します。
完了後自動で再起動する(といってもsystemがないので起動しない)ので、一度電源を切ります。
リカバリーモードでカスタムROMをインストールする
TWRP初回起動時、以下の画面になるのでチェックを入れてスワイプします。
公式ROMから移行した際に行う作業
以下の作業は公式ROMから移行した場合、一度だけ行います。その後は必要ありません。
「Mount」をタップします。
「Data」を一度unmount(チェックを外す)し、またmountします。つまり2回タップして下さい。
これで完了です。
Factory Resetの実行
ホーム画面から「Wipe」をタップし、そのままスワイプします。新しくROMをインストール(ROMの変更も含む)する際は必ず行ってください。
ROMのアップデートの場合、Dirty Flash(Dalvik cache(ART)、cacheのみWipe)でOKな場合が多いです。TWRPではROMのインストール後にcacheをwipeするボタンが出てくるので便利ですね。不具合が出た場合は素直にFactory Resetを行ってください。
カスタムROMのインストール
GAppsのダウンロード
まずはGAppsをダウンロードします。簡単に言うとGoogle関係のアプリセットです。必須なので各自好きなサイズを選んでください。僕はいつも「pico」or「nano」を使っています。Google Play Storeで後から個別に必要なアプリをインストールできるのでできるだけ小さめのGAppsを使っています。
以下のリンクからダウンロードしてください。
Platformは「ARM」、Androidは「7.1」を選んでください。
SuperSUのダウンロード
【2017/04/12追記】root化するだけなら開発者向けオプションでONにできるようになったので、以下の手順はSuperSUを使いたい方向けです。
Root権限が必要な場合、以下のリンクからダウンロードしてください。
インストール
パソコンと端末を繋いでROMとGApps(とSuperSU)を転送します。
「Install」をタップします。
ROMがあるフォルダに移動し、
- Lineage-14.1-2017xxxx-UNOFFICIAL-celox.zip
- open-gapps-arm-7.1-xxxx-2017xxxx.zip
- SuperSU-v2.xx-xx.zip(必要ならば)
を順番にインストールします。一つずつスワイプしていってもいいんですが、僕は「Add more Zips」をタップしまとめてインストールしています。
インストール完了したら、「Reboot System」をタップし再起動します。
終了時にTWRP用のアプリをインストールかどうか聞かれますが、各自で判断してください。
「ようこそ」画面が表示されるまで待ちましょう。10分程かかります。
ついにカスタムROM起動!
無事起動しました。
更新履歴
xdaの
を参照してください。まとめ
いかがだったでしょうか。操作してみると意外と使えたりしてビックリします。ソースを色々といじってみるのも面白いかと思います。
ちなみに僕は「Resurrection Remix」をビルドして使っています。まさかこの機種でRRが動くなんて……って思った方、なんと動きます。常用してます。
随分と長めの記事になってしまいましたが、ここまで読んでいただきありがとうございました。この記事が参考になれば幸いです。
参考・参照
LineageOS/CM14.1 のビルド方法 – dev:mordiford
T-Mobile Samsung Galaxy S II SGH-T989
[DEV]How to compile TWRP touch recovery | Android Development and Hacking
bryan2894 (Dave Antoine) · GitHub
GitHub – minimal-manifest-twrp/platform_manifest_twrp_omni: Limited manifest for building TWRP
・PCが端末を認識しない不具合(ドライバ関連)の対処法
Microsoft – WPD – 2/22/2016 12:00:00 AM -5.2.5326.4762 – マイクロソフト コミュニティ
コメント
記事を拝見いたしました。
VMwareやLinux Mintのインストールはかなり昔に経験はしています。
ビルドの経験はありません。
当方、ROM焼きに挑戦しようと先日SC-03Dを手に入れたばかりです。
しかし、ビルドに必要なPCにこれほどのパワーが必要だとは知りませんでした。
現状のPC(32bit環境)では、とてもビルドできそうにありません。
(多分、凄い時間がかかってしまうということですよね?)
ビルドが完了したファイルを公開していただけないでしょうか?
ビルド以外は何とかできると思うのですが、記事を拝見する限りでは当方の環境ではビルドは非現実的かと感じました。
どうぞ、ご検討いただきたく、お願い申し上げます。
コメントありがとうございます。こっとんです。
>ビルドが完了したファイルを公開していただけないでしょうか?
申し訳ありませんが、今後もビルドしたROMを公開することはありません。
理由は、これまでSC-03D向けのROMをビルドしてくださった方が勝手に公開しないようにと明記しているためです。
僕も詳しい経緯は分かりませんが、過去に某巨大掲示板やSNSなどで色々とあったようです。
>ビルドに必要なPCにこれほどのパワーが必要だとは知りませんでした。
僕は仮想環境を構築してビルドしていますが、ネイティブ環境を構築する手もあります。(もちろんスペック不足気味なら時間は掛かると思いますが。)
例えばですが、Linux64bitのライブCD(USB)を作成して64bitOSの動作確認(10年前のCore2Duo機でも64bitOSに対応しています)をし、パーティションを切るなりストレージを足すなりしてデュアルブート環境を構築してみるのはいかがでしょうか。
自ビルドできるようになると、毎月のセキュリティパッチも自分で更新できますしオススメです。
Firmware for Samsung SC-03D「SC03DOMMP5」
https://www.sammobile.com/firmwares/galaxy-s-ii-lte/SC-03D/
からダウンロードしようと試みましたが、
「404 Not Found
nginx」
と表示され、ダウンロードできませんでした。
ちなみに、無料ダウンロードです。
有料は試していません。
SC03DOMLB2 も、同様でした。
「SC03DOMMP5」をgoogle検索で出てきた下記でダウンロードできましたが、問題ないサイトでしょうか?
https://samsung-firmware.org/download/Galaxy%20S2%20LTE%20%28DoCoMo%29/v46q/DCM/SC03DOMMP5/SC03DDCMMP5/
※無料ダウンロードでは30分位かかりました(東京)
ご報告いただきましてありがとうございます。
上記URLのファイルを確認したところ同一のファイルでした。
先日までは大丈夫でしたがリンクミスでしょうか。
こんにちわ
本当にただコピペするだけでビルドできました
息子用にしては古すぎると諦めていたのですが活躍できそうです
本当にプログラミングなんて無縁の私でもできるほどに優しく説明して頂きありがとうございました
こんにちは
大変参考になる記事ありがとうございます。
早速く試してみたのですがtwrpのビルドでうまくいかず、
回避方法が分からなかったため質問させて頂きます。
`lunch full_celoxdcm-eng`を実行すると
WARNING: device/samsung/celoxdcm/omni.dependencies file not found
という警告が表示され、無視してビルドすると以下エラーで止まってしまします。
build/core/base_rules.mk:157: *** frameworks/native/cmds/dumpstate: MODULE.TARGET.STATIC_LIBRARIES.libdumpstate.default already defined by frameworks/native-caf/cmds/dumpstate. Stop.
#### make failed to build some targets (11 seconds) ####
原因がわかりましたら教えて頂けないでしょうか?
コメントありがとうございます。こっとんです。
TWRPビルドエラーに関して記事を修正しましたので参照して下さい。
ソースの競合が原因だったようです。remove-projectで片方のソースを取得しないようにしています。
>WARNING: device/samsung/celoxdcm/omni.dependencies file not found
この警告は無視して構いません。
こっとんさん、こんにちは
早速ご確認して頂きありがとうございます。
無事ビルドができました。感謝です。
これでカスタムロムが使える!と思たったのですが、
ROM焼きしてLineageOSを起動させても起動画面から一向に進まない、という症状に今度はぶち当たってしましました。
Resurrection Remixやネット上に落ちてる他のLineageOSも焼いてみましたがすべて同じ症状がでました。
同じような症状の経験や回避方法が思い当れば教えて頂けないでしょうか?
こんにちは、こっとんです。
記事を修正しましたので、ご確認ください。初期ROM導入あたりからやり直してみてください。
実は僕の書いた手順が間違っていました。申し訳ないです。公式ROMから最新のカスタムROMに移行する場合、一度古いバージョンのTWRPを導入しFormat、Wipeをしなければならないようです。
xdaにその詳細が記載されていたのですが、見落としてました。どうやら最新のTWRPだとFormatが上手くいかないようですね。
僕の環境では初期ROM導入からやり直して上手くROM焼きができたので、これでダメなら……ちょっとお手上げかもです。
無事にROM焼きできましたーーーーーー!
アプリもいろいろインストールしてみましたが今のところ動作に全く問題なしです。
自分も英語文献含めて色々調べてみたのですが、全くわからずご質問させて頂いてしまいましたが、すぐにフィードバックして頂いて大変感謝です!
それにしても古い端末で最新のAndroidが体験できるというのはお得感も相まってテンション凄くあがりますね。
早速いじり倒して行こうと思います。
どうもありがとうございました!
アプデお疲れ様でーす
使わせていただきます
初めてコメントさせていただきます。ビルド未経験、カスタムRomのインストール経験だけしかないほぼ初心者です。的外れな質問かもしれませんが、お許しください。
記事を一読させていただきましたが、こちらの手法を応用することで別のSamsung端末に適応することができるのでしょうか?こちらの記事を参考に手持ちのGalaxy S Ⅲ(SC-06D)で挑戦しようか検討中です。
お返事お待ちしております。
コメントありがとうございます。こっとんです。
ビルドの流れは手順の通りで問題ないでしょう。ただし、ソースコードについてはSC-06D用のものをlocal_manifestを使って別途用意する必要があります。
kbc-developersさんのSC-06D(d2dcm)用のソースを見るとcm13までですがありますね。どうやらAT&T版のGalaxyS3(d2att)をローカライズしているっぽいです。
僕も素人なので断言出来ませんが、d2att用のソースをSC-06D用にローカライズすれば動くかも知れません。
ビルドに必要なリポジトリは「lineage(cm).dependencies」に書いてあるので参考にしてください。
TWRPビルドについてですが、記事の手順ではなくrecoveryを入れ替える手法を使ってください。
まずは既存のソースでSC-06D用cm13のビルドに挑戦してみるのがいいかと思います。
僕の知識ではこの程度しかお答え出来ませんが、参考になれば幸いです。
どうやら、ここでダウンロードできる「TWRP-2.8.4.0-celoxdcm.tar」が壊れているようです。(odinが正常に動作しない、かつ、tarが解凍できなかった)
とりあえず、他のサイトでダウンロードしたもので進めていますが、ファイルを上げなおしして、出来ればチェック用のmd5などのハッシュを記載してもらえるとありがたいです。
取り急ぎお知らせまで。
「TWRP-2.8.4.0-celoxdcm.tar」のmd5は「DE0FDE856F784D9CB00FB88A4D9295AC」でした。ローカルにあるファイルと一致しましたが、一応再度アップし直しておきます。
情報ありがとうございました。
再UPありがとうございます。お手数をおかけしました。
再度ダウンロードしてみましたが、やっぱりダメだったので、こちらの環境が問題でした。
⇒ブラウザをChromeにしてダウンロードしたら壊れずにダウンロードできました。
ダメだったブラウザバージョンを載せておきます。
Win10 IE11.112.17134.0(更新バージョン11.0.70 KB4230450)
(ウィルスチェックソフトを一時的に切ってもダメでした)
.bashrcフォルダが見つかりません。隠しファイルを表示してもありませんでした。
コメントありがとうございます。
.bashrcはフォルダではなくファイルです。種類は「平文テキストドキュメント」となっていました。
コロナで部屋の整理をしていたら、SC-03Dが出てきまして、
何とか使えるようにならないかと検索したところ、
こちらのサイトに辿り着きました。
VMwareもLinuxも触ったことがありませんでしたが、
おかげさまで無事にビルドすることができました。
御礼を兼ねて、つまづいた点を今後の人のために共有しておきます。
・Linux Mint 19は、Gitがデフォルトでインストールされていない
→ 以下のサイトを参考にしてインストール
https://qiita.com/manjiroukeigo/items/467959b4a1b28c70d21f
・LinageOSをビルドするとエラーが発生する
→ bashrcの一番下に以下を追記
export LC_ALL=C