【2017年最新版】SC-03D用カスタムROMを使う方法【LineageOS】

この記事をシェアする

sc03d

どうも、こっとんです。

SC-03DGalaxy 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を導入するまでに僕が行った手順をまとめたので、
参考になればと思い記事を書くことにしました。だいぶ長くなっちゃいました。古い機種ですが需要あるかな?

ROMダウンロード目的で来られた方、今すぐブラウザバック推奨です。この記事はビルド方法がメインで、残念ながらROMは置いてないです。今後置く予定もありません。
ですが、ビルド環境構築からインストール方法まで丁寧に解説するので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のインストール

仮想マシンを構築できるソフトです。普通に使うだけなら無料で利用できます。AndroidのビルドではLinuxが必要なんですが、新しいパソコンを用意するのはちょっと…って感じの人でも手軽にLinux環境を用意できるのが強みです。

②Linux Mintのインストール

他のサイトを見るとAndroidのビルドは「Ubuntu」が推奨されていますが、このサイトではその派生ディストリビューションである「Linux Mint」を使用します。「Linux Mint」はメモリ使用量も少なく動作が非常に軽く使いやすいです。

③Linux Mintの初期設定

まずはVMware Toolsのインストール、その後に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

パスワードを聞かれるのでパスワードを入力します。

[sudo] cotton のパスワード:

「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リポジトリを一括で管理することが出来ます。
普通に独自のプロジェクトに利用することが可能なため、規模が大きくなり、複数リポジトリを管理する必要があるようなプロジェクトに使うと良いでしょう。

出典:git管理ツールRepoを入れてみよう – Qiita

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」を選択。初回のみ聞かれます。

Testing colorized output (for ‘repo diff’, ‘repo status’):
  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」フォルダに移動します。

.repoフォルダ

[表示] – [隠しファイルを表示する]にチェックを入れると、先頭が「.」の隠しフォルダも見えます。

[右クリック] – [ドキュメントの生成] – [空のファイル]で新しいファイルを作成します。

名前を「local_manifest.xml」にしましょう。

[F2]キーで選択しているファイル、フォルダの名前の変更ができます。

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」 をテキストエディタで開いて、

full_base.mkの場所

大体26行目~

# Put en_US first in the list, so make it default.
PRODUCT_LOCALES := en_US

PRODUCT_LOCALES := ja_JP

に変更するだけです。これであの煩わしいスクロールから解放されました。やったね!
simカードを挿入している場合はそもそも自動で日本になるっぽいですが一応設定しておきます。

ccacheの設定

ccacheとは、

ccacheとは、CまたはC++コンパイラが出力するデータをキャッシュするソフトウェア開発ツールである。その目的は、2回目以降のソフトウェアビルドにおいてはコンパイルを避け、出力結果を再利用することにある。これは再コンパイル速度を劇的に改善する。

出典:ccache – Wikipedia

要は初回のビルド情報を保存しておいて、2回目以降のビルド時間を短縮しましょうということです。僕の場合、試行錯誤を重ねる中で何度も再ビルドするハメになったので設定しておいて損はないと思います。2回目以降のビルドしか恩恵を受けられませんが、結構短縮されますよ。

~/.bashrc」をテキストエディタで開き、以下を最後の行に追加します。

export USE_CCACHE=1

bashrcの場所

次に端末で以下を実行します。

prebuilts/misc/linux-x86/ccache/ccache -M 50G

50GB分のキャッシュ用スペースを確保しています。

ちゃんと設定できているか確認しましょう。

prebuilts/misc/linux-x86/ccache/ccache -s

以下を実行して「~/.bashrc」を再読み込みして完了です。

source ~/.bashrc

ccacheの確認

この操作は一度だけで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をクリアします。古いビルドファイルが溜まっているとエラーで止まったりするそうです。ですがあまり使う機会はないかもしれません。他が原因であることが多いです。

・作業フォルダごと消してはじめからやり直す
最後の手段ですソースをいじりすぎてどうしようもなくなった時に。

ccacheの情報は以下のコマンドで確認できます。

prebuilts/misc/linux-x86/ccache/ccache -s

端末をもう一つ開いてリアルタイムに監視してもいいでしょう。

