How to root the Samsung Galaxy S8 with SamPWND

While some of what root used to achieve has been baked natively into Android, there is still some considerable advantage to rooting your device. This guide focuses on achieving root and install SuperSu on the USA variant of the Galaxy S8. All the hard work was done over at XDA and you can see the full details of how it was achieved in the official thread.

At a high level, root is achieved by flashing 4 files with Odin and executing a su binary. A script is then run to install the SuperSu to the system, at which point root is obtained. There’s some extra bits to make the root more stable and smooth that takes a file from another firmware and flashed resulting in a stock rooted ROM.

  1. Download the SamPWND_S8_4File_Firm, the, and the
  2. Download Odin Prince Comsy and Normal Odin
  3. Extract SamPWND_S8_Firm to your desired destination (desktop works), then open Odin Prince Comsy, and place the files in their respective slot (BL –> BL, AP –> AP, CP–> CP, CSC–> CSC)
  4. In Odin, go to options and select, Auto Reboot, Re-Partition, F. Reset Time, Nand Erase All, and Phone Bootloader Update (This will wipe the device)
  5. Put Samsung Galaxy S8 into Download mode (Power + Volume Down + Bixby) A warning screen will come up warning you about flashing a custom os, to continue press Volume Up.
  6. Press Start in Odin (Flashing will begin, this can take up to 10 min)
  7. When complete device will reboot into recovery mode, at this point just select reboot system now.
  8. Complete the Setup, and accept device RSA Keys, to authorize adb (if popup is not there already, or you have dismissed it; please disconnect and reconnect phone, then accept)
  9. Now take the dowloaded in step one, and extract it to your adb install directory (usually C:adb)
  10. Navigate to adb directory and CTRL + Shift + Right Click, select open cmd window here
  11. Once you have cmd open and the extracted systemroot folder in your adb directory, we can begin.
  12. Type: adb push systemroot /data/local/tmp/systemroot
  13. When that completes type: adb shell
  14. Once in the shell type: chmod -R 0777 /data/local/tmp
  15. This next one is tricky, type: setsid su (the output will look like this: dreamqltesq:/ $ /system/bin/sh: No controlling tty: open /dev/tty: No such deviceor address
    /system/bin/sh: warning: won’t have full job control), you will then be in a very unstable rootshell
  16. In order for this shell to become stable you must type exit, it will then drop you into a stable rootshell, however this will probably take a few tries as most commands sent to the unstable shell are returned as gibberish. The shell itself will continue to change from standard user to root user, upon a press of the enter key. This will continue until exit is successfully ran and you are dropped into the stable shell (Note: Since the shell is changing from user to root after each command the exit command must be executed will the shell is root, otherwise instead of dropping to a root shell, you will drop to a user shell and have to begin with setsid su again)
  17. Once a stable root shell is achieved you will type: echo /data/local/tmp/systemroot/ > /sys/kernel/uevent_helper (this will remount system and rootfs as r/w)
  18. Wait 10 sec and type: mount (confirm that systemis mounted as r/w)
  19. Now we will execute the script, type: sh /data/local/tmp/systemroot/ (there will be some errors displayed back to you in adb, don’t worry about them everything is going accordingly)
  20. When the script is done running your device will reboot, and at this point you are done. However, although root has been achieved it is not the smoothest/most stable, but we have a remedy for that as well!

The next bit

  1. With your device still connected to the computer** Take the downloaded from step one, and either put it on your device’s internal storage or sdcard
  2. Take your stock firmware of choice, and extract it to your desktop. From this you will take the system.img.ext4 and either put it on your device’s inter storage or sdcard
  3. Download flashfire from the Play Store
  4. Open flashfire and grant root permissions (this must be done with airplane mode enabled), exit flashfire
  5. Open SuperSU, go to settings, scroll to the bottom, and enable pro features. Reopen SuperSU, select flashfire, and force user ROOT
  6. Open flashfire again, and select flash firmwarepackage (choose system.img.ext4)
  7. Select flash ZIP or OTA (choose Under options for the zipmake sure to select mount /system read/write!!
  8. Select wipe and make sure the top 3 options are selected, press the check in the right hand corner
  9. This next step is very important! There is a specific order that these are supposed to be in, from top to bottom: WIPE –> Flash Firmware Package –> Flash ZIP or OTA. If your order is not this, hold down on wipe like it is an app and drag it to the top of the list. Make sure it is in that order before pressing the flash button!
  10. Select EverRoot from main screen and under options disable inject SuperSU
  11. Press the lightning bolt to begin flashing, and wait for your device to reboot
  12. Congratulations you now have a very smooth/fast/stable stock rom, with root. Enjoy!!

Again, all the hard work can be found over at XDA but is compiled here for those who want to root their Galaxy S8. Be sure to head over to the thread and give thanks for all the work they put in to finding root.

Work for you? Drop us a comment below.