5/25/2013

Verizon Samsung Galaxy S4 Root, Recovery, ROMs, More...

Verizon Samsung Galaxy S4 Root, Recovery and ROMs

Root

The  Samsung Galaxy S4 has only been out on Verizon a few days, and it's already been rooted. The http://www.sxtpdevelopers.com site already has a good forum going.  Despite Verizon's attempt to harden the kernel to prevent the Motochopper exploit that is used from working, the exploit works by first loading an earlier version of the kernel, then running the exploit, then reloading the latest kernel.

Recovery

There's a new set of tools for flashing kernels and recoveries that works around the locked bootloader on the Galaxy S4 called Loki. While I've not downloaded the source code yet to use it, it's my understanding that the recovery installed by GooManager uses this set of tools.

So, after you've got root, go get GooManager and you can install the Team Win Recovery Project (TWRP) recovery.

The sex tape developer's site also has a CWM recovery under development as discussed in this forum. It looks like in order to try this one, you'll need to download and build the Loki tools.

ROMs

Perhaps the most important ROM of all is out at the sex tape developer's site, the stock unrooted original ROM. At this point, there are several other proof of concept ROMs under development there as well, but nothing that looks ready to really use yet.

Of course, if you want to go looking for ROMs, a good place to go is always the xda-developers.com site. Today, the Verizon Samsung Galaxy S4 forum is at the top of the list! So far, I've only one ROM here, a stock rooted odexed and deodexed.

Kernels

The kernel from Faux123 is out for all US and International versions of the Galaxy S4. I just downloaded from this thread.

Google Wallet

Similar to getting Google Wallet working on the Samsung Galaxy S3, the S4 requires a /system/build.prop hack, flashing a deodexed ROM, loading the Xposed framework, and applying an Xposed framework patch. 

This XDA thread was started for T-Mobile, but can be followed except that before beginning you will want to download a deodexed ROM for your carrier of the device, like the Verizon one mentioned in this thread from XDA Developers. Basically, this will make your phone look like a Sprint Galaxy S4 device, which has access to the app. Once the app is installed and working, you can revert your build.prop back to the original.

Repositories

I stumbled upon this repository which has many of the files that you need, not just for the S4, but many other Samsung devices as well.

5/01/2013

GRUB 2 Bootloader

While GRUB Legacy received it's last update in 2005 to 0.97, it will probably be around for several more years. Meanwhile, GRUB 2 has begun to replace GRUB in progressive distributions like Ubuntu and Fedora. The new GRUB, GRand Unified Bootloader, offers several advantages:
  • Dynamically loaded modules
  • Non-ASCII character support
  • Ability to boot from partitions inside of Logical Volume Management (LVM) or RAID
  • Ability to work with many architectures without a PC BIOS
As in previous posts, what I will describe pertains to Fedora. Notably, Fedora uses /boot/grub2/grub.cfg instead of /boot/grub/grub.cfg that I've seen mentioned for Ubuntu-based distributions.
Previously, GRUB stored it's components under /boot/grub and was primarily configured with either /boot/grub/menu.lst or /boot/grub/grub.conf.

Now, GRUB 2 uses several locations for it's files:
  • /boot/grub2
    • Contains many module files
    • grub.cfg which should not be edited manually
    • grubenv another configuration file which should not be edited
  • /etc/default/grub
    • contains the entries for creating a default boot entry
    • typically where customization will be done
  • /etc/grub.d directory
    • contains scripts that are run by grub2
    • scripts can be customized or added
    • Contains the following executable scripts: 
      • /etc/grub.d/00_header
      • /etc/grub.d/10_linux
      • /etc/grub.d/20_linux_xen
      • /etc/grub.d/30_os-prober
      • /etc/grub.d/40_custom
      • /etc/grub.d/41_custom
      • /etc/grub.d/90_persistent
  • /usr/lib/grub/directory
    • Stores a couple of library files
  • /sbin/grub2-mkconfig
    • Used to regenerate the /boot/grub2/grub.cfg
Here's what the /etc/default/grub looks like in Fedora 16:
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
# GRUB_TERMINAL="serial console"
# GRUB_SERIAL_COMMAND="serial --unit=0 --speed=9600"
GRUB_CMDLINE_LINUX="quiet rhgb"
GRUB_DISABLE_RECOVERY="true"


There are just a few of entries in this file that might need customization:
The GRUB_TIMEOUT is how many seconds before the default is booted. Some people might like more time than this, particularly if dual booting operating systems.

The GRUB_CMDLINE_LINUX contains the parameters that are passed to the Linux kernel. Occasionally, some systems might require additional parameters be passed, so this might also be customized.

Also, the GRUB_TERMINAL and GRUB_SERIAL_COMMAND might be uncommented to provide a serial console.

After updating don't forget to execute:
/sbin/grub2-mkconfig




About Me - WrightRocket

My photo

I've worked with computers for over 30 years, programming, administering, using and building them from scratch.

I'm an instructor for technical computer courses, an editor and developer of training manuals, and an Android developer.