watch -n1 -d prebuilts/misc/linux-x86/ccache/ccache -s

エラー後再ビルドする前に「out」フォルダをキレイにするのを忘れないようにしましょう。

make clean

ビルド完了しました!

#### make completed successfully (02:17:09 (hh:mm:ss)) ####

ビルドした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」のビルドが完了しました!

#### make completed successfully (03:35 (mm:ss)) ####

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

こちらのサイトを参考に登録しましょう。

登録したら、以下のリンクへ飛びます。

Download the most recent firmware updates for your Samsung Galaxy phone and tablet for free. Browse our Samsung Galaxy firmware archive.

一番上の「SC03DOMMP5」をクリックします。

Firmware for SC-03D

「REGULAR DOWNLOAD」をクリックします。

regular download

「DOWNLOAD」をクリックします。

download

開始まで待ち、「DOWNLOAD」をクリックします。僕の場合完了まで約30分かかりました。

Your download will be available in 19 seconds

Odinのダウンロード

Odin」とは、

docomo純正ロムやCWMをFlashできるSAMUSUNG端末のカスタマイズには必要不可欠なツールです

出典:windowsとandroidのメモ

最新版を使っていいかもしれませんが、この機種は古いので今回は「Odin 3.07」を使用します。

以下のリンクに飛びます。

Odin 3.09 - Download Samsung Odin 3.09 and root,flash your Samsung android device. Official XDA Odin Download

「Odin 3.07」をクリックしダウンロードします。

odin-3.07

ダウンロードしたzipを解凍し、「Odin3 3.07」を起動します。

odin起動画面

SC-03Dをダウンロードモードで起動する

電源OFFの状態から「電源」+「ボリュームダウン」ボタンを長押しで起動します。

バイブレーション後に電源ボタンだけ離すのがコツです。

警告画面が出たら、「ボリュームアップ」で続けます。

ダウンロードモードが起動しました。

download mode

Odinで初期ROMをインストールする

早速インストールしていきましょう。

初期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の状態から「電源」+「ボリュームアップ」+「ボリュームダウン」ボタンを長押しで起動します。

TWRPホーム画面

パーティションのフォーマット

このままではカスタムROMをインストールできないので、Data領域をEXT4にフォーマットします。

「Wipe」をタップします。

Wipeをタップ

「Advanced Wipe」をタップします。

Advanced Wipeをタップ

「Internal SDcard」を選択後、「Repair or Change File System」をタップします。

Repair or Change File Systemをタップ

「Change File System」をタップします。

Change File Systemをタップ

「EXT4」を選択し、スワイプしてフォーマットを開始します。

EXT4をタップ

一度ホーム画面に戻り、「Wipe」→「Advanced Wipe」をタップします。
「Dalvik Cache」、「Data」、「System」、「Cache」、「sdcard」を選択後、スワイプしてWipeします。

まとめて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」をタップします。

Mountをタップ

「Data」を一度unmount(チェックを外す)し、またmountします。つまり2回タップして下さい。

Dataのunmount、mount

これで完了です。

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を使っています。

サイズが大きすぎるGAppsはインストール失敗するかもしれません。その場合小さいサイズで試してみてください。この機種は大丈夫なようです。

以下のリンクからダウンロードしてください。

OpenGApps.org offers information and pre-built packages of The Open GApps Project. The Open GApps Project is an open-source effort to script the automatic gener...

Platformは「ARM」、Androidは「7.1」を選んでください。

gappsのダウンロード

SuperSUのダウンロード

【2017/04/12追記】root化するだけなら開発者向けオプションでONにできるようになったので、以下の手順はSuperSUを使いたい方向けです。

Root権限が必要な場合、以下のリンクからダウンロードしてください。

supersuのダウンロード

インストール

パソコンと端末を繋いでROMとGApps(とSuperSU)を転送します。

「Install」をタップします。

ROMがあるフォルダに移動し、

  1. Lineage-14.1-2017xxxx-UNOFFICIAL-celox.zip
  2. open-gapps-arm-7.1-xxxx-2017xxxx.zip
  3. SuperSU-v2.xx-xx.zip(必要ならば)

