Related
This guide was written to provide more specific information for installation instructions than the OP below.
The Tubuntu installer application will not install the updated kernels for SBK1 devices and the manual procedure in post #2 will tell you what you need to do.
OP for Tubutnu by x3maniac
1. Download the newest “tubuntu v0.x.x” without Prime (system.img) or Ubuntu.img as it is written in the OP.
a. This download contains the application, boot.img file, and basic kernels available at the time of this guide needed for installation. There will be updates for kernels specific to an Ubuntu image as the developer is able to work on them. Check for new downloads and posts.
b. The download also contains drivers and installation for APX mode located using the “Other” tab in the application.
c. This download does NOT contain the Linux operating system nor the Android ROM.2. Extract all the files in “tubuntu v0.x.x” to a Tubuntu folder wherever you wish. 7-Zip is the zip program of choice but any others should work fine.
3. Download Prime ROM [stock hc w/ root](system.img)
a. This download is the system.img that contains a root enabled Android ROM.4. Extract the system.img file from this download.
a. Copy this file to the \images directory. The images directory is a sub folder of the TF-101 Ubuntu Installer application that you extracted in step 2.5. Download the Ubuntu image of your choice.
a. Currently there are 2 Lubuntu downloads. Read the bullets and determine which one you want.6. Extract the image file of this download and place it in the \images directory. Rename this file to ubuntu.img.
7. Open the TF-101 Ubuntu Installer application.
8. Connect your usb cable to the TF-101 and the computer.
a. Shut down the tablet.9. Enter APX mode by holding the volume up button first, then hold the power button until you hear the usb sound from the computer.
a. Your screen will be black and the TF-101 Ubuntu Installer application will light up green and say APX Detected if you correctly entered APX mode.10. Change the dropdown to SBK 1 located directly below the green APX Detected text.
11. Click on the Flash tab.
a. Select Android/Ubuntu and then hit Flash.
b. Android is the primary boot option here.12. You will see an install log in the right of the application. Mine takes about 15 minutes or so but you will know you are finished when you see the Android ROM load as well as the red text APX NOT Detected (in case your screen is off when you come back).
13. Proceed with setting up Android. DO NOT reboot or power off before the initial Android set up is complete.
14. Once completed and you wish to enter Lubuntu, power off the TF-101 and hold down volume down first and then power. You will see your screen say hit volume up in 5 seconds for recovery. Hit volume up within 5 seconds and it should boot your Linux graphical desktop environment.
Instructions for installing new kernels for SBK1.
1. In your Tubuntu installation directories, locate transformer.bct and bootloader.bin.
a. Copy these 2 files to the \bins directory of the Tubuntu installation application.2. Download the updated kernel from the OP.
a. Extract the .img file into the \bins directory of the installation application. You do not need to rename it because the command you enter in step 3 part b indicates the name of the kernel file.3. Open a command prompt to the directory of \bins for the Tubuntu installer application.
a. Type this command and hit enter: wheelie -1 -o 0x300d8011 --bl bootloader.bin -c transformer.bct
b. Type this command and hit enter: nvflash -r --download 6 whatever_the_kernel_filename_is.img
c. The filename is the name of the kernel you extracted and copied into the \bins directory. This name can really be anything so long as the command you enter reflects that filename.4. After the copy completes you will be back at the command prompt.
a. Type this command and hit enter: nvflash -r --go5. Your tablet will reboot after the nvflash mode is exited and depending on your configuration it will boot to Android. Boot to Linux now.
6. Download the supplemental kernel file to the root of your filesystem That is the / directory.
a. Open terminal and type this and press enter: sudo wget http://novaspirit.com/tubuntu/kernel_sup.tar.gz /
b. Then type this command and press enter: sudo tar zxvf /kernel_sup.tar.gz
c. This supplemental is installing modules and drivers to the appropriate locations.
d. Reboot.7. Please understand names of files especially the kernels and updates will change periodically. The commands and methods of extracting have not changed at this point so substitute the appropriate filename and you should be good to go.
For SBK1 devices, the installation of a custom Android ROM using recovery is very similar to updating the kernel instructions in the post above.
Instructions for installing custom ROM's for SBK1 with Lubuntu installed.
1. In your Tubuntu installation directories, locate transformer.bct and bootloader.bin.
a. Copy these 2 files to the \bins directory of the Tubuntu installation application.3. Copy the file cwrrecovery.img to the \bins folder.
a. You should be able to substitute a newer recovery file than what comes with the Tubuntu installation application.2. Download the zip file of the custom Android ROM you wish to install.
a. Copy it to either your Internal SD card or External SD card. Depending on the recovery version you flash you may not be able to use your Internal SD card.3. Open a command prompt to the directory of \bins for the Tubuntu installer application.
a. Type this command and hit enter: wheelie -1 -o 0x300d8011 --bl bootloader.bin -c transformer.bct
b. Type this command and hit enter: nvflash -r --download 5 cwrrecovery(orwhateverfilenameyourrecoveryis).img
c. The filename cwrrecovery.img is the name of the recovery that comes with the installer application. Please substitute appropriately if you are going to flash a different recovery application. You can also use TWRP just use the appropriate .img file name.4. After the copy completes you will be back at the command prompt.
a. Type this command and hit enter: nvflash -r --go5. Your tablet will reboot after the nvflash mode is exited and depending on your configuration it will boot to Android.
a. Now you want to boot to the Android recovery. Do that by powering off the tablet and booting like normal into recovery mode. This should be volume down and power. Hit volume up when prompted to do so. Flash your ROM according to the ROM owner's instructions. I recommend to complete your ROM's installation set up before proceeding to step 6.6. You must now flash your Tubuntu Linux kernel back or you will not be able to boot into Linux. Follow the instructions again from the \bins directory using the command prompt and putting your tablet back into APX mode which is volume up and the power button until the Tubutnu installation application shows green for APX Detected.
a. Type this command and hit enter: wheelie -1 -o 0x300d8011 --bl bootloader.bin -c transformer.bct
b. Type this command and hit enter: nvflash -r --download 5 whatever_the_kernel_filename_is.img
c. Type this command and hit enter: nvflash -r --go7. You should now be back into your Android ROM again. From here simply power off and boot into recovery using volume down and power. Then hit volume up when it says to on the screen. If Linux boots without issue then you have successfully reinstalled your kernel.
I did exactly what's in the post. With Tubuntu 0.4.7, Prime ROM, Lubuntu V1.1-rc1 (12.10) and the *updated kernel 12/10/2012* (without supplements)
But after Android initial boot, I reboot but it doesn't finish booting Android. It stops here:
http://i50.tinypic.com/2zswdw3.jpg
Anything I can do to fix this? Android does boot properly, but Lubuntu doesn't
If anyone knows how to fix this with only Ubuntu (and without Android) then that is fine too..
TomTcom said:
This guide was written to provide more specific information for newcomers.
The Tubuntu installer application will not install the updated kernels for SBK1 devices and the manual procedure in post #2 will tell you what you need to do.
Click to expand...
Click to collapse
sainthout said:
I did exactly what's in the post. With Tubuntu 0.4.7, Prime ROM, Lubuntu V1.1-rc1 (12.10) and the *updated kernel 12/10/2012* (without supplements)
But after Android initial boot, I reboot but it doesn't finish booting Android. It stops here:
http://i50.tinypic.com/2zswdw3.jpg
Anything I can do to fix this? Android does boot properly, but Lubuntu doesn't
If anyone knows how to fix this with only Ubuntu (and without Android) then that is fine too..
Click to expand...
Click to collapse
0.4.7 fixes the issue with sbk1 and you don't have to do it with these instructions anymore.
However I did try the newer kernel and got stuck at the same spot you did using my instructions just before the 0.4.7 was uploaded. Go to the original thread and post the issue there.
Thanks for the quick reply! Will post the issues
Outdated Thread But Valid Information
This thread is now outdated. X3Maniac has updated his Tubuntu installation application (0.4.7) to fix the issues with installing kernels and recoveries for SBK1 devices.
The information in this thread is still valid for behind the scenes and you can still use the wheelie and nvflash as standalone items if you wish to do something with your device outside the scope of the main thread.
Thanks for all the thanks from users!
Found a bug with 0.4.7. It's possible the tab may not reboot into Prime automatically with this version. When the dev has time it will get updated. If it doesn't reboot and the Tubuntu application says everything is done, manually hold power and let it reboot to Prime to finish installation.
question..
TomTcom said:
This guide was written to provide more specific information for newcomers.
The Tubuntu installer application will not install the updated kernels for SBK1 devices and the manual procedure in post #2 will tell you what you need to do.
1. Download the newest “tubuntu v0.x.x” without Prime (system.img) or Ubuntu.img as it is written in the OP.
a. This download contains the application, boot.img file, and basic kernels available at the time of this guide needed for installation. There will be updates for kernels specific to an Ubuntu image as the developer is able to work on them. Check for new downloads and posts.
b. The download also contains drivers and installation for APX mode located using the “Other” tab in the application.
c. This download does NOT contain the Linux operating system nor the Android ROM.2. Extract all the files in “tubuntu v0.x.x” to a Tubuntu folder wherever you wish. 7-Zip is the zip program of choice but any others should work fine.
3. Download Prime ROM [stock hc w/ root](system.img)
a. This download is the system.img that contains a root enabled Android ROM.4. Extract the system.img file from this download.
a. Copy this file to the \images directory. The images directory is a sub folder of the TF-101 Ubuntu Installer application that you extracted in step 2.5. Download the Ubuntu image of your choice.
a. Currently there are 2 Lubuntu downloads. Read the bullets and determine which one you want.6. Extract the image file of this download and place it in the \images directory. Rename this file to ubuntu.img.
7. Open the TF-101 Ubuntu Installer application.
8. Connect your usb cable to the TF-101 and the computer.
a. Shut down the tablet.9. Enter APX mode by holding the volume up button first, then hold the power button until you hear the usb sound from the computer.
a. Your screen will be black and the TF-101 Ubuntu Installer application will light up green and say APX Detected if you correctly entered APX mode.10. Change the dropdown to SBK 1 located directly below the green APX Detected text.
11. Click on the Flash tab.
a. Select Android/Ubuntu and then hit Flash.
b. Android is the primary boot option here.12. You will see an install log in the right of the application. Mine takes about 15 minutes or so but you will know you are finished when you see the Android ROM load as well as the red text APX NOT Detected (in case your screen is off when you come back).
13. Proceed with setting up Android. DO NOT reboot or power off before the initial Android set up is complete.
14. Once completed and you wish to enter Lubuntu, power off the TF-101 and hold down volume down first and then power. You will see your screen say hit volume up in 5 seconds for recovery. Hit volume up within 5 seconds and it should boot your Linux graphical desktop environment.
Click to expand...
Click to collapse
i just succeeded dual booting into ubunto.the prime rom just booted...can i install eos jb rom and still dual boot to ubuntu? thanks in advanced
Yes you can. You will need an updated recovery .img file that supports jb. You temporarily flash the new recovery boot into it then install the new rom. See my post on installing updated android roms. Its the third one I think.
oh sorry for the silly question,,i got it now thanks a lot.. nice job
Hi there,
First off, thanks for the tutorial and hard work!
I've been able to successfully install Lubuntu v1.2 and Lubuntu V1.1-rc1 but I've run into issues with both that I'm hoping you can help me with.
When I installed v1.2, my wireless adapter didn't work and I wasn't able to copy any files (kept saying I was out of space, probably a mounting issue).
When I installed v1.1-rc1, things seemed to work well (wireless worked) but when I tried to upgrade the kernel to 3.1 following the instructions, my mouse pad stopped working and so did my wireless adapter again. I saw that there is a way to fix the mouse pad but it seemed to require an internet connection. Any idea what I did wrong or how to fix the wireless on either v1.2 or on v1.1-rc1 with the 3.1 kernel?
Thanks!
You're welcome.
To solve the space issue, open terminal and execute this command: sudo resize2fs /dev/mmcblk0p8
The wireless adapter isn't working because the 3.1 kernel is not stable. Do Not Use It.
Get this from the OP:
Kernels
#470 Controlling your CPU for stability
Stable kernels (use with care for OC version)
[extreme]
2.6.36 - [cpu 1.6 ghz] [gpu 400mhz] - download
benchmarks - blowfish score 30
glxgear - 70 fps
Then get the supplement from the OP:
kernel supplement - 2.6.36.4-1210.zip
extract and copy the kernel suppliment to /lib/modules/
TomTcom said:
You're welcome.
To solve the space issue, open terminal and execute this command: sudo resize2fs /dev/mmcblk0p8
The wireless adapter isn't working because the 3.1 kernel is not stable. Do Not Use It.
Get this from the OP:
Kernels
#470 Controlling your CPU for stability
Stable kernels (use with care for OC version)
[extreme]
2.6.36 - [cpu 1.6 ghz] [gpu 400mhz] - download
benchmarks - blowfish score 30
glxgear - 70 fps
Then get the supplement from the OP:
kernel supplement - 2.6.36.4-1210.zip
extract and copy the kernel suppliment to /lib/modules/
Click to expand...
Click to collapse
Awesome, works like a charm. Thanks again!
Not sure if I'm the only one experiencing this, but every now and again whenever i click anywhere it thinks I'm trying to move a file (shows the little file icon when I move the mouse). Is this a known bug or just something in my settings I need to change?
Thanks!
---------- Post added at 12:40 PM ---------- Previous post was at 12:19 PM ----------
I also just found that my sound stopped working. It was working before when I used the instructions from the original post (using alsamixer) but I guess somewhere along the way of me messing around I broke it. Here is the error output when I try to play an mp3 in mplayer:
Code:
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:108, function pa_mutex_unlock(). Aborting.
MPlayer interrupted by signal 6 in module: ao2_init
I've tried searching for a solution but still no luck. I've also tried other players and they don't work either. Any help would be greatly appreciated.
Thanks!
Treizy said:
Not sure if I'm the only one experiencing this, but every now and again whenever i click anywhere it thinks I'm trying to move a file (shows the little file icon when I move the mouse). Is this a known bug or just something in my settings I need to change?
Thanks!
---------- Post added at 12:40 PM ---------- Previous post was at 12:19 PM ----------
I also just found that my sound stopped working. It was working before when I used the instructions from the original post (using alsamixer) but I guess somewhere along the way of me messing around I broke it. Here is the error output when I try to play an mp3 in mplayer:
Code:
==========================================================================
Requested audio codec family [mpg123] (afm=mpg123) not available.
Enable it at compilation.
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 128.0 kbit/4.54% (ratio: 16000->352800)
Selected audio codec: [ffmp3float] afm: ffmpeg (FFmpeg MPEG layer-3 audio)
==========================================================================
Assertion 'pthread_mutex_unlock(&m->mutex) == 0' failed at pulsecore/mutex-posix.c:108, function pa_mutex_unlock(). Aborting.
MPlayer interrupted by signal 6 in module: ao2_init
I've tried searching for a solution but still no luck. I've also tried other players and they don't work either. Any help would be greatly appreciated.
Thanks!
Click to expand...
Click to collapse
See KingZaks post for sound settings. It's in the op and his signature.
The clicking shouldn't do that every time. Did you extract the supplemental zip and are you using the 1.2-1.6ghz kernels?
Hmm, I'm thinking of installing fresh to see if things get fixed. Is there a way to do that without touching the Android partition? I don't want to have to reflash EOS and what not. Do I just not include the Prime img in the images folder?
Thanks!
A Terribly Confused Noob!
Hello:
I am terribly confused and I hope that someone can help me to understand a few things! I am sorry if I don't understand all the links but they seem to go round and round. Right no I have no less that 25 tabs open trying to figure out the first step.
So, to my first question (probably the first of many): This guide was written to help "newcomers", of which I am definitely one. But, right under that statement comes the statement "The Tubuntu installer application will not install the updated kernels for SBK1 devices and the manual procedure in post #2 will tell you what you need to do." Does that mean I'm actually supposed to start at Post #2? But Post #2 assumes I already have "Tubuntu installation directories", which I don't have so I can't locate the two files.
I am attempting to be a user of Ubuntu on my Transformer, not a developer - I take my hat off to all of you that have put your Transformers in harm's way developing the techniques and software that I want to use, but the instructions are terribly confusing for someone not familiar with all of the terms!
Any help would be most appreciated and I thank you in advance.
Sparky
TheArtfulDodger said:
Hello:
I am terribly confused and I hope that someone can help me to understand a few things! I am sorry if I don't understand all the links but they seem to go round and round. Right no I have no less that 25 tabs open trying to figure out the first step.
So, to my first question (probably the first of many): This guide was written to help "newcomers", of which I am definitely one. But, right under that statement comes the statement "The Tubuntu installer application will not install the updated kernels for SBK1 devices and the manual procedure in post #2 will tell you what you need to do." Does that mean I'm actually supposed to start at Post #2? But Post #2 assumes I already have "Tubuntu installation directories", which I don't have so I can't locate the two files.
I am attempting to be a user of Ubuntu on my Transformer, not a developer - I take my hat off to all of you that have put your Transformers in harm's way developing the techniques and software that I want to use, but the instructions are terribly confusing for someone not familiar with all of the terms!
Any help would be most appreciated and I thank you in advance.
Sparky
Click to expand...
Click to collapse
Hey Sparky, there's no more active development on this just so you are aware. That means you can make your own images for newer Linux builds if you wish but things such as hardware acceleration and kernels will not be updated.
In step 1 of my guide you are going to the OP link by the dev who made the Windows based Tubuntu application.
Go to where you see these links:
tubuntu v0.4.7 [1mb] Executable ONLY - download v0.4.2b and replace the tubuntu.exe with this one
download v0.4.7 (jan, 3 2013)
tubuntu v0.4.6beta [1mb] Executable ONLY - download v0.4.2b and replace the tubuntu.exe with this one
download v0.4.6b (dec, 10 2012)
tubuntu v0.4.2beta [78mb] without Prime(system.img) or ubuntu.img
download v0.4.2b (dec, 7 2012)
tubuntu v0.3alpha [57mb] without Prime(system.img) or ubuntu.img
download v0.3a
Prime ROM[stock hc w/ root](system.img)
download
Download tubuntu v0.4.2beta (78mb).
Download tubuntu v0.4.7 (1mb).
Extract the files to whatever location on your Windows machine.
The 1mb file is a replacement of tubuntu.exe file. So just copy/paste and overwrite that file on your Windows machine.
Do you know how to put your tablet in APX mode? If not, you open tubuntu.exe (you might need .net 4.0 Microsoft framework to run the tubuntu.exe). With the tablet off and usb connected to your windows machine, hold volume up and power. The application tubuntu.exe should have a green indicator that it's connected. Change the dropdown to sbk1.
From there you can choose how you want to flash, such as android as the default boot and linux as the secondary boot.
Ignore.
Good morning family!
It's my very first time posting in this subforum, but I think this tutorial was actually something needed, since all threads everyone can found while Googling are quite old (like, from the Xperia S times ), and also I'm quite tired of infinite threads like this and this, so...
Today I bring you an extensive and unified guide on how to extract ANY SYSTEM FILE from a FlashTool's Firmware (FTF), whether it's from the userdata.sin or from the system.sin.
Since this is going to be a guide for all OSes, there are some programs you'll need in general,
Latest version available of FlashTools (for SIN dumping purposes).
A reader tool for the extracted image, which can be:
An EXT4 reader / mounter.
An Unyaffs2, if you're using this guide for an old device (like the already mentioned Xperia S, and older).
Some cups of coffee, and lots of patience [IMPORTANT].
But, some of them will be platform specific, so the thread will split in:
2nd post: WINDOWS
3rd post: LINUX
4th post: OSX
Here you've a video tutorial showing the whole process for the 3 OSes:
If you're enjoying it, don't forget to press Thanks button and rate this thread!
WINDOWS GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (WinRAR, 7-Zip, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need to extract it. For doing so, you need this tool, which contains a executable and a cygwin dll.
Extract this .rar contents to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located.
Now, while you're in that folder press the shift key in your keyboard, and while you keep pressing it, right click on a blank space in that folder. In the menu choose Open a Command Prompt here.
To end the proccess, type
Code:
unyaffs2.exe [COLOR="DarkOrchid"]<the-name-of-the-yaffs2>[/COLOR]
Where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image - Linux Reader
There're many many tools to mount a EXT format image in Windows, but in this case, I'll use the Diskinternals Linux Reader, since it's free and it's compatible with all 3 possible formats you can encounter: .ext4/.ext3/.ext2.
Download it from here and install it. (It must be this version, since newer ones are broken.)
Once done, you should be perfectly able to double-click-to-mount the EXT file Flashtools generated without any trouble.
LINUX GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (Ark, Peazip, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need an extra tool to extract it. For doing so, you are going to need the unyaffs2 tool.
You can download a pre-compiled binary from here, or you can compile your own using GCC with the source code, the header and the code below inside a Terminal (Ctrl+Alt+T to open it).
Code:
gcc -o unyaffs unyaffs.c
Once you've a working UnYaffs2 binary, just copy it to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located, and type in a Terminal (Ctrl+Alt+T to open it).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
./unyaffs2 [COLOR="Blue"]<the-name-of-the-yaffs2>[/COLOR]
Where <file-route-of-the-sin> is where the SIN was located, and where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image
Since we're already in Linux, mounting a EXT image is not that hard. Just mount it using this commands in a Terminal (Ctrl+Alt+T to open it).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
mkdir android
sudo mount -t ext[color="RED"]*[/color] -o loop <name-of-the-image> android/
Where <file-route-of-the-sin> is where the SIN was located, where <the-name-of-the-image> you must type the file name of the ext image (e.g. system.ext4), and finally, where ext*, replace * with the version number of the EXT image you're mounting, usually, ext4
Now, once finished, to unmount it, type in a Terminal.
Code:
sudo umount android
rm -fr android
OSX GUIDE
Step 1 - Extract the SIN we need
Using your favourite archive manager (UnRarX, ZipEg, etc), open the FTF you want to extract the files from. (FYI: an FTF is just a Zip file with renamed extension)
Now copy/extract the SIN you want to unpack to a folder of your preference.
Step 2 - Dump the SIN
I'll take into account you already had installed Flashtools and Java JRE, in which case I highly encourage you to update both to the latest version available.
Now, open Flashtools. Click on Tools, Sin Editor. Hit the [...] and locate the SIN you previously extracted. Now, hit the [Extract Data] button. After a couple of minutes the bar should start running.
Once finished, you can have 2 kind of files: a .yaffs2 or a .ext4/.ext3/.ext2 file, which require different procedures on how to see it's contents.
Step 3.a - Convert the file to a readable format - UnYaffs2
If the file you get is a .yaffs2 format file, you're going to need an extra tool to extract it. For doing so, you are going to need the unyaffs2 tool.
You can download a pre-compiled binary from here, or you can install your own using Brew. From a Terminal (Command+Space, then type in Terminal) type the following commands.
Code:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #This is just to Install Brew for the first time. If you already have it, it's not needed.
brew install unyaffs
If you chose using the UnYaffs2 binary, copy it to the very same folder where you placed the SIN, and thus, where the .yaffs2 is located.
If you chose the Brew installation, just continue.
Now, type in a Terminal (Command+Space, then type in Terminal).
Code:
cd [COLOR="DarkOrchid"]<file-route-of-the-sin>[/COLOR]
unyaffs2 [COLOR="Blue"]<the-name-of-the-yaffs2>[/COLOR]
Where <file-route-of-the-sin> is where the SIN was located, and thus, where the yaffs2 file is located; and where <the-name-of-the-yaffs2> you must type the file name of the yaffs2 (e.g. system.yaffs2)
The files will get extracted and you'll be able to pick the ones you need.
Step 3.b - Mount the image - Ext4FUSE
There're many many tools to mount a EXT format image in OSX, but in this case, since we don't need RW access, but just RO, I'll use ext4fuse, since it's free and it's more than compatible with our needs.
To install it you'll need Brew. To get things ready, type the following commands in a Terminal (Command+Space, then type in Terminal).
Code:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null #This is just to Install Brew for the first time. If you already have it, it's not needed.
brew tap homebrew/fuse
brew install Caskroom/cask/osxfuse
brew install ext4fuse
If you're on OSX Yosemite, El Capitan, or Leopard, you may need an extra command to add yourself to the Operator group, so that you can have readonly permissions to the disks.
Use it only if you get an error while trying to access the mounted EXT image later.
Code:
sudo dscl . append /Groups/operator GroupMembership [COLOR="red"]<your-user>[/COLOR]
Where your user <your-user> is your username.
Now, to mount the ext4 image, type in a Terminal (Command+Space, then type in Terminal).
Code:
mkdir android
ext4fuse [COLOR="DarkOrchid"]<path-to-the-ext4-image>[/COLOR] android
Where <path-to-the-ext4-image> you must type in the full path where the SIN was located, and thus, where the EXT4 image is located.
Use this as reference.
Reserved
In case I need it
Great job! Keep up the good work!!
Well. great guide.
Just a note, Microsoft officially released Bash on Ubuntu on Windows yesterday. Try it. It's a full fledged Linux subsystem but unfortunately only available to Windows Insiders. It would be the best alternate to cygwin.
Boot.img
How can i extract the boot.img
or is this applicable to every single .sin file present in the .ftf file
serajr said:
Great job! Keep up the good work!!
Click to expand...
Click to collapse
Thank you, I appreciate your words
mfbcool said:
Well. great guide.
Just a note, Microsoft officially released Bash on Ubuntu on Windows yesterday. Try it. It's a full fledged Linux subsystem but unfortunately only available to Windows Insiders. It would be the best alternate to cygwin.
Click to expand...
Click to collapse
I know, I saw the demonstration in the //build/, but since it hasn't been released for all yet (I guess it'll be for Redstone 2?), I didn't saw it necessary to be included.
sandeep.sethi said:
How can i extract the boot.img
or is this applicable to every single .sin file present in the .ftf file
Click to expand...
Click to collapse
No, this is only applicable for system.sin, userdata.sin, cache.sin and probably modem.sin.
However, if many of you request it, I could try making another for the kernel (boot.img)... But remember, every device doesn't have the same way/method to unpack the kernel, so making a generic tutorial for all wouldn't be possible
No, this is only applicable for system.sin, userdata.sin, cache.sin and probably modem.sin.
However, if many of you request it, I could try making another for the kernel (boot.img)... But remember, every device doesn't have the same way/method to unpack the kernel, so making a generic tutorial for all wouldn't be possible
Click to expand...
Click to collapse
if u can provide the guide it would be very helpful :fingers-crossed: :fingers-crossed:
This thread got featured in XDA Portal, thank you guys!
I tried extracting Xperia Pro's system SIN (can't remember the exact name but the one with the largest file size) using the latest version of Flashtool but wasn't successful. Like it's not supported yet.
Requirements:
Patched aboot: https://forum.xda-developers.com/lg-k10/how-to/bootloader-unlocked-guys-bootloader-t3558810
TWRP: https://eu.dl.twrp.me/m216/
Python scripts: https://github.com/Lekensteyn/lglaf/archive/master.zip
PyUSB: https://walac.github.io/pyusb/
Instaled python
LINUX
LG UP
Device must be: LG K420ds or LG K420n
Video tutorial: https://www.youtube.com/watch?v=vL14_XPrMzs
Watch with subtitles.
1. Install rom
Download this rom https://lg-firmwares.com/download-file/?fileId=4124
Flash it using LG UP with the refurbish option
2. Unlock Bootloader
Enter into Download Mode
Copy aboot_patched.img into folder with python scripts
Type in terminal "python partitions.py --wipe aboot"
Type in terminal "python partitions.py --restore aboot_patched.img aboot"
Exit from Download Mode and from now your BT is unlocked
3. Install TWRP
Enter into Download Mode
Copy recovery.img into folder with python scripts
Type in terminal "python partitions.py --wipe recovery"
Type in terminal "python partitions.py --restore recovery.img recovery"
Exit from Download Mode and from now your recovery is TWRP
Don't enter to recovery from comand "reboot recovery" because it restore your settings to default
Install SuperSU
Download this file https://s3-us-west-2.amazonaws.com/supersu/download/zip/SuperSU-v2.79-201612051815.zip and copy to sdcard
Enter into Recovery
Enter into "Install"
Choose your zip file
Swipe for install
Thanks to @pvineeth97 for twrp and patched aboot.
Thread with a tool then I use https://forum.xda-developers.com/android/software-hacking/tool-lg-download-mode-laf-t3285946
[6.*] ? It is wrong. The patched aboot is only for 5.1.
Yes, it is but it work on android 6.0
Yeah, you extracted all the things from the LAF link I provided. Great job!
I recomment you to add the original XDA link for more details and extra information for the rest of users.
https://forum.xda-developers.com/android/software-hacking/tool-lg-download-mode-laf-t3285946
A video tutorial would not be bad, so that people do not have problems when executing the tutorial
flamenkito34 said:
A video tutorial would not be bad, so that people do not have problems when executing the tutorial
Click to expand...
Click to collapse
Instructions are simple buddy! Just follow them.
pvineeth97 said:
Instructions are simple buddy! Just follow them.
Click to expand...
Click to collapse
Well clear, they are not where we put aboot_parched.img and Twrp.img.
Enviado desde mi LG-K420 mediante Tapatalk
flamenkito34 said:
Well clear, they are not where we put aboot_parched.img and Twrp.img.
Enviado desde mi LG-K420 mediante Tapatalk
Click to expand...
Click to collapse
I added information into guide where copy aboot.img and recovery.img file
Well I try and tell me that quw python is not an executable command, it makes the tutorials to facilitate the work to other users, now if you put this is what it takes and you can look for life, it's like having a cough and scratching The eggs, no good
Enviado desde mi LG-K420 mediante Tapatalk
TWRP Backup!
Somebody please share your TWRP backup of system and boot partitions.
Marshmallow offcourse!
Use TWRP Manager from GooglePlay.
Than i will be able to work with it.
Don't want to waist my time to make work python.
And many other users will appreciate it!
D_Vovan_238 said:
Somebody please share your TWRP backup of system and boot partitions.
Marshmallow offcourse!
Use TWRP Manager from GooglePlay.
Than i will be able to work with it.
Don't want to waist my time to make work python.
And many other users will appreciate it!
Click to expand...
Click to collapse
I have LP's backup if you want
Thanks
Ajshal said:
I have LP's backup if you want
Click to expand...
Click to collapse
Thanks but I also have it ?
I need MarshMallow System backup, not LolliPop.
D_Vovan_238 said:
Thanks but I also have it ?
I need MarshMallow System backup, not LolliPop.
Click to expand...
Click to collapse
Ok cheers mate!
hey..
some things you should add to this guide...
How to enter download Mode: Plug In usb cable while holding volume up
*5. python, libusb etc. all installed at stock ubuntu 15.04
*6. Ubuntu 15.04 this os has everything needed in this guide onboard
create live usb usb stick with this tool and this guide
choose install ubuntu and follopw the next steps
how to set up lg up for k10 420n
Important Info: Reboot Phone (into Download Mode) after Bootloader unlock ... the video tutorial doesnt work on my phone ... Im tryed it like in the video .. dont work
How to enter Twrp:
1. Press and hold Volume Down + Power untill you see the lg logo ..
2. at the first lg logo : release volume down and power, and press volume down and power again quickly
3.confirm factory reset ... If twrp correct installed it doesnt wipe your phone
greetings martin
When I typing console commands on linux PC dont see my phone
szymm3 said:
When I typing console commands on linux PC dont see my phone
Click to expand...
Click to collapse
1. Connect phone in download mode
2. *** under linux *** theres no feedback (download mode) that the phone is connected... (Make sure that python and some other packages are installed) see my post with ubuntu
3.open terminal in folder where you placed aboot_patched.img and recovery.img (twrp)
4. Type sudo -s in terminal... Confirm.
5. Type the commands from first page or the tutorial .. I recommend to make a screenshot ...
6. When entering commands you only will see a "feedback" that your phone is correct connected... You see... Only a cryptic message that a file or partition is changed witg trim etc...
I type:
python partitions.py --wipe aboot
and this is output:
Traceback (most recent call last):
File "partitions.py", line 276, in <module>
main()
File "partitions.py", line 248, in main
comm = lglaf.autodetect_device()
File "/home/szymm3/Pobrane/lglaf-master/lglaf.py", line 318, in autodetect_device
return USBCommunication()
File "/home/szymm3/Pobrane/lglaf-master/lglaf.py", line 206, in __init__
raise RuntimeError("USB device not found")
RuntimeError: USB device not found
Phone is lg k10 (k420ds/n?)
Do you have ubuntu / linux installed or do you using live system (try ubuntu)
Little guide to install ubuntu even on a extern hard disk, usb stick , etc.
1. Boot live usb stick or dvd/cd
2.choose try ubuntu
3. Open gparted (search or download it)
4. Choose your device where linux / ubuntu should be installed
5. I recommend to use a empty disk... Delete the main partition
6. Create follow partitions :
Extended ... Select the whole disk
/ ext4 minimum 10-15gb
Logical
Linux swap ...size: Ca. 20% more then installed ram
/home ext4 size you want ...
Logical
Click here for a guide
7.click apply at gparted
8. Reboot to live usb stick
9. Choose install ubuntu
10. When asked where ubuntu should be installed click something else ... Or what you at the last option
****bootloader installation device****
Choose your device not a partition ...
Example. Dev/sdxyz/your harddisk ... Not
Dev/sdx1
11. You now see your installed / pluged devices /hard disk
12.select your device... There now are your prepared partitions ... Choose your / partition.. Click change ... Now choose as mount ... /
13. Install
click here for more infos
dont know how to show this in english
In the live system there are some tools and packages not installed... Seems like there is an issue with pyusb ...
Check... Python status ... Type
ls /usr/bin | grep python .... There should be now pop up some lines1 with python version installed
Now type in terminal
apt-cache policy libusb-1.0
One of the now showed version has to be installed....
If both packages are installed correct... Make sure pyusb is installed ... (As i post above ... Ubuntu 15.04 has both installed
Install python :
Open terminal in pyusb folder...where setup.py is placed
Type
Sudo python setup.py install
Now pyusb should be installed correct....
These are the requirements to use this guide..
If you received more issues .. Just write... But after i do all steps above it worked...
- martin
ps now im off for some hours... repair 260 hp car and ride with my simson moped yeeeeeeha
When im have the time too .. Im write a detailed guide
I have lg k10 k420n
Im using Ubuntu and when i made every step from this instruction I still have the same error
dom133 said:
Requirements:
Patched aboot: https://forum.xda-developers.com/lg-k10/how-to/bootloader-unlocked-guys-bootloader-t3558810
TWRP: https://eu.dl.twrp.me/m216/
Python scripts: https://github.com/Lekensteyn/lglaf/archive/master.zip
PyUSB: https://walac.github.io/pyusb/
Instaled python
LINUX
LG UP
Device must be: LG K420ds or LG K420n
Video tutorial:
Watch with subtitles.
1. Install rom
Download this rom https://lg-firmwares.com/download-file/?fileId=4124
Flash it using LG UP with the refurbish option
2. Unlock Bootloader
Enter into Download Mode
Copy aboot_patched.img into folder with python scripts
Type in terminal "python partitions.py --wipe aboot"
Type in terminal "python partitions.py --restore aboot_patched.img aboot"
Exit from Download Mode and from now your BT is unlocked
3. Install TWRP
Enter into Download Mode
Copy recovery.img into folder with python scripts
Type in terminal "python partitions.py --wipe recovery"
Type in terminal "python partitions.py --restore recovery.img recovery"
Exit from Download Mode and from now your recovery is TWRP
Don't enter to recovery from comand "reboot recovery" because it restore your settings to default
Install SuperSU
Download this file https://s3-us-west-2.amazonaws.com/supersu/download/zip/SuperSU-v2.79-201612051815.zip and copy to sdcard
Enter into Recovery
Enter into "Install"
Choose your zip file
Swipe for install
Thanks to @pvineeth97 for twrp and patched aboot.
Thread with a tool then I use https://forum.xda-developers.com/android/software-hacking/tool-lg-download-mode-laf-t3285946
Click to expand...
Click to collapse
______________________________________
Is Flashing the above Rom Necessary?
I already have 5.1.1 Qualcomm but the security patch is Jan 2017.
I want to do it, without flashing.. will it work?
Any Suggestions..?
--------------------------------------------------------------
So there's threads about how to unpack UPDATE.APP on windows/PC/OS X so i decided why not do it on android too, this apps requires some additional tools to be downloaded just as OS X/Windows and linux needs as well. but process is otherwise similar. this tutorial doesn't need root!
NOTE THIS TUTORIAL isn't fully working on OREO on Huawei devices, it has some issues and i haven't found a workaround for it yet!
Needed apps
Termux https://play.google.com/store/apps/details?id=com.termux
Recommended apps
Hacker keyboard
Needed files
https://github.com/atarii/split_updata.pl/blob/master/splitupdate
@Atarii 's modification of splitupdate to manually enter the partitions you want to unpack
The desired FW you wan't to unpack
Unpack process:
Download Termux
Open termux and type
termux-setup-storage This will allow termux to access your /sdcard
pkg install perl (this will install perl which the update.app process is using) once asked press y and enter.
copy the downloaded files to root of your SDCARD *We keep this simple*
Once copied type: cd storage
perl splitupdate UPDATE.APP partitionyouwanttoextract if everything goes well you should be good to go and having the selected files in a folder called output where selected files should be stored.
The unpack tutorial is done. But wait! If you want to browse the files you need to do one more thing or two.
Download android image kitchen
https://play.google.com/store/apps/details?id=com.redlee90.imagekitchenforandroid
This will allow you to *unpack boot/recovery and convert system image (also vendor, product, cust and version)
*in order to unpack a boot or recovery file you'll need to remove all code using a hex edit file until you see ANDROID text. Else it won't unpack. You can unpack aosp images easily with this tool and modify what you want and repack to flash it on your device tested with twrp image for honor 8.
I would suggest to not unpack/repack boot using this tool since it'll cause problem.
There's a python script that works to unpack boot and recovery which can be found https://github.com/liudongmiao/bootimg/blob/master/bootimg.py
For this you'll need to install python.
pkg install python and hit y and enter
Now you just do as the splitupdate part where you extract the file.
Command to unpack
python bootimg.py --unpack-bootimg similar is for ramdisk but you replace bootimg with ramdisk.
To repack just simply python bootimg.py --repack-bootimg
Please note if you repack ramdisk the boot might not work (it's a while since I tested this) now this covers up how you unpack boot and extract update.app from phone.
Credits to @Atarii for telling how to unpack boot on phone and for his custom splipupdate script
Sent from my FRD-L09 using Tapatalk
Known Issues:
If you get Killed when trying to extract system.img this is most likely because the image size is too big, this isn't due to small space available i guess its due to all ram is being taken yet i can't tell.
i get permission issues. yeah this can happen sometimes try chmod +x or chmod 0777 with root, it might help.
when typing termux-setup-storage i get lots of errors and i'm on 8.0 EMUI
This is not your fault it's a bug caused by android i'd guess, or app isn't adopted completely for 8.0
Some OEMs violating GPL licenses and won't publish linux kernel sources for their Android devices.
On this post I’ll explain how to port kernel source to any android device.
Maybe you can port kernel sources to other SoCs with similiar ways but I've explained qcom way.
What do we need ?
A Computer which has Linux or Mac installation.
Device to test.
Let’s Start, Shall we ?
First of all we need to take dmesg of stock kernel using adb shell dmesg > dmesg.txt command. (I recommend you to take it while device is booting)
You got dmesg ? Nice. Open it with any text editor and search for “hardware” or “machine” and note the result to somewhere. By doing this we’ll get the name of device-tree-blobs.
Download android image kitchen and extract it to somewhere.
Now hold and move your device’s stock boot.img to unpackimg.(bat/sh)
Now your stock kernel got extracted to split_img/boot.img-zImage. After this line I will referance this file as “stock kernel”
Fetch split-appended-dtb using git clone https://github.com/MacTavishAO/split-appended-dtb-mac command. We’ll use this tool to extract dtb from stock kernel.
Copy stock kernel to split-appended-dtb-mac folder.
Now we will extract dtb(device-tree-blobs) from stock kernel. If you are on Linux use ./split-appended-dtb boot.img-zImage command for Mac use ./split-appended-dtb-mac boot.img-zImage command.
Now we have bunch of files named dtbdump_xx.dtb. We have to find out which one our device uses. Use grep -r <machine name that we found at step 2> . to find out which dtb our device using. (Write different parts of machine name to find out)
Install dtc using apt install device-tree-compiler command.
Let’s say it turns out dtbdump_21.dtb is the right one. We have to decompile dtb file to dts using dtc -I dtb -O dts -o extracted.dts dtbdump_21.dtb command.
Now we have to extract defconfig from stock kernel.
Use wget https://github.com/torvalds/linux/raw/master/scripts/extract-ikconfig && chmod a+x extract-ikconfig command to download necessary tool.
Use ./extract-ikconfig boot.img-zImage > extracted_defconfig to get defconfig from stock kernel.
Now we got what we need, we need to download kernel source to start porting to our device.
After this point I’ll start to explain as porting to Qualcomm device but almost same on other system-on-chips.
Go to Settings -> About Phone -> and note “Kernel version”
We need to download soc manufacturer’s sources. From here find msm-X.X that matching with your phone and copy link of it.
And from here find tag matching your chipset and write it down somewhere.
Use git clone <sources from 2 steps up> -b <tag>
Now enter to msm-X.X folder.
Copy extracted_defconfig to arch/<your device's architecture>/configs/ folder.
If your device is arm64 copy extracted.dts to arch/arm64/boot/dts/qcom/ if this directory doesn’t exist copy to arch/arm/boot/dts/qcom/ folder. (If you have 3.x qcom device skip the arm64 part and copy it directly into arm)
Open “Makefile” file in arch/arm(64)/boot/dts/qcom/ and add extracted.dts to the line matching with your chipset.
It’s time to import drivers. After this step I cannot help you because every devices’ hardware isn’t same but I can give some tactics.
To get driver names you can read dts file or install any device info app from Google Play Store etc.
Search these names and GitHub you can find files and commits which will help you to add drivers.
You did all of these without my help ? Excellent! Now it’s time to build kernel. I suggest you to use @natchanchance 's kernel compilation guide.
After compiling kernel. Copy compiled kernel to split_img folder which mentioned at early of this tutorial. rename it to boot.img-zImage and double click repackimg.(bat.sh) and you have new file named image-new.img.
Boot it using fastboot boot image-new.img command and if everything is working you can use fastboot flash boot image-new.img to use it permanently.
Leave a comment here about your questions. I'll try to reply all of them.
Planned to make a guide video about it but I don't have much time. Keep checking this thread may I post soon.
Reserved
Reserved.
Reserved
Thanks Dude!
This is very useful guide especially fir those who want to port the kernel source.
Thanks man. I am following your guide.
Thanks ?
While looking for matching dtbdump file I got a match in all four files for PMI8996, which file should I use?
"We have to decompile dtb file to dts using dtc" stuck at this step.
Any help on which "App" to use to find driver names..
Thanks
CPUZ / AIDA64
ataberkozen said:
It’s time to import drivers. After this step I cannot help you because every devices’ hardware isn’t same but I can give some tactics.
To get driver names you can read dts file or install any device info app from Google Play Store etc.
Search these names and GitHub you can find files and commits which will help you to add drivers.
Click to expand...
Click to collapse
I've found another way to find hardware info using hwinfo tool inside termux. The trick is to use it with root permissions.
Install hwinfo in termux:
Code:
apt-get install hwinfo
Run it with root permission tee into a text file:
Code:
su -c $(which hwinfo) | tee hwinfo.txt