{"id":329,"date":"2013-11-24T17:08:20","date_gmt":"2013-11-24T16:08:20","guid":{"rendered":"http:\/\/paguilar.org\/?p=329"},"modified":"2013-11-24T17:08:20","modified_gmt":"2013-11-24T16:08:20","slug":"cyanogenmod-in-a-samsung-galaxy-s3-mini-using-linux","status":"publish","type":"post","link":"https:\/\/paguilar.org\/?p=329","title":{"rendered":"Cyanogenmod in a Samsung Galaxy S3 mini using Linux"},"content":{"rendered":"<p>Nowadays is straight forward to install <a href=\"http:\/\/wiki.cyanogenmod.org\/w\/Main_Page\">CyanogenMod<\/a>, the Open Source firmware Android&#8217;s alternative, if you have a device that is officially supported.<br \/>\nBut if you have a device that is not officially suported you could face some issues that are not well documented. And if you use Linux, finding documentation could be a bit harder.<\/p>\n<p>In my case I have a Samsung Galaxy S3 mini that, of course, is not officially supported&#8230;<\/p>\n<p>I tried several things that didn&#8217;t work before finding the right way.<br \/>\nIn this article I explain the procedure that finally worked.<\/p>\n<p><strong>Requirements<\/strong><br \/>\n<font color=\"#5077d7\">ADT (Android Development Tools)<\/font><br \/>\nThe Android SDK provides the API libraries and developer tools necessary to build, test, and debug apps for Android such as Eclipse. This is a big download (~497MB) and it seems a loss of time because what we only need is the Android Debug Bridge program, <em>adb<\/em> (~1.2MB).<br \/>\nPackage: <a href=\"https:\/\/developer.android.com\/sdk\/index.html#download\">ADT bundle<\/a><\/p>\n<p><font color=\"#5077d7\">Heimdall<\/font><br \/>\nSamsung devices come with a unique boot mode called Download Mode. Heimdall is a cross-platform, open source tool for interfacing with the Download Mode. You can directly download the binaries and try them, but for me it didn&#8217;t work, you can check the issues I had at the end of this article. Therefore, I downloaded the sources from <a href=\"https:\/\/github.com\/Benjamin-Dobell\/Heimdall\">GitHub<\/a> and compiled them.<br \/>\nPackage: <a href=\"https:\/\/github.com\/Benjamin-Dobell\/Heimdall\/archive\/master.zip\">Heimdall sources<\/a><\/p>\n<pre lang=\"bash\">\nunzip Heimdall-master.zip\ncd Heimdall-master\n\n# First compile libpit, but do not install it.\n# This library will be used later for building heimdall\ncd libpit\n.\/configure\nmake\ncd ..\n\n# Now build heimdall\ncd heimdall\n.\/configure\nmake\nsudo make install\n<\/pre>\n<p><font color=\"#5077d7\">ClockworkMod<\/font><br \/>\nIt is a custom recovery for Android phones and tablets that allows to perform several advanced recovery, restoration, installation and maintenance operations on Android devices. It is one of the most common ways used to gain root access, back up device data, install custom ROMs, kernels and more.<br \/>\nPackage: <a href=\"http:\/\/download2.clockworkmod.com\/recoveries\/recovery-clockwork-6.0.2.7-golden.img\">recovery-clockwork-6.0.2.7-golden.img<\/a><\/p>\n<p><font color=\"#5077d7\">CyanogenMode for Galaxy S3 mini<\/font><br \/>\nThe Galaxy S3 mini is not officially supported by the CyanogenMod team, but the good guys at <a href=\"http:\/\/maclaw.pl\/\">maclaw.pl<\/a> have a working CyanogenMod version for this device.<br \/>\nPackage: You can download from <a href=\"http:\/\/maclaw.pl\/downloads\">here<\/a>. At the time I did this procedure the most recent version was cm10.1_golden.maclaw.20130928.zip, but there are more recent and stables versions.<\/p>\n<p><strong>Installation<\/strong><\/p>\n<p>The procedure for installing CyanogenMod for the Galaxy S3 mini is similar to the one for the Galaxy S3, but the subtle details that differ can make you spend a lot of time.<br \/>\nThis procedure is partially based on the official guide for installing <a href=\"http:\/\/wiki.cyanogenmod.org\/w\/Install_CM_for_i9300\">CyanogenMod for the Galaxy S3<\/a><\/p>\n<p>Connect the device to the USB adapter, boot the device normally and using adb, reboot the device into download mode:<\/p>\n<pre lang=\"bash\">\nadb reboot download\n<\/pre>\n<p>Copy ClockworkMod Recovery file into the Heimdall directory.<br \/>\nOpen a terminal and run the following command from the Heimdall directory. Notice the argument <em>&#8211;Kernel2<\/em> that is specific to the Galaxy S3 mini. Adjust the file name according to your version.<\/p>\n<pre lang=\"bash\">\nheimdall flash --Kernel2 recovery-clockwork-6.0.2.7-golden.img --no-reboot\n<\/pre>\n<p>A blue transfer bar will appear on the device showing the recovery being transferred.<br \/>\nYou need now to manually reboot the phone into ClockworkMod Recovery mode by holding<em> Home &#038; Volume Up &#038; Power<\/em>.<br \/>\nAt this point the Galaxy S3 mini has ClockworkMod Recovery installed. <\/p>\n<p>Place the CyanogenMod rom .zip file on the root of the SD card using <em>adb<\/em>. Adjust the file name according to your version.<\/p>\n<pre lang=\"bash\">\nadb push cm10.1_golden.maclaw.20130928.zip \/sdcard\/\n<\/pre>\n<p>Once the device boots into the ClockworkMod Recovery, use the physical volume buttons to move up and down.<\/p>\n<p>Select the option to wipe data\/factory reset.<br \/>\nSelect install zip from sdcard.<br \/>\nSelect choose zip from sdcard.<br \/>\nSelect the CyanogenMod file you placed on the sdcard. You will then need to then confirm that you do wish to flash this file.<br \/>\nOnce the installation has finished, return back to the main menu, and select the reboot system now option. The device should now boot into CyanogenMod.<\/p>\n<p>That&#8217;s it!<\/p>\n<p>It&#8217;s been some weeks since I install CyanogenMod on my Galaxy S3 mini and I can say that is quite stable. I haven&#8217;t had any freezes nor strange behaviors. The most common apps work as expected. The only issue I have experience is a video freeze when running YouTube after a few minutes of playback. This issue was know and it should be fixed in more recent versions.<\/p>\n<p>&#8212;&#8212;&#8212;<\/p>\n<p>The following section is only relevant if you have problems with you SIM and carrier. It is not directly related to the Galaxy S3 mini nor CyanogenMod, but I didn&#8217;t want to write a dedicated article just for this.<\/p>\n<p><strong>SIM network unlocking<\/strong><\/p>\n<p>If you have a phone from carrier A and you want to use your old SIM that belongs to carrier B, but when you switch on the phone you get the message <em>SIM network unlock code<\/em>, it means that the phone is locked to carrier A and you need a code to unlocking. Unfortunately, I didn&#8217;t find how to get this code for free&#8230;<\/p>\n<p>This means you have to pay for having the code. Any company that provides this service will ask for the telephone&#8217;s country, its carrier and its IMEI number that is a unique ID that identifies the phone. As a matter of fact, the IMEI number is an ID that resides in the modem, that&#8217;s why it doesn&#8217;t change even if you flash your phone.<\/p>\n<p>Once you have your network unlock code (received by email) you could unlock the phone by following this procedure:<\/p>\n<pre>\nSwitch on the phone with the Non Accepted SIM card\nThe phone will ask for the code\nEnter Unlock code\n<\/pre>\n<p>However, this could not always work. In my case, I had to do the following:<\/p>\n<pre>\nSwitch on your phone with the Non Accepted SIM card\nThe phone will ask for the code\nEnter Unlock code, it won't work. It will say Network unlock unsuccessful. I tried it 3 times\nEnter unfreeze code that arrive in the email too\nEnter Unlock code again\n<\/pre>\n<p>And this time it worked!<br \/>\nThis means I have a completely rooted phone that is not tied to any carrier.<\/p>\n<p><strong>References<\/strong><\/p>\n<p>Unofficial site for the <a href=\"http:\/\/maclaw.pl\/s3-mini\/\">CyanogenMod Galaxy S3 mini<\/a><br \/>\n<a href=\"http:\/\/wiki.cyanogenmod.org\/w\/Install_CM_for_i9300\">Official CyanogenMod guide for Galaxy S3<\/a><br \/>\n<a href=\"http:\/\/android.stackexchange.com\/questions\/51198\/heimdall-errors-error-failed-to-detect-compatible-download-mode-device\">Heimdall error<\/a><br \/>\n<a href=\"http:\/\/www.clockworkmod.com\/\">ClockworkMod&#8217;s<\/a> official page<br \/>\n<a href=\"http:\/\/www.addictivetips.com\/mobile\/what-is-clockworkmod-recovery-and-how-to-use-it-on-android-complete-guide\/\">ClockworkMod guide<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nowadays is straight forward to install CyanogenMod, the Open Source firmware Android&#8217;s alternative, if you have a device that is officially supported. But if you have a device that is not officially suported you could face some issues that are not well documented. And if you use Linux, finding documentation could be a bit harder.\u2026 <span class=\"read-more\"><a href=\"https:\/\/paguilar.org\/?p=329\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,4,6,13],"tags":[49,21],"class_list":["post-329","post","type-post","status-publish","format-standard","hentry","category-android","category-bootloader","category-compiling","category-kernel","tag-android","tag-cross-compile"],"_links":{"self":[{"href":"https:\/\/paguilar.org\/index.php?rest_route=\/wp\/v2\/posts\/329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paguilar.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/paguilar.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/paguilar.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paguilar.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=329"}],"version-history":[{"count":0,"href":"https:\/\/paguilar.org\/index.php?rest_route=\/wp\/v2\/posts\/329\/revisions"}],"wp:attachment":[{"href":"https:\/\/paguilar.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/paguilar.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=329"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/paguilar.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}