を順番にインストールします。一つずつスワイプしていってもいいんですが、僕は「Add more Zips」をタップしまとめてインストールしています。

ROMのインストール

インストール完了したら、「Reboot System」をタップし再起動します。
終了時にTWRP用のアプリをインストールかどうか聞かれますが、各自で判断してください。

「ようこそ」画面が表示されるまで待ちましょう。10分程かかります。

ついにカスタムROM起動!

無事起動しました。

lineageos起動端末の状態

更新履歴

xdaのSGH-T989(Hercules)の該当スレッドを参照してください。

まとめ

いかがだったでしょうか。操作してみると意外と使えたりしてビックリします。ソースを色々といじってみるのも面白いかと思います。
ちなみに僕は「Resurrection Remix」をビルドして使っています。まさかこの機種でRRが動くなんて……って思った方、なんと動きます。常用してます。
随分と長めの記事になってしまいましたが、ここまで読んでいただきありがとうございました。この記事が参考になれば幸いです。

参考・参照

How to Build Lineageos rom for any android device Easily ! {Full guide} – LineageOS ROMs | LineageOS ROM Download

LineageOS/CM14.1 のビルド方法 – dev:mordiford

いまさらブログ: 初回起動時のデフォルト言語を日本語に

Android source code compile error: “Try increasing heap size with java option ‘-Xmx<size>'” – Stack Overflow

T-Mobile Samsung Galaxy S II SGH-T989

[DEV]How to compile TWRP touch recovery | Android Development and Hacking

bryan2894 (Dave Antoine) · GitHub

kbc-developers · 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 – マイクロソフト コミュニティ

スポンサーリンク

この記事をシェアする

フォローする

この記事をお届けした
PCつけっぱなしの日々の最新ニュース情報を、
いいねしてチェックしよう!

