This is a simple guide and script from Start to Finish on how to root and install all needed programs to your Nook Touch. Enjoy If you find anything wrong with my script please let me know but I think I ironed out all the bugs during testing.
Disclaimer: Try not to break anything...and if you do its not my fault. If you think its broke hold the POWER button down for 20+ Seconds to Factory Reset the device.
Requirements:
Nook Simple Touch
WinRAR Archiver
512+MB/GB microSD
External USB/Internal USB Memory Card Reader
Dedicated Wifi Connection with Good/Excellent Signal!
Tweaked/Additions:
Full Superuser Access
Updates are permanently blocked!
Unknown sources Enabled (install non-Market applications)
adb debugging is active [mostly for developers]
Ability to replace the Authors ****ty pictures
Ability to remap the left buttons to Menu & Back
Market Installed & Working! Login to YouTube with your GMAIL!
Software Included:
AdFree (Block those nasty ad's) [Wi-Fi needed]
Button Savior (Displays Softkeys)
gTab simi Clock (really awesome clock for your desktop)
Kindle (read your Kindle books on Nook, lol) [Wi-Fi needed]
LauncherPro (default launcher instead of Nook base launcher)
Superuser (provides a list of applications that use superuser access)
Instructions
Step 1:
Run Win32DiskImager provided in this package. Select your 512MB or larger microSD card under Device. Be certain your microSD card drive letter is selected and not one of your hard drives. Click the little blue folder icon and find the img file “noogie.img”.
Once the image is selected click “Write”.
Step 2:
Safely eject your card and insert it in the nook while it’s completely powered off.
Plug in the USB cable and the light next to the USB plug will blink Green/Orange.
Step 3:
At this point you should see a Forever Rooted screen on the nook. Open Windows Explorer and find the drive labeled “boot”. Take note of the drive letter you will need it later on in the process.
Final Step:
Run xe-autonook.bat and follow the instructions
Code:
echo off
cls
echo.
:root
set /p rooted=Is your Nook touch Rooted yet (yes, no)?
if '%rooted%'=='y' goto :rooted
if '%rooted%'=='yes' goto :rooted
if '%rooted%'=='Y' goto :rooted
if '%rooted%'=='YES' goto :rooted
if '%rooted%'=='N' goto :driveletter
if '%rooted%'=='NO' goto :driveletter
if '%rooted%'=='n' goto :driveletter
if '%rooted%'=='no' goto :driveletter
goto :root
:driveletter
echo.
echo Please make sure your on the Forever Rooted screen!
echo What drive letter is your boot drive?
echo It is labeled as "boot" in Windows Explorer.
set /p bootroot=Please type the Nooks drive letter (ie. d,e,f,g):
if '%bootroot%'=='a' goto :bootroot
if '%bootroot%'=='b' goto :bootroot
if '%bootroot%'=='c' goto :bootroot
if '%bootroot%'=='d' goto :bootroot
if '%bootroot%'=='e' goto :bootroot
if '%bootroot%'=='f' goto :bootroot
if '%bootroot%'=='g' goto :bootroot
if '%bootroot%'=='h' goto :bootroot
if '%bootroot%'=='i' goto :bootroot
if '%bootroot%'=='j' goto :bootroot
if '%bootroot%'=='k' goto :bootroot
if '%bootroot%'=='l' goto :bootroot
if '%bootroot%'=='m' goto :bootroot
if '%bootroot%'=='n' goto :bootroot
if '%bootroot%'=='o' goto :bootroot
if '%bootroot%'=='p' goto :bootroot
if '%bootroot%'=='q' goto :bootroot
if '%bootroot%'=='r' goto :bootroot
if '%bootroot%'=='s' goto :bootroot
if '%bootroot%'=='t' goto :bootroot
if '%bootroot%'=='u' goto :bootroot
if '%bootroot%'=='v' goto :bootroot
if '%bootroot%'=='w' goto :bootroot
if '%bootroot%'=='x' goto :bootroot
if '%bootroot%'=='y' goto :bootroot
if '%bootroot%'=='z' goto :bootroot
if '%bootroot%'=='A' goto :bootroot
if '%bootroot%'=='B' goto :bootroot
if '%bootroot%'=='C' goto :bootroot
if '%bootroot%'=='D' goto :bootroot
if '%bootroot%'=='E' goto :bootroot
if '%bootroot%'=='F' goto :bootroot
if '%bootroot%'=='G' goto :bootroot
if '%bootroot%'=='H' goto :bootroot
if '%bootroot%'=='I' goto :bootroot
if '%bootroot%'=='J' goto :bootroot
if '%bootroot%'=='K' goto :bootroot
if '%bootroot%'=='L' goto :bootroot
if '%bootroot%'=='M' goto :bootroot
if '%bootroot%'=='N' goto :bootroot
if '%bootroot%'=='O' goto :bootroot
if '%bootroot%'=='P' goto :bootroot
if '%bootroot%'=='Q' goto :bootroot
if '%bootroot%'=='R' goto :bootroot
if '%bootroot%'=='S' goto :bootroot
if '%bootroot%'=='T' goto :bootroot
if '%bootroot%'=='U' goto :bootroot
if '%bootroot%'=='V' goto :bootroot
if '%bootroot%'=='W' goto :bootroot
if '%bootroot%'=='X' goto :bootroot
if '%bootroot%'=='Y' goto :bootroot
if '%bootroot%'=='Z' goto :bootroot
goto :driveletter
:bootroot
echo.
echo We are now copying the uRamdisk
ren %bootroot%:\uRamdisk uRamdisk.old
copy .\mods\uRamdisk_rooted %bootroot%:\uRamdisk
echo.
echo *****************************
echo * Unplug you Nook Touch! *
echo * Remove the SD Card! *
echo * Hold Power for 10-15 sec *
echo * Release Power and Turn on *
echo * Nook will boot as normal *
echo *****************************
pause
:rooted
adb kill-server
echo.
echo Please connect the Nook to a Excellent or Good WIFI Signal!
echo While on the Nook press "n" and goto Settings then Wireless and...
echo Click the Wireless Network your connected to and get the IP address.
echo.
set /p ip=Enter the Nooks IP address:
echo.
:start
echo *****************************************
echo * We will now connect to the Nook Touch *
echo *****************************************
adb connect %ip%
echo.
set /p choice=Was the connection successful (yes, no)?
if '%choice%'=='y' goto :connected
if '%choice%'=='yes' goto :connected
if '%choice%'=='Y' goto :connected
if '%choice%'=='YES' goto :connected
if '%choice%'=='N' goto :notconnected
if '%choice%'=='NO' goto :notconnected
if '%choice%'=='n' goto :notconnected
if '%choice%'=='no' goto :notconnected
echo.
goto :start
:connected
echo.
echo *****************************************
echo * We will create the directory .Android *
echo * We will also create the adb_usb.ini *
echo * This is for future USB ADB access *
echo *****************************************
md "%USERPROFILE%\.Android"
echo 0x2080 > "%USERPROFILE%\.Android\adb_usb.ini"
echo Success
echo.
echo ********************************
echo * Enabling non-market installs *
echo ********************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb pull /data/data/com.android.providers.settings/databases/settings.db settings.db
sqlite3 settings.db "update secure set value=1 where name='install_non_market_apps';"
adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
del settings.db
echo Success
echo.
ping -n 2 127.0.0.1 >NUL
echo **********************
echo * Installing SQLite3 *
echo **********************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb push ./mods/sqlite3 /system/bin
ping -n 2 127.0.0.1 >NUL
echo Success
echo.
echo ***********************************
echo * Installing Superuser 2.3.6.1-ef *
echo ***********************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb install ./apks/Superuser.apk
adb push ./mods/su /system/bin
adb shell chmod 6755 /system/bin/su
ping -n 2 127.0.0.1 >NUL
echo Success
echo.
echo ************************
echo * Blocking OTA Updates *
echo ************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb pull /data/data/com.bn.devicemanager/databases/devicemanager.db devicemanager.db
sqlite3 devicemanager.db "update registry set value='manual' where name='com.bn.device.fota.mode';"
adb push devicemanager.db /data/data/com.bn.devicemanager/databases/devicemanager.db
del devicemanager.db
ping -n 2 127.0.0.1 >NUL
echo Success
echo.
:qbuttons
set /p choice2=Convert Left Buttons to Back and Menu (yes, no)?
if '%choice2%'=='y' goto :buttons
if '%choice2%'=='yes' goto :buttons
if '%choice2%'=='Y' goto :buttons
if '%choice2%'=='YES' goto :buttons
if '%choice2%'=='N' goto :removebooks
if '%choice2%'=='NO' goto :removebooks
if '%choice2%'=='n' goto :removebooks
if '%choice2%'=='no' goto :removebooks
goto :qbuttons
:buttons
echo.
echo *******************************************
echo * Converting Left Buttons to (Back, Menu) *
echo *******************************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb push ./mods/TWL4030_Keypad.kl /system/usr/keylayout/TWL4030_Keypad.kl
adb shell chmod 644 /system/usr/keylayout/TWL4030_Keypad.kl
ping -n 2 127.0.0.1 >NUL
echo Success
:removebooks
echo.
set /p choice3=Remove Quickstart Guide and Nook Manual from Library (yes, no)?
if '%choice3%'=='y' goto :removeyes
if '%choice3%'=='yes' goto :removeyes
if '%choice3%'=='Y' goto :removeyes
if '%choice3%'=='YES' goto :removeyes
if '%choice3%'=='N' goto :wallpapers
if '%choice3%'=='NO' goto :wallpapers
if '%choice3%'=='n' goto :wallpapers
if '%choice3%'=='no' goto :wallpapers
goto :removebooks
:removeyes
echo.
echo ***************************************
echo * Removing User Guide and Quick Start *
echo ***************************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb shell rm /system/media/books/Quick_Start.epub
adb shell rm /system/media/books/User_Guide.epub
echo Success
echo.
:wallpapers
echo.
set /p choice4=Replace Authors wallpapers with better ones (yes, no)?
if '%choice4%'=='y' goto :replacepapers
if '%choice4%'=='yes' goto :replacepapers
if '%choice4%'=='Y' goto :replacepapers
if '%choice4%'=='YES' goto :replacepapers
if '%choice4%'=='N' goto :keepbooks
if '%choice4%'=='NO' goto :keepbooks
if '%choice4%'=='n' goto :keepbooks
if '%choice4%'=='no' goto :keepbooks
goto :wallpapers
:replacepapers
echo.
echo ********************************************************
echo * Replacing Authors wallpapers with AWESOME wallpapers *
echo ********************************************************
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb push ./screensaver/authors /system/media/screensaver/authors
echo Success
echo.
:keepbooks
echo.
echo ******************************************
echo * Setting application permissions to 644 *
echo ******************************************
adb shell chmod 644 /system/app/*
ping -n 10 127.0.0.1 >NUL
echo.
echo ***************************
echo * Installing Applications *
echo ***************************
adb install ./apks/com.amazon.kindle-1.apk
adb install ./apks/NookColorTools_0.2.apk
adb install ./apks/com.smart.swkey-1.apk
adb install ./apks/com.bigtincan.android.adfree-1.apk
adb install ./apks/com.rhythm.hexise.uninst-1.apk
adb install ./apks/LauncherPro.apk
adb install ./apks/com.th.android.widget.gTabsimiClock-1.apk
echo.
echo **************************
echo * You Nook is rebooting! *
echo * Wait until rebooted... *
echo * Press the "n" Button *
echo * Select the check box *
echo * Select Launcher Pro *
echo * *
echo * Enjoy! *
echo **************************
adb reboot
adb kill-server
exit
:notconnected
echo.
echo ***********************************************
echo * There was a problem connecting to the Nook *
echo * Your device might not be rooted correctly *
echo * Your device might not be connected wireless *
echo * You might have typed the IP Address wrong *
echo ***********************************************
pause
exit
Once all said and done update your Vending.apk with this one for updated market and WORKING SEARCH
http://forum.xda-developers.com/showpost.php?p=15084704&postcount=51
Nice Job !
jocala said:
Nice Job !
Click to expand...
Click to collapse
Thank you, I put ALOT of effort into the script portion. Its pretty much flawless for what it does.
Nice job. Looks really professional.
Thanks for doing this. Not and ADB expert so this really helped!!
redbluff said:
Thanks for doing this. Not and ADB expert so this really helped!!
Click to expand...
Click to collapse
Your very welcome
Here's my workflow, feel free to use any of it you find useful. Since it's personal code, no error checking, etc. The directory /system/xbin is already in the path, but not present on the device -- I create it. adbWireless is very handy, it allows you to turn adbd off or on, a useful security addition for wifi. bash & busybox aren't required, but can make your life at the console a lot easier.
Code:
xboxexpert asked me to remove my code from his thread. Done.
Nice job!
Nice job, well done..
Only thing - missing pause at the end of the script after reboot and kill-server..
vojcas said:
Nice job, well done..
Only thing - missing pause at the end of the script after reboot and kill-server..
Click to expand...
Click to collapse
It freezes at the end of the script due to rebooting the device...adb doesn't know how to handle wifi reboots so it just crashs dos. It is its own pause...you'll see.
Which part of the script turns off the windows transitions and animations?
(I've done most of these things already, but I'm wondering what you mean by this item)
Xhorder said:
Which part of the script turns off the windows transitions and animations?
(I've done most of these things already, but I'm wondering what you mean by this item)
Click to expand...
Click to collapse
Sorry I deleted that portion from the actual script. I just forgot to update post.
Is the installation of Gapps and Market included in the script?
aruangra said:
Is the installation of Gapps and Market included in the script?
Click to expand...
Click to collapse
Not yet...since you actually have to do some work for that to work.
explorer .....
Im a simple instruction follower type, and every other device "WE" hack ?I fail to find a simple root explorer = way to install APKs, every other device, im like whoot they rooted it .... and then, wrestle with it
-gmail . apk
-dropbox .apk
All FAIL, through given webrowser
PLEASE, a lil how to actually "use" (abuse) a rooted nook?
dinguznomad said:
Im a simple instruction follower type, and every other device "WE" hack ?I fail to find a simple root explorer = way to install APKs, every other device, im like whoot they rooted it .... and then, wrestle with it
-gmail . apk
-dropbox .apk
All FAIL, through given webrowser
PLEASE, a lil how to actually "use" (abuse) a rooted nook?
Click to expand...
Click to collapse
Download my kit. In the main directory there is the adb.exe here are some of the commands laid out for you to utilize
Code:
adb connect IP
Where the IP is is where you put the ip address of the nook. ie. 192.168.1.8
It will connect to the nook and you will be able to type
Code:
adb shell
Verify that # is what you see. type exit to exit adb.
Put any apk files in the directory and then type
Code:
adb install APKFILE.apk
It will install the apk file on your nook.
I hope I helped
adb disconnect (disconnects the nook)
adb kill-server (kills the server and quits all running processes of adb.exe)
adb reboot (reboots the nook if connected)
okeedokey
I was thinking with this I could avoid any manual adb
or
nooktools or superuser had some secret explorer/APK launcher
thanx
Has anyone tried out the Kobo, Sony Reader, or Overdrive apps and had any luck?
Overdrive seems to work just fine...
guitar_east said:
Has anyone tried out the Kobo, Sony Reader, or Overdrive apps and had any luck?
Click to expand...
Click to collapse
I have it installed and it appears to operate correctly. However, I have never used it before. It launches the crippled default browser when connecting to my library and this can be problematic to browse and download content. I would think everything would work smoothly when using an alternative web browser.
Michael.Rose said:
I have it installed and it appears to operate correctly. However, I have never used it before. It launches the crippled default browser when connecting to my library and this can be problematic to browse and download content. I would think everything would work smoothly when using an alternative web browser.
Click to expand...
Click to collapse
Thanks for the response...but I listed 3 apps, which one did you get to try?
Re: Overdrive seems to work just fine...
guitar_east said:
Thanks for the response...but I listed 3 apps, which one did you get to try?
Click to expand...
Click to collapse
Overdrive, I had written it in the subject heading.
I have not tried Kobo or Sony apps.
Dual-boot Powered by U-boot and Custom Kernel on Galaxy Nexus.
Everyone can look at my github for details.
https://github.com/dlhxr
The uboot-tuna repository is for u-boot and the 2nd-kernel-for-galaxy-nexus is for kernel modification.
Edit: I forked the fancykernel repository and change the ramdisk to support image boot in branch fancykernel-ramdisk-imageboot. You can easily use that repository to build an image boot supported kernel.
Instructions are in the post #2, #3 and #4.
The first post is for introduction and some pre-built binaries.
There are pre-built u-boot for dual-boot, tri-boot, quad-boot and quad-recovery-boot!!!
You can find how I modify the u-boot in the branches of uboot-tuna repository.
Dual Boot
View attachment GN_U-Boot_Kernel.zip
* Normal Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Recovery Boot -> Volume Up key pressed, green LED -> Go to recovery
* Custom Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
!!!It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!!!
Tri Boot
View attachment GN_U-Boot_Triboot_Kernel.zip
* First Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Third Boot -> Volume Up key pressed, green LED -> Find kernel in /data/media/boot/3rd.img
* Second Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
!!!It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!!!
Quad Boot Thank Zittoro to remind me about pessing both keys!
View attachment GN_U-Boot_QuadBoot_Kernel.zip
* First Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Third Boot -> Volume Up key pressed, green LED -> Find kernel in /data/media/boot/3rd.img
* Second Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
* Recovery Boot -> Volume Up and Down keys pressed, yellow LED ->Go to recovery
Quad Boot with Recovery Image Boot
View attachment GN_U-Boot_QuadBoot_Recovery_Kernel.zip
* First Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Third Boot -> Volume Up key pressed, green LED -> Find kernel in /data/media/boot/3rd.img
* Second Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
* Recovery Boot -> Volume Up and Down keys pressed, yellow LED ->Find recovery image in /data/media/boot/recovery.img. You can put either CWM recovery or TWRP recovery image there.
!!!It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!!!
If you want to bulid your own u-boot from source, you can look into post #2.
Three ways to modify the 2nd kernel fully working now!
1. Image Boot Recommanded!
Partition relation for the 2nd kernel.
Code:
system /rdata/media/rom/system.img
data /rdata/media/rom/data.img
cache /rdata/media/rom/cache.img
See post #3 part I
2. Image Folder Mix Boot
Partition relation for the 2nd kernel
Code:
system /rdata/media/2nd/system.img
data /rdata/media/2nd/data
cache /rdata/media/2nd/cache
See post #3 part II
3. Folder Cache Boot
Partition relation for the 2nd kernel.
Code:
system /dev/block/platform/omap/omap_hsmmc.0/by-name/cache
data /rdata/media/2nd/data
cache /rdata/media/2nd/cache
See post #3 part III.
Acknowledgement
twistedumbrella for doing these thing together and his help.
sp3dev for his port of u-boot to galaxy nexus and his help to modify u-boot source.
Jijonhyuni for firstly putting his dual boot kernel on xda.
crayon for his busybox mount way to support HTC DHD multiboot, which inspired me a lot!
Most Frequently Asked Questions Updated on April 18th.
Q: Some of the 4.1 kernels seem not work, right?
A: The init binary in the ramdisk is not compatible. Replace the init in /ramdisk/ by this one.View attachment init.7z
(Don't forget to extract the init in the init.7z first.)
Q: Some kernel has serious color problem, the screen showing a green color?
A: Unpack the kernel and repack it with the cmdline adding "mms_ts.panel_id=18". And I made an easy linux script for this.View attachment Fix_Color.7z:laugh: and an android arm script and binary for people's computer not available.View attachment fix_color_arm.7z I use SManager to execute the script.
Edit: Someone reported his panel_id is not 18, but 162. If 18 doesn't work with your device, try 162.
Q: When I am using the image boot way to dual boot, the zip file seems not being flashed?
A: The TWRP seems not compatible with image boot flashing script and please use CWM recovery instead.
Step 1: How to Modify the U-boot Source
Since developer sp3dev on xda ported u-boot for galaxy nexus, we have the opportunity to exploit it and realize dual-boot on our device. Feel free to email me ([email protected]) or pm me on xda.
Modify the U-boot
Notice: This step can be skipped using my pre-built u-boot.
View attachment GN_U-Boot_Kernel.zip
* Normal Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Recovery Boot -> Volume Up key pressed, green LED -> Go to recovery
* Custom Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
!!!It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!!!
Another pre-built u-boot by me for tri-boot!!!
View attachment GN_U-Boot_Triboot_Kernel.zip
* First Boot -> No keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Third Boot -> Volume Up key pressed, green LED -> Find kernel in /data/media/boot/3rd.img
* Second Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
!!!It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!!!
The pre-compiled version sp3dev provides can only boot one kernel when using android 4.2 system as the main system because sdcard simulation method changed in 4.2 system. The sdcard path is /data/media/0, not /data/media. Sp3dev made the volume down button function to boot from /data/media and it cannot find the kernel we put in sdcard. So I managed to correct the path, successfully boot different kernel on device.
Edit: I change the kernel path to /data/media/boot to make sure the kernel won't be wiped by cwm recovery!
With the help of sp3dev, I successfully change the location of the custom boot kernel to /data/media/boot/2nd.img and the normal boot kernel to /data/media/boot/1st.img.
Firstly, I downloaded the source file of u-boot (https://github.com/Ksys-labs/uboot-tuna) and ARM cross-compiler codesourcery 2010q1-188 version. Exact them to the folder you like.
Change some configuration in /u-boot-source/include/configs/omap4_tuna.h.
Find the following lines.
Code:
"kernel_name=/boot/vmlinux.uimg\0" \
"script_img/boot/vmlinux.scr.uimg\0" \
Change to
Code:
"kernel_name=/meida/boot/1st.img\0" \
"script_img/media/boot/1st.scr.uimg\0" \
And find
Code:
"boot_system=echo Booting SYSTEM; "\
Change one of the lines below it from
Code:
"setenv kernel_part 0xa; " \
to
Code:
"setenv kernel_part 0xc; " \
This one changes the normal boot kernel location and kernel file name to /data/media/boot/1st.img
Now we correct the location for custom boot kernel location. Find the following lines.
Code:
"boot_custom_emmc=echo Booting custom image; " \
"tuna_set_led 4; " \
"setenv loadaddr 0x81f00000; " \
"setenv script_img media/boot/vmlinux.scr.uimg; " \
"setenv kernel_name media/boot/vmlinux.uimg; " \
"setenv script_part 0xc; " \
"setenv kernel_part 0xc; " \
"setenv rootpart 0xc; " \
"setenv devnum 0; " \
"setenv devtype mmc; " \
"setenv bootargs " \
"${dev_extras} root=/dev/${devname}${rootpart} rootwait ro ;"\
"run load_boot_script; " \
"run custom_boot\0" \
Change to
Code:
"boot_custom_emmc=echo Booting custom image; " \
"tuna_set_led 4; " \
"setenv loadaddr 0x81f00000; " \
"setenv script_img /media/boot/2nd.scr.uimg; " \
"setenv kernel_name /media/boot/2nd.img; " \
"setenv script_part 0xc; " \
"setenv kernel_part 0xc; " \
"setenv rootpart 0xc; " \
"setenv devnum 0; " \
"setenv devtype mmc; " \
"setenv bootargs " ANDROID_CMDLINE " ;"\
"run load_boot_script; " \
"run custom_boot\0" \
Save the file and recompile the u-boot using the following script. (Go to source folder first.)
Code:
export PATH=/home/hoary/codesourcery/bin:$PATH
#Note: You should change the path to your codesourcery compiler location.
export ARCH=arm
export CROSS_COMPILE=arm-none-eabi-
make clean
make distclean
make omap4_tuna_config
make -j8 omap4_tuna
And you can find u-boot.bin in your source folder.
Find pre-compiled mkbootimg to make u-boot.bin a flashable img in CWM recovery.
View attachment mkboot-script.zip
Code:
mkbootimg --kernel u-boot.bin --ramdisk /dev/null -o u-boot.aimg
And copy your current kernel (boot.img) to /data/media/boot/1st.img. Using CWM flashable zip or fastboot to flash u-boot to boot partition.
Code:
CWM zip updater-script
package_extract_file("u-boot.aimg", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");
Fastboot
fastboot flash boot u-boot.aimg
Step 2: How to Modify the Kernel
There are three ways to modify the kernel.
First one is called image boot, which means we can boot just from images on our device, like system.img, data.img, cache.img.
Second one is called image folder mix boot, which means we can boot from system.img and /data/media/2nd/data, /data/media/2nd/cache folders.
Third one is called folder cache boot, which means we boot from cache partition (mmcblk0p11) and /data/media/2nd/data, /data/media/2nd/cache folders.
I recommand the image boot, because it won't have the possiblity to influence our real system.
Let's begin.
Part I: Image Boot --Booting from images.
See details in https://github.com/dlhxr/2nd-kernel-for-galaxy-nexus/tree/image_boot
An image boot kernel based on learnkernel 6.2 for 4.2
View attachment 2nd_image_boot.7z
This one is color-fixed.
View attachment 2nd_image_boot_color_fixed.7z
Partition relation in the kernel
Code:
system /rdata/media/rom/system.img
data /rdata/media/rom/data.img
cache /rdata/media/rom/cache.img
rdata is the original data partition /dev/block/platform/omap/omap_hsmmc.0/by-name/userdata and I mount it to /rdata instead of /data.
Modify your own kernel
After some study in xda developer Jijonhyuni’s dual boot kernel and a Chinese DHD Multi-boot thread, I managed to change the partition relation in the kernel. There are two files needing to be modified and one file need to be added.
But firstly we should unpack a compiled boot.img for the modification. Using unpackbootimg.
(
One script modified by me. View attachment mkboot-script.zip
See details in extract.sh and pack_boot.sh
Remember to use chmod command to make files in tools folder executable.
Code:
chmod +x ./tools/mkbootimg ./tools/mkbootfs ./tools/unpackbootimg
)
Code:
unpackbootimg –i boot.img
You can get five files.
Code:
boot.img-base
boot.img-cmdline
boot.img-pagesize
boot.img-ramdisk.gz
boot.img-zImage
Unpack the boot.img-ramdisk.gz using
Code:
mkdir ramdisk
cd ramdisk
gzip -dc ../boot.img-ramdisk.gz | cpio –i
OK, let's add a busybox binary.
View attachment busybox.zip
Unzip it and copy busybox to /ramdisk/sbin/busybox.
Then modify two files in ramdisk folder, init.tuna.rc and fstab.tuna.
Find fstab.tuna and modify the system, cache and data mounting line. (Don't forget to delete the check parameter in the data mounting line!)
Code:
[COLOR="Red"]#[/COLOR]/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/efs /factory ext4 ro wait
[COLOR="Red"]#[/COLOR]/dev/block/platform/omap/omap_hsmmc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata [COLOR="Red"]/rdata[/COLOR] ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic [COLOR="Red"]wait,encryptable[/COLOR]=/dev/block/platform/omap/omap_hsmmc.0/by-name/metadata
Then find init.tuna.rc.
The on fs part. Change it to this.
Code:
on fs
mkdir /factory 0775 radio radio
mkdir /rdata 0771 system system
mount_all /fstab.tuna
exec /sbin/busybox mount -t ext4 -o ro /rdata/media/rom/system.img /system
exec /sbin/busybox mount -t ext4 -o noatime,nosuid,nodev,nomblk_io_submit,errors=panic,rw /rdata/media/rom/data.img /data
exec /sbin/busybox mount -t ext4 -o noatime,nosuid,nodev,nomblk_io_submit,errors=panic,rw /rdata/media/rom/cache.img /cache
setprop ro.crypto.fuse_sdcard true
Modifications are done and we need to repack the kernel using following command.
Code:
mkbootfs ramdisk | gzip > ramdisk-new.gz
mkbootimg --cmdline "no_console_suspend=1 console=null " --base 0x10000000 --pagesize 2048 --kernel boot.img-zImage --ramdisk ramdisk-new.gz -o 2nd.img
The parameters like cmdline, base and pagesize can be found in the exact files boot.img-base, boot.img-cmdline, boot.img-pagesize.
If you have a serious color problem using this kernel, you need to add "mms_ts.panel_id=18" to cmdline parameter when repacking the kernel.
Put it in /data/media/boot/2nd.img.
Make some img files by dd command in Ubuntu or other linux system.
Code:
dd if=/dev/zero bs=1M count=500 >> 500.img
And then use mke2fs format the image to ext4 file system.
Code:
mke2fs –T ext4 500.img
Rename them and put them into /data/media/rom/xxx.img
View attachment IMGs.zip Images from 50M to 800M pre-made by me.
Part II: Image Folder Mix Boot --Booting from image and folders.
See details in https://github.com/dlhxr/2nd-kernel-for-galaxy-nexus/tree/image_folder_boot
An Image folder boot kernel based on learnkernel 6.2 for 4.2
View attachment 2nd_image_folder_boot.7z
Partition relation in the kernel
Code:
system /rdata/media/2nd/system.img
data /rdata/media/2nd/data
cache /rdata/media/2nd/cache
rdata is the original data partition /dev/block/platform/omap/omap_hsmmc.0/by-name/userdata and I mount it to /rdata instead of /data.
Modify your own kernel
Firstly, unpack the boot.img using the method in the second post.
Find fstab.tuna and modify the system, cache and data mounting line. (Don't forget to delete the check parameter in the data mounting line!)
Code:
[COLOR="Red"]#[/COLOR]/dev/block/platform/omap/omap_hsmmc.0/by-name/system /system ext4 ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/efs /factory ext4 ro wait
[COLOR="Red"]#[/COLOR]/dev/block/platform/omap/omap_hsmmc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata [COLOR="Red"]/rdata [/COLOR] ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic [COLOR="Red"]wait,encryptable[/COLOR]=/dev/block/platform/omap/omap_hsmmc.0/by-name/metadata
Then find init.tuna.rc.
The on fs part. Change it to this.
Code:
on fs
mkdir /factory 0775 radio radio
mkdir /rdata 0771 system system
mount_all /fstab.tuna
exec /sbin/busybox mount -t ext4 -o ro /rdata/media/2nd/system.img /system
mkdir /rdata/media/2nd
mkdir /rdata/media/2nd/data 0775 system system
mkdir /rdata/media/2nd/cache 0775 system cache
exec /sbin/busybox mount --bind /rdata/media/2nd/data /data
exec /sbin/busybox mount --bind /rdata/media/2nd/cache /cache
setprop ro.crypto.fuse_sdcard true
Thirdly, put busybox binary into /ramdisk/sbin/busybox
At last repack the boot.img.
You can find how to make images in Part I: Image Boot.
Part III: Folder Cache Boot
See details in https://github.com/dlhxr/2nd-kernel-for-galaxy-nexus/tree/folder_boot
I call this way to modify the kernel ----Folder Boot.
here is one folder boot kernel packed by me based on leankernel 6.2
View attachment 2nd_folder_boot.7z
The partition relation in the 2nd kernel is
Code:
system /dev/block/platform/omap/omap_hsmmc.0/by-name/cache
data /rdata/media/2nd/data
cache /rdata/media/2nd/cache
rdata is the original data partition /dev/block/platform/omap/omap_hsmmc.0/by-name/userdata and I mount it to /rdata instead of /data.
There are two files needing to be modified and one file need to be added.
Unpack the boot.img.
Firstly, let's add a busybox binary.
View attachment busybox.zip
Unzip it and copy busybox to /ramdisk/sbin/busybox.
Then modify two files in ramdisk folder, init.tuna.rc and fstab.tuna
fstab.tuna
Change like this
Code:
/dev/block/platform/omap/omap_hsmmc.0/by-name/[B][COLOR="Red"]cache[/COLOR][/B] /system ext4 ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/efs /factory ext4 ro wait
[B][COLOR="Red"]#[/COLOR][/B]/dev/block/platform/omap/omap_hsmmc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check
/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata /[B][COLOR="Red"]rdata[/COLOR][/B] ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,encryptable=/dev/block/platform/omap/omap_hsmmc.0/by-name/metadata
Init.tuna.rc
Find on fs and change like this
on fs
Code:
mkdir /factory 0775 radio radio
[B][COLOR="Red"]mkdir /rdata 0771 system system[/COLOR][/B]
mount_all /fstab.tuna
[B][COLOR="Red"]mkdir /rdata/media/2nd
mkdir /rdata/media/2nd/data 0775 system system
mkdir /rdata/media/2nd/cache 0775 system cache
exec /sbin/busybox mount --bind /rdata/media/2nd/data /data
exec /sbin/busybox mount --bind /rdata/media/2nd/cache /cache[/COLOR][/B]
setprop ro.crypto.fuse_sdcard true
Then find # virtual sdcard daemon running as media_rw (1023)
Change from
Code:
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
to
Code:
service sdcard /system/bin/sdcard[B][COLOR="Red"] /rdata/media[/COLOR][/B] /mnt/shell/emulated 1023 1023
Repack the 2nd.img and put it in /data/media/boot/2nd.img.
Step 3: How to Modify the updater-script in the Flashable Zip Installer.
Part I: Image Boot
Firstly, add following lines below the first line. assert(getprop("ro.product.device") == "maguro" || getprop("ro.build.product") == "maguro");
Code:
unmount("system");
unmount("data");
unmount("cache");
run_program("/sbin/mkdir", "/rdata");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata", "/rdata");
Replace the following line
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
by
Code:
run_program("/sbin/losetup", "/dev/block/loop1", "/rdata/media/rom/system.img");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/loop1", "/system");
Replace the following lines
Code:
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "0", "/system");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
by
Code:
run_program("/sbin/losetup", "/dev/block/loop1", "/rdata/media/rom/system.img");
run_program("/sbin/mke2fs", "-T", "ext4", "/dev/block/loop1");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/loop1", "/system");
Replace the following line
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata", "/data");
by
Code:
run_program("/sbin/losetup", "/dev/block/loop2", "/realdata/media/rom/data.img");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/loop2", "/data");
Replace the following line (not include the lines you add at first.)
Code:
unmount("data");
by
Code:
run_program("/sbin/umount", "-d", "/data");
Replace the following line (not include the lines you add at first.)
Code:
unmount("system");
by
Code:
run_program("/sbin/umount", "-d", "/system");
Delete the following line
Code:
package_extract_file("boot.img", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");
Add the following line in the end
Code:
run_program("/sbin/umount", "/rdata");
Part II: Image Folder Mix Boot
Firstly, add following lines below the first line. assert(getprop("ro.product.device") == "maguro" || getprop("ro.build.product") == "maguro");
Code:
unmount("system");
unmount("data");
unmount("cache");
run_program("/sbin/mkdir", "/realdata");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata", "/rdata");
Replace the following line
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
by
Code:
run_program("/sbin/losetup", "/dev/block/loop1", "/rdata/media/2nd/system.img");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/loop1", "/system");
Replace the following lines
Code:
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "0", "/system");
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
by
Code:
run_program("/sbin/losetup", "/dev/block/loop1", "/rdata/media/2nd/system.img");
run_program("/sbin/mke2fs", "-T", "ext4", "/dev/block/loop1");
run_program("/sbin/mount", "-t", "ext4", "/dev/block/loop1", "/system");
Delete the following line
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata", "/data");
Delete the following line (not include the lines you add at first.)
Code:
unmount("data");
Replace the following line (not include the lines you add at first.)
Code:
unmount("system");
by
Code:
run_program("/sbin/umount", "-d", "/system");
Delete the following line
Code:
package_extract_file("boot.img", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");
Add the following line in the end
Code:
run_program("/sbin/umount", "/rdata");
Modify the orginal line related to data partition. For example.
Replace the following line
Code:
package_extract_dir("data", "/data");
by
Code:
package_extract_dir("data", "/rdata/media/2nd/data");
Part III: Folder Cache Boot
Modify the updater-script to mount /dev/block/platform/omap/omap_hsmmc.0/by-name/cache to /system.
And rember to wipe your cache in CWM recovery, before apply the zip file.
You can also use twistedumbrella's app Dual-Boot Builder to install the system as folder cache boot system.
http://forum.xda-developers.com/showthread.php?t=2192064
Delete the following line in updater-script
Code:
format("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "0", "/system");
Delete the following line in updater-script
Code:
package_extract_file("boot.img", "/dev/block/platform/omap/omap_hsmmc.0/by-name/boot");
Replace the following line in updater-script
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/system", "/system");
by
Code:
mount("ext4", "EMMC", "/dev/block/platform/omap/omap_hsmmc.0/by-name/cache", "/system");
And replace the package extract for data like this.
Code:
package_extract_dir("data", "/data");
To
Code:
package_extract_dir("data", "/data/media/2nd/data");
Re: [KERNEL] [U-boot]Dual-boot Powered by U-boot and Custom Kernel [24/03]
So if I follow, this is doing the same thing the current dual boot kernels do but needs two kernels?
keep trying... true multi boot will be awesome
In theory this is the u-boot kernel with both the first and second kernel for running two 4.2 ROMs. I haven't tested it, but it should fix the issues with the second kernel by fixing the fstab and then symlinking the directories instead of all that realdata stuff that didn't match up to anything
twistedumbrella said:
In theory this is the u-boot kernel with both the first and second kernel for running two 4.2 ROMs. I haven't tested it, but it should fix the issues with the second kernel by fixing the fstab and then symlinking the directories instead of all that realdata stuff that didn't match up to anything
Click to expand...
Click to collapse
Thank you so much.
But i tested it and something was wrong.
The screen said Cannot mount filesystem on /dev/block/platform/omap/omap_hsmmc.0/by-name/system at /data/media/2nd/system.
And other stuffs...
I see in your fstab.tuna.
Code:
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /data/media/2nd/system ext4 noatime,ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/efs /factory ext4 ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/cache /data/media/2nd/cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic,noauto_da_alloc,data=writeback wait,check
/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata /data/media/2nd/data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic,noauto_da_alloc,data=writeback wait,check,encryptable=/dev/block/platform/omap/omap_hsmmc.0/by-name/metadata
The second parameter is the mount point, right?
/data/media/2nd/system seems not work.....
dlhxr said:
Thank you so much.
But i tested it and something was wrong.
The screen said Cannot mount filesystem on /dev/block/platform/omap/omap_hsmmc.0/by-name/system at /data/media/2nd/system.
And other stuffs...
I see in your fstab.tuna.
Code:
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /data/media/2nd/system ext4 noatime,ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/efs /factory ext4 ro wait
/dev/block/platform/omap/omap_hsmmc.0/by-name/cache /data/media/2nd/cache ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic,noauto_da_alloc,data=writeback wait,check
/dev/block/platform/omap/omap_hsmmc.0/by-name/userdata /data/media/2nd/data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic,noauto_da_alloc,data=writeback wait,check,encryptable=/dev/block/platform/omap/omap_hsmmc.0/by-name/metadata
The second parameter is the mount point, right?
/data/media/2nd/system seems not work.....
Click to expand...
Click to collapse
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
It's not working because you can't really mount something to data without mounting data first and you are trying to have a second data folder inside the first. Basically, the way you are trying to do it won't work.
twistedumbrella said:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
It's not working because you can't really mount something to data without mounting data first and you are trying to have a second data folder inside the first. Basically, the way you are trying to do it won't work.
Click to expand...
Click to collapse
So it is the end?
/data/2nd/system is even not a mount point, but why you write it in fstab.tuna?
How did the dual-boot work deal with the first-mount stuff?
dlhxr said:
So it is the end?
/data/2nd/system is even not a mount point, but why you write it in fstab.tuna?
How did the dual-boot work deal with the first-mount stuff?
Click to expand...
Click to collapse
dlhxr said:
Since I don’t want the 2nd system to have any influence on the 1st system, I choose to put 2nd system into data partition. The partition relation in the 2nd kernel is
Code:
[B][I][U][SIZE="3"]system /data/media/2nd/system[/SIZE][/U][/I][/B]
data /data/media/2nd/data
cache /data/media/2nd/cache
Click to expand...
Click to collapse
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /data/media/2nd/system ext4 noatime,ro wait
I have it that way because you said that was where you were trying to mount...
If this one doesn't work, then you need to restructure the directories to have your "fake" folder as a top-level directory like /udata
twistedumbrella said:
/dev/block/platform/omap/omap_hsmmc.0/by-name/system /data/media/2nd/system ext4 noatime,ro wait
I have it that way because you said that was where you were trying to mount...
If this one doesn't work, then you need to restructure the directories to have your "fake" folder as a top-level directory like /udata
Click to expand...
Click to collapse
ah, I didn't explain myself well....
What I want is to mount /mmcblk0p12(realdata)/media/2nd/system to /system.....etc.
dlhxr said:
ah, I didn't explain myself well....
What I want is to mount /mmcblk0p12(realdata)/media/2nd/system to /system.....etc.
Click to expand...
Click to collapse
mmcblk0p12 mounts as /data in the first ROM correct? So in the second ROM, you are mounting a subdirectory of /data, otherwise you just overwrite the first ROMs data. Maybe it's better to leave you to it.
twistedumbrella said:
mmcblk0p12 mounts as /data in the first ROM correct? So in the second ROM, you are mounting a subdirectory of /data, otherwise you just overwrite the first ROMs data. Maybe it's better to leave you to it.
Click to expand...
Click to collapse
When I boot into the second rom kernel, I need to firstly mount mmcblk0p12 to /realdata and then mount its subdirectory to /data.
When I am in second rom, it would not influence the first rom because I even didn't load the first rom....
twistedumbrella said:
mmcblk0p12 mounts as /data in the first ROM correct? So in the second ROM, you are mounting a subdirectory of /data, otherwise you just overwrite the first ROMs data. Maybe it's better to leave you to it.
Click to expand...
Click to collapse
I made it work and updated my second post in this thread.
But in the second system there's no root access and I can't see what's in data and what's in cache in root explorer....
Don't know what's wrong.
dlhxr said:
I made it work and updated my second post in this thread.
But in the second system there's no root access and I can't see what's in data and what's in cache in root explorer....
Don't know what's wrong.
Click to expand...
Click to collapse
Try this one. I know what's in it and I can explain it if it works, but I don't have a setup to test it on.
twistedumbrella said:
Try this one. I know what's in it and I can explain it if it works, but I don't have a setup to test it on.
Click to expand...
Click to collapse
It doesn't work showing system not mounted (can't find /system/xxxxxx)
I unpacked your kernel and I think we should remove the check part during mounting realdata in fstab.tuna because it uses e2fsck in the system partition to check whether the partition mounted right or not, which lead to an error.
After I changed this, the system boots! But still no root access.....
Maybe my updater-script modification is not right?
At last, great work! Thanks a lot!
dlhxr said:
It doesn't work showing system not mounted (can't find /system/xxxxxx)
I unpacked your kernel and I think we should remove the check part during mounting realdata in fstab.tuna because it uses e2fsck in the system partition to check whether the partition mounted right or not, which lead to an error.
After I changed this, the system boots! But still no root access.....
Maybe my updater-script modification is not right?
At last, great work! Thanks a lot!
Click to expand...
Click to collapse
https://github.com/ThePlayground/uboot-tuna
dlhxr said:
Another u-boot searching another location for kernel by me.
View attachment 1834529
* Normal Boot -> no keys are pressed, cyan LED ->Find kernel in /data/media/boot/1st.img
* Recovery Boot -> Volume Up key pressed, green LED -> Go to recovery
* Custom Boot -> Volume Down key pressed, blue LED ->Find kernel in /data/media/boot/2nd.img
Note: It will replace your kernel. Remember to copy your boot.img to /data/media/boot/1st.img first!
Click to expand...
Click to collapse
Classy... but I have one better for ya:
http://forum.xda-developers.com/showthread.php?t=2009485
twistedumbrella said:
https://github.com/ThePlayground/uboot-tuna
Click to expand...
Click to collapse
it is very interesting...
I followed your git and made the same change (init.rc, init.tuna.rc, fstab.tuna) for leankernel 6.2 and it didn't work...
It is stuck in the u-boot bootimg 2nd kernel on the screen...
Bought an A100 off Ebay and donated a battery to it. Tried several ways (like ADB method and Terminal Emulator) and many times to root, but no go.
The ROM is Acer_AV041_A100_1.015.00_PA_CUS1
The results with Terminal Emulator working with root.sh in /mnt/sdcard are:
/system/xbin/su: No such file or directory
When I type in the commands for ADB:
adb shell /system/bin/cmdclient ec_micswitch ‘`mount -o remount,rw /system`’
adb shell /system/bin/cmdclient ec_micswitch ‘`cat /mnt/sdcard/su >/system/xbin/su`’
adb shell /system/bin/cmdclient ec_micswitch ‘`chmod 6755 /system/xbin/su`’
I get no response in the command window. I then go to Superuser, and the info menu says "su binary not found"
ADB and Fastboot seem to work OK. It returns the device number 20710676216.
adb shell cat /proc/partitions shows nine partitions
It looks like a permissions problem, but I don't know what to do next.
Who can help me figure this out?
http://forum.xda-developers.com/showthread.php?p=23285307 have you tried this?
Alao is that ICS or HC I can't ever remember by the stock firmware title?
Sent from my SCH-R760X using xda app-developers app
Working on it
chicinwang said:
http://forum.xda-developers.com/showthread.php?p=23285307 have you tried this?
Alao is that ICS or HC I can't ever remember by the stock firmware title?
Sent from my SCH-R760X using xda app-developers app
Click to expand...
Click to collapse
It is ICS. Yes, I tried the simple method earlier, but got error about no mempodroid.
I just added the precompiled version to the subfolder 'tools' and got past that error.
Now, when I run runit-win.bat, it successfully passes the preparation stage, says executing the main script, then remote object /system/bin/su doesn't exist... file su isn't created... not getting root! Error
By the way, PS#2 of the simple method says: Command "Mount ro/rw" for directory /system (partition) - works perfectly!
Is that a command I have to execute in ADB for the simple method to work at all?
One of the Droid razor maxx easy root works.
Sent from my Nexus 4
Got it fixed
myturbo1 said:
One of the Droid razor maxx easy root works.
Sent from my Nexus 4
Click to expand...
Click to collapse
Thanks for the reply. I got it fixed by reverting to HC, rooting, custom recovery, and then flashing Kebbersrom Shellshock.
WVHdls1 said:
Thanks for the reply. I got it fixed by reverting to HC, rooting, custom recovery, and then flashing Kebbersrom Shellshock.
Click to expand...
Click to collapse
How do you get back to HC?
Where can i find the HC stock file?
Can you post (link/file) please?
I have the same problem to root my a100 with ics stock :silly: .
frischeis said:
How do you get back to HC?
Where can i find the HC stock file?
Can you post (link/file) please?
I have the same problem to root my a100 with ics stock :silly: .
Click to expand...
Click to collapse
Are you using the easy root method?
Sent from my Nexus 4 using xda premium
myturbo1 said:
Are you using the easy root method?
Sent from my Nexus 4 using xda premium
Click to expand...
Click to collapse
Yes of course:
When i want to root my device i get this message:
Device connected. Preparation for executing of the main script.
push: tools/su -> /data/local/tmp/su
push: tools/runit.sh -> /data/local/tmp/runit.sh
push: tools/mount.sh -> /data/local/tmp/mount.sh
push: tools/getroot.sh -> /data/local/tmp/getroot.sh
push: tools/delroot.sh -> /data/local/tmp/delroot.sh
push: tools/busybox.sh -> /data/local/tmp/busybox.sh
push: tools/busybox -> /data/local/tmp/busybox
7 files pushed. 0 files skipped.
1452 KB/s (803082 bytes in 0.540s)
Unable to chmod /data/local/tmp/mempodroid: No such file or directory
remote object '/data/local/tmp/mempodroid' does not exist
The file "mempodroid" isn't created!
-
Not getting root!
-
Error!
What is wrong and what can i do?
I have ICS stock rom 4.0.3.
frischeis said:
Yes of course:
When i want to root my device i get this message:
Device connected. Preparation for executing of the main script.
push: tools/su -> /data/local/tmp/su
push: tools/runit.sh -> /data/local/tmp/runit.sh
push: tools/mount.sh -> /data/local/tmp/mount.sh
push: tools/getroot.sh -> /data/local/tmp/getroot.sh
push: tools/delroot.sh -> /data/local/tmp/delroot.sh
push: tools/busybox.sh -> /data/local/tmp/busybox.sh
push: tools/busybox -> /data/local/tmp/busybox
7 files pushed. 0 files skipped.
1452 KB/s (803082 bytes in 0.540s)
Unable to chmod /data/local/tmp/mempodroid: No such file or directory
remote object '/data/local/tmp/mempodroid' does not exist
The file "mempodroid" isn't created!
-
Not getting root!
-
Error!
What is wrong and what can i do?
I have ICS stock rom 4.0.3.
Click to expand...
Click to collapse
From that log it never pushed what its trying to run, may need to push it manually then run the script again.
Tapatalked from my HTC DNA - PAC v22.1.1
frischeis said:
How do you get back to HC?
Where can i find the HC stock file?
Can you post (link/file) please?
I have the same problem to root my a100 with ics stock :silly: .
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=33859034&postcount=20
pio_masaki said:
From that log it never pushed what its trying to run, may need to push it manually then run the script again.
Tapatalked from my HTC DNA - PAC v22.1.1
Click to expand...
Click to collapse
Can you tell me how get it manually rootet please?
Would be very nice and it is my last chance....to root.
Open the script that you run. I did mine in Linux, and I needs root to run, so maybe try running as admin? You can copy and paste the commands from the script into the command prompt once your into your adb directory.
So
Adb push blahblah /blah/blah/blah
Kinda like that pretty simple. Good luck!
Sent from my SPH-L710 using xda app-developers app
I try it on a other pc to root the device with easy root method from ZeroNull :
http://forum.xda-developers.com/showthread.php?t=1531646
So now i have root and works like charm!!!!!!!!!!!!!!
Thanks guys :good: !!