コメント

  1. kazumura より:

    記事を拝見いたしました。
    VMwareやLinux Mintのインストールはかなり昔に経験はしています。
    ビルドの経験はありません。

    当方、ROM焼きに挑戦しようと先日SC-03Dを手に入れたばかりです。

    しかし、ビルドに必要なPCにこれほどのパワーが必要だとは知りませんでした。
    現状のPC(32bit環境)では、とてもビルドできそうにありません。
    (多分、凄い時間がかかってしまうということですよね?)

    ビルドが完了したファイルを公開していただけないでしょうか?

    ビルド以外は何とかできると思うのですが、記事を拝見する限りでは当方の環境ではビルドは非現実的かと感じました。

    どうぞ、ご検討いただきたく、お願い申し上げます。

    • こっとん より:

      コメントありがとうございます。こっとんです。

      >ビルドが完了したファイルを公開していただけないでしょうか?

      申し訳ありませんが、今後もビルドしたROMを公開することはありません。
      理由は、これまでSC-03D向けのROMをビルドしてくださった方が勝手に公開しないようにと明記しているためです。
      僕も詳しい経緯は分かりませんが、過去に某巨大掲示板やSNSなどで色々とあったようです。

      >ビルドに必要なPCにこれほどのパワーが必要だとは知りませんでした。

      僕は仮想環境を構築してビルドしていますが、ネイティブ環境を構築する手もあります。(もちろんスペック不足気味なら時間は掛かると思いますが。)
      例えばですが、Linux64bitのライブCD(USB)を作成して64bitOSの動作確認(10年前のCore2Duo機でも64bitOSに対応しています)をし、パーティションを切るなりストレージを足すなりしてデュアルブート環境を構築してみるのはいかがでしょうか。
      自ビルドできるようになると、毎月のセキュリティパッチも自分で更新できますしオススメです。

  2. kazumura より:

    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のファイルを確認したところ同一のファイルでした。
      先日までは大丈夫でしたがリンクミスでしょうか。

  3. たき より:

    こんにちわ
    本当にただコピペするだけでビルドできました
    息子用にしては古すぎると諦めていたのですが活躍できそうです
    本当にプログラミングなんて無縁の私でもできるほどに優しく説明して頂きありがとうございました

  4. めぶ より:

    こんにちは
    大変参考になる記事ありがとうございます。

    早速く試してみたのですが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
      この警告は無視して構いません。

  5. めぶ より:

    こっとんさん、こんにちは
    早速ご確認して頂きありがとうございます。
    無事ビルドができました。感謝です。

    これでカスタムロムが使える!と思たったのですが、
    ROM焼きしてLineageOSを起動させても起動画面から一向に進まない、という症状に今度はぶち当たってしましました。

    Resurrection Remixやネット上に落ちてる他のLineageOSも焼いてみましたがすべて同じ症状がでました。

    同じような症状の経験や回避方法が思い当れば教えて頂けないでしょうか?

    • こっとん より:

      こんにちは、こっとんです。
      記事を修正しましたので、ご確認ください。初期ROM導入あたりからやり直してみてください。

      実は僕の書いた手順が間違っていました。申し訳ないです。公式ROMから最新のカスタムROMに移行する場合、一度古いバージョンのTWRPを導入しFormat、Wipeをしなければならないようです。
      xdaにその詳細が記載されていたのですが、見落としてました。どうやら最新のTWRPだとFormatが上手くいかないようですね。
      僕の環境では初期ROM導入からやり直して上手くROM焼きができたので、これでダメなら……ちょっとお手上げかもです。

  6. めぶ より:

    無事にROM焼きできましたーーーーーー!
    アプリもいろいろインストールしてみましたが今のところ動作に全く問題なしです。

    自分も英語文献含めて色々調べてみたのですが、全くわからずご質問させて頂いてしまいましたが、すぐにフィードバックして頂いて大変感謝です!

    それにしても古い端末で最新のAndroidが体験できるというのはお得感も相まってテンション凄くあがりますね。
    早速いじり倒して行こうと思います。
    どうもありがとうございました!

  7. pico より:

    アプデお疲れ様でーす
    使わせていただきます

  8. 銀河3号 より:

    初めてコメントさせていただきます。ビルド未経験、カスタム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のビルドに挑戦してみるのがいいかと思います。

      僕の知識ではこの程度しかお答え出来ませんが、参考になれば幸いです。

  9. Jaken より:

    どうやら、ここでダウンロードできる「TWRP-2.8.4.0-celoxdcm.tar」が壊れているようです。(odinが正常に動作しない、かつ、tarが解凍できなかった)

    とりあえず、他のサイトでダウンロードしたもので進めていますが、ファイルを上げなおしして、出来ればチェック用のmd5などのハッシュを記載してもらえるとありがたいです。
    取り急ぎお知らせまで。

    • こっとん より:

      「TWRP-2.8.4.0-celoxdcm.tar」のmd5は「DE0FDE856F784D9CB00FB88A4D9295AC」でした。ローカルにあるファイルと一致しましたが、一応再度アップし直しておきます。
      情報ありがとうございました。

      • Jaken より:

        再UPありがとうございます。お手数をおかけしました。
        再度ダウンロードしてみましたが、やっぱりダメだったので、こちらの環境が問題でした。
        ⇒ブラウザをChromeにしてダウンロードしたら壊れずにダウンロードできました。

        ダメだったブラウザバージョンを載せておきます。
        Win10 IE11.112.17134.0(更新バージョン11.0.70 KB4230450)
        (ウィルスチェックソフトを一時的に切ってもダメでした)

  10. gg より:

    .bashrcフォルダが見つかりません。隠しファイルを表示してもありませんでした。

    • こっとん より:

      コメントありがとうございます。
      .bashrcはフォルダではなくファイルです。種類は「平文テキストドキュメント」となっていました。

  11. Tomo より:

    コロナで部屋の整理をしていたら、SC-03Dが出てきまして、
    何とか使えるようにならないかと検索したところ、
    こちらのサイトに辿り着きました。

    VMwareもLinuxも触ったことがありませんでしたが、
    おかげさまで無事にビルドすることができました。

    御礼を兼ねて、つまづいた点を今後の人のために共有しておきます。
    ・Linux Mint 19は、Gitがデフォルトでインストールされていない
     → 以下のサイトを参考にしてインストール
     https://qiita.com/manjiroukeigo/items/467959b4a1b28c70d21f
    ・LinageOSをビルドするとエラーが発生する
     →  bashrcの一番下に以下を追記
     export LC_ALL=C