Jhinta Kernel for Lilstevie Ubuntu - Eee Pad Transformer Android Development

Dont have this tap anymore so cant support it anymore !!!
I do things manual as i want to know what has be done !
So every thing below is hardcore installation. This will give you the why and know how of things !!!
About bootimg.cfg
This file is need for creating boot.img
You can find it by unpacking a boot.img,but one is provided already.
The important part of this file is the first and last option.
The first one will say how big the image wil be, and the last is kernel cmdline.
This is also wehre you say loop= for a loop file
Pack or unpack blob files
Code:
cd /tmp
git clone git://github.com/AndroidRoot/BlobTools.git
cd BlobTools
make -j2
sudo cp blobpack /usr/bin/
sudo cp blobunpack /usr/bin/
cd ~
Unpack a boot.img
We create a folder and place a boot.img in it.
Code:
mkdir ~/test
cd ~/test
abootimg -x boot.img
Unpacking a initrd image
Code:
cd ~/test
mkdir ramdisk
cd ramdisk
gzip -dc ../initrd.img | cpio -i
Now you will have a directory with the ramdisk source files in ~/test/ramdisk
to repack it, run
Code:
cd ~/test/ramdisk
find . | cpio -o -H newc | gzip > ../new-initrd.img
for gzip
Code:
find . | cpio -H newc -o | lzma -c > ../initram.lzm
for lzma
This will give you a new-initrd.img file in ~/test/ for you to use............versions<
Go to the folder and select ALL file or folder BUT source and build !!!!
And compres it file wel be made in home.
modules are install in ubuntu in /lib/modules/
About kernel and initrd and boot.img and blob
Kernel = basic hardware installations and setup
initrd = like a ramdisk
boot.img = kernel + initrd
blob = boot.img + TF special header
Blob file you find in cwm.zip like a kernel update for android
boot.img you will find when using nvflash
kernel gets compiled from a git or source
initrd you can make your own or reuse
i will create cwm.zip to do the flashing
To do this i do.
Code:
mkdir ~/test
cd ~/test
cp ~/TF101-GNU-kernel/arch/arm/boot/zImage ~/test/zImage
abootimg --create ./ubuntu.img -f ./bootimg.cfg -k ./zImage -r ./initrd.img
This will give me a ubuntu.img ready for nvflash but i want cwm.
so i do
Code:
./blobpack kernelblob LNX ubuntu.img
(LNX is boot partition dont change this unless you know what your doing)
Now i got a new file kernelblob that i can add to a cmw.zip file
To do this , open !!!! the cmw.zip below and remove and add the file kernelblob.
Thats it, and ready for flashing.
Rootfs
You sould be able to use any rootfs that is for arm.
you can also build a rootfs with rootstock
keep in mind a rootfs kan have diffrent types of names like ( rootfs.img.ext234 or ubuntu,dabian,linux.img.ext234 or evrey name you want it to be its just a name+ext)
If you want to relock it for oem-config ( nice first setup like name location keyboard setup) do
Code:
touch /var/lib/oem-config/run
Ubuntu
Kbuntu
XBMX
So how do we even flash ?
I use nvflash directly or cwm
The easy why is just using Olife.
Keep in mind that i will never use uboot , only original bootloader of android.
So dualboot is what you need.
if you have dualboot flashed, do this.
Replaced (backup!) initrd-2.6.38.img and 2638-zImage in the kernel folder with my files,
and in Olife update your chromium kernel.
For those that want to use a loop file
Just flash this zip file
And copy the rootfs to sdcard (nand) /sdcard/linux/ubuntu.img (more will come, thats why linux/ubuntu.img)
Wifi setup
Wifi simply needs 2 files and you can get them from android space -> then copy them to Ubuntu space to /lib/firmware/
/data/misc/wifi/nvram.txt -> /lib/firmware
/data/misc/wifi/wpa_supplicant.conf -> /etc/wpa_supplicant.conf #optional
just use a root exploror to copy them to sdcard or usb ( this can alo be done when your in Ubuntu space (/system = mmcblk0p1, /data = mmcblk0p7))
and put them on the right place for Ubuntu.
Bluetooth setup
There are 3 file needed from android space, to get this,
Enable bluetooth
Rename you bluetooth name to what ever you want ( once in Ubuntu you cant change this !!!! )
Leave it on !! and boot to Ubuntu
/data/misc/bluetooth/{bcm4329.hcd,mac.txt} -> /lib/firmware
brcm_patchram_plus (lives on the net) -> /usr/sbin/brcm_patchram_plus (already in)
As last edit /etc/init.d/bsp-tf101 and correct your mac adress --bd_addr ***** (replac *** with mac !!!, mac is located in mac.txt)
.
Code:
#! /bin/sh
do_stop(){
#look if Board Support Package is already running
PS=$(ps -A | grep " brcm_patchram_plus\>")
if [ -n "$PS" ]; then
echo "* Stoping Bluetooth Support Package..."
killall brcm_patchram_plus
fi
}
do_start(){
#if already started then stop first
do_stop
#now start all board support binaries
echo "* Starting Bluetooth Support Deamon..."
rfkill unblock 0
modprobe bcm4329
/usr/sbin/brcm_patchram_plus --enable_hci --baudrate 921600 --bd_addr ***** --patchram /lib/firmware/bcm4329.hcd /dev/ttyHS2&
# making sure the nvtegra dev nodes have the correct permissions
echo "* Setting correct permissions on nvtegra device nodes..."
chmod 0666 /dev/nv* /dev/tegra_*
}
case $1 in
start | restart)
do_start
;;
stop)
do_stop
;;
esac
and reboot and your done.
Installing Tegra HEADER files ( needed when building things like XBMC )
Copy as root all folder to /usr/include/
Installing Opengl-ES
Download the Tegra drivers from Nvidia
Once downloaded unpack it and open a cmdline and go to that direction Where those files are and type,
Code:
sudo ./app*.sh --help
-r = your root directeroy whey you want to install this
--abi = witch version of abi your running, to get you version run in ubuntu on TF
Code:
aptitude show xserver-xorg-core | grep abi
So when running this directy on the TF in Ubuntu you wil get this
Code:
sudo ./app*.sh --abi 10 -r /
Get audio working
Code:
sudo usermod -a -G audio
sudo chmod -R 777 /dev/snd/*
Then open alsamixer and enable
playback
Left And Right speaker mixer DACL/R
Set DC input to DMIC
And sound sould work right away.
Install zram
Code:
sudo wget -O /etc/init/zramswap.conf 'https://wiki.ubuntu.com/ARM/TEGRA/AC100?action=AttachFile&do=get&target=zramswap.conf'
Installing XBMC
sudo apt-get install (try installing all dependencies you can in the readme.ubuntu in xbmc folder , some will fail so just remove them) )
Code:
cd ~
git clone git clone git://github.com/xbmc/xbmc.git
cd xbmc
./bootstrap
./configure --enable-tegra --enable-gles --disable-openmax --disable-vdpau --disable-hal --disable-joystick --disable-debug --disable-dvdcss
make -j2
sudo make install
sudo apt-get install libgl1-mesa-swrast
Loop or native parition
in your config (dualboot.cfg)
You kernel cmdline would be
( if you have native root=/dev/mmblk0p8 rw.........)
( for loop support you add loop= ( location of file !!! + root= (the partition where the file is located !!)
root=/dev/mmcblk0p7 rw loop=/xxx/xxx
Default Kernel
files
Support
hdmi ( audio ? )
USB ( full working )
jack ( mic ? )
Opengl-ES
zram ( needs script also a most have beacuse of low ram space )
-more to come
Sources
kernel
Khronos header package
Tegra Opengl-ES drivers
Blobtools
THANKS TO:

Jhinta said:
Supports..
Code:
OpenGL-ES
zram
Wifi
Bluetooth
FB -> half working no txt output
HDMI fully supported
Kexec enabled , dont know if its even working
Not working !!!
Sound
Touchpad
If you want to use this make sure the 3D driver are installed ( no FB !!! ), so install them first !!!!
And add the modules to you rootfs.
And keep in mind unity does not have gles support yet ( kde sould but didnt tryed it yet )
Download
Kernel
Modules
Source
make sound hardware pupup , still no sound
sudo usermod -a -G audio <your username here>
sudo chmod -R 777 /dev/snd/*
Click to expand...
Click to collapse
I will give this a shot tonight and let you know how it goes.
I'm sorry if this is a stupid question but what is FB? I tried searching on the forum and online but the only reference I could find was facebook.

could you use git, or post a .patch for the framebuffer patch because there is no way I am going to spend ages downloading the kernel source from 2shared then having to try and find WTF you did

Ke1evraTi: It just means the framebuffer which is the base graphics support under linux. Basically since it does not work, you won't see much until the X11 drivers kicks in.
lilstevie: Pulling the original kernel from Asus was way slower than 2shared. Also creating the patch was quick. Only a few hundred lines to skim. I have attached it for you or anyone else who is interested. If my diff options do not suit your fancy, kindly suggest different ones and I will re-post.

lilstevie said:
could you use git, or post a .patch for the framebuffer patch because there is no way I am going to spend ages downloading the kernel source from 2shared then having to try and find WTF you did
Click to expand...
Click to collapse
Sorry m8 i didnt had any sleep last two day's i was broke when i uploaded it , was easy for me fast upload thats why. but looking add the path above that sould do it if not ill will send a patch.
? any one tested already?

download link
I coldn't use the download link, the host gives error like "Gateway Timeout". Can you check it please, is it me or the host?

dismis said:
I coldn't use the download link, the host gives error like "Gateway Timeout". Can you check it please, is it me or the host?
Click to expand...
Click to collapse
The server is currently down for maintenance and will be back up in the next few hours
All done now

lilstevie said:
The server is currently down for maintenance and will be back up in the next few hours
All done now
Click to expand...
Click to collapse
lil , look on nvidia git , tty fix maby? i'm add work cant do anything.

Ok. I am running ubuntu on a sbk2 tf101 using the method posted by jozka.1 how do i apply the new kernels like the on posted here to that install? i know that this is a total noob question but i want to try it on my unit. I know that it says that the video acceleration does not work on unity but should work on kde. will it work on gnome?
Sent from my Transformer TF101 using XDA Premium HD app

Sorry, kernel isn't working for me. I installed the latest linux4tegra driver package, added the modules folder posted to /lib/modules and flashed the kernel through CWM, but the GUI fails to load and running startx from the command line does nothing. I'm not sure if this was my mistake, but the modules posted were for the 2.6.39.4 kernel and Jhinta posted a 2.6.36.4 kernel. Where did I mess up?

MrMuffin24 said:
Sorry, kernel isn't working for me. I installed the latest linux4tegra driver package, added the modules folder posted to /lib/modules and flashed the kernel through CWM, but the GUI fails to load and running startx from the command line does nothing. I'm not sure if this was my mistake, but the modules posted were for the 2.6.39.4 kernel and Jhinta posted a 2.6.36.4 kernel. Where did I mess up?
Click to expand...
Click to collapse
ore you flashed the wrong zip file ore the flashes didnt install make sure after cwm you see the blue line going meening its flashing the blob

Yep definitely the right kernel and I did see the blue line afterwards. Just to make sure that I've done this right, so I:
-download linux4tegra package, run: sudo <path-to>/apply_binaries.sh --root /
-run: sudo cp -r <path-to>/2.6.39.4/ /lib/modules/
-reboot to CWM, flash Ubuntu-3D.zip
-reboot.

MrMuffin24 said:
Yep definitely the right kernel and I did see the blue line afterwards. Just to make sure that I've done this right, so I:
-download linux4tegra package, run: sudo <path-to>/apply_binaries.sh --root /
-run: sudo cp -r <path-to>/2.6.39.4/ /lib/modules/
-reboot to CWM, flash Ubuntu-3D.zip
-reboot.
Click to expand...
Click to collapse
thats it, maby i did send a wrong one , any way here it is

Jhinta said:
thats it, maby i did send a wrong one , any way here it is
Click to expand...
Click to collapse
the latest t4l drivers use the 3.1 kernel, so which version of l4t did you use?

Still no luck with the new kernel posted by Jhinta, with the r12beta drivers installed on a sbkv2 device.
Heres the screen I originally get when I boot:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here's what I get when I run startx:
I'll try it again from scratch, just in case. Let me know if there are any logs or anything you want me to post.

Have you tried maybe sudo depmod -a ? Might fix those module loading issues which could be your problem.

Running lsmod after boot shows that all the modules have loaded. I still get these errors on fully working installs for some reason.

Code:
uname -a
will reveal to you that you are in fact running 2.6.36.4 and not 2.6.39.4 which is jhintas kernel

Proof that I did install Jhinta's kernel:
Results of uname -a:

Look closer
Proof that you did not install Jhinta's kernel:
lilstevie said:
uname -a will reveal to you that you are in fact running ----> 2.6.36.4 <---- and not 2.6.39.4 which is jhintas kernel
Click to expand...
Click to collapse
Results of uname -a:

Related

[Guide] - How to compile the CDMA kernel source and Flash it to your phone (Updated)

You should do a nandroid backup and reboot your phone before trying to flash anything to your phone. This how to involves flashing directly to mtd2, if you don't know what you are doing then please use one of the custom roms available in the Sticky Wiki.
#### Update One Fixed scripts
#### Update Two Added instructions to compile and install the wlan.ko module
#### Update Three Fixed get-CDMAHero-source.sh typo
#### Update Four Added Instructions for Jaunty repo's for Ubunut 9.10
First off i would like to give credit to all the people who have made information and scripts available. I used bits and peices of info and tools written by and or made available by these people.
Armin Coralic http://blog.coralic.nl for creating some nice scripts and making them available
chuckhriczko for helping me out in the middle of the night.
LoxDev for creating a wonderfull how to about creating img's and zip's
tkirkton for helping out with enabling legacy jaunty repos to install java 1.5
Second I am writing this How To, so a complete newbie would be able to understand.
REQUIREMENTS....
Ubuntu Desktop 9.04 or better 32bit (cause thats what i used)
Android SDK (Needed to push and pull files as well as shell access to the phone. You will need to set this up by following the instructions found at http://www.android.com)
Legacy repo's enabled in apt to allow java 1.5 to install
Root access. I ran all commands below as root
I created a dir called "heroc" in my /root directory.
Download zip file below and unzip it in the heroc dir that you should have created.
STEPS
.5 Enable Legacy Repo's to allow java 1.5 to install (below is a cut from tkirktons post on page 7)
Code:
in Ubuntu 9.10, the Java 1.5 package doesn't even list. Here's what I had to do to get it to load:
1. Access a repository from the previous build (9.04 Jaunty will work: commands to put into /etc/apt/sources.list -
deb [URL]http://mirrors.us.kernel.org/ubuntu[/URL] jaunty main restricted universe multiverse
deb [URL]http://mirrors.us.kernel.org/ubuntu[/URL] jaunty-backports main restricted universe multiverse
deb [URL]http://mirrors.us.kernel.org/ubuntu[/URL] jaunty-security main restricted universe multiverse
deb [URL]http://mirrors.us.kernel.org/ubuntu[/URL] jaunty-updates main restricted universe multiverse
2. Set the max age higher than the default. This can be accomplished by editing the /etc/apt/apt.conf.d/20archive. Here's what my lines in that file look like:
APT::Archives:MaxAge "2880";
APT::Archives:MinAge "2";
APT::Archives:MaxSize "1000";
Making these two changes should work...although I have the Intrepid, Hardy and Dapper repositories in mine as well (didn't know which one would work, so I overkilled it).
Run the script again after making the changes and let me know if it works.
.
to update just run
Code:
# apt-get update
1. Create your work environment by running createandroidRepo.sh. This will take some time depending on your internet connection. Make sure you are in the heroc dir.
Code:
# unzip Scripts.zip
# chmod a+x *
# ./createAndroidRepo.sh
This will create a dir call my android and setup all the files and programs needed to compile the kernel. This will take some time to complete.
2. You need to download the source using the get-CDMAHero-source.sh
Code:
# ./get-CDMAHero-source.sh
This will download the source, and extract it to its own directory.
3. you will need to have your .config file handy for the next steps. If you don't have it then you will need to get it by doing the following
Code:
# adb pull /proc/config.gz /root/heroc/config.gz
# gunzip config.gz
The first command will pull the gzipped config from your phone and place it into the heroc dir. the second command will extract the file as "config"
4. This is where it gets fun. We now have everything downloaded and are going to start the process of compiling our kernel.
Code:
# cd heroc_ef05d31a
# export ARCH=arm
# export CROSS_COMPILE=arm-eabi-
# export PATH=$PATH:~/heroc/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin
# make menuconfig
After you run "make menuconfig" it will bring up a the config menu for our kernel. Go to the bottom and select "Load an alternate configuration file". It will then prompt you to select the config file you want to use. You will need to point it to where you have the config file. So type in "/root/heroc/config"
After you have loaded the config file you can edit what ever you want. however if you don't know what do disable or enable then i wouldn't mess around to much.
Next you will need to save your config file. Choose "Save an alternate configuration file", and save it as "/root/heroc/heroc_ef05d31a/.config"
You can now exit menuconfig
5. Time To Compile the kernel and wlan.ko module
Code:
# make
# export KERNEL_DIR=/root/heroc/heroc_ef05d31a/
# cd myandroid/system/wlan/ti/sta_dk_4_0_4_32/
# make
The kernel will take some time. go grab a drink and have a snack. If all goes well you should end up with a zImage file in "~/heroc//arch/arm/boot/". After the kernel is compiled you need to compile the wlan.ko module by executing the last three commands
6. Next we need to copy the zImage back to the heroc dir
Code:
# cp /root/heroc/heroc_ef05d31a/arch/arm/boot/zImage /root/heroc/zImage
7. Ok so now we need to get the boot image from our phone. We need this cause it has more than just the kernel. I contains the ramdisk image as well. and we need to take the boot image and decompress it and remove the old kernel and add our new compiled kernel, then recompress it to newboot.img
Code:
# adb shell
# cat /dev/mtd/mtd2 > /sdcard/mtd2.img
# exit
# adb pull /sdcard/mtd2.img /root/heroc/mtd2.img
# mv mtd2.img boot.img
The first two commands will open a terminal shell to your phone and copy the boot image to your sdcard. the last two commands will pull the the boot image from your phone, place it in your heroc dir and rename the file to boot.img
8. Now we will split apart the boot.img using some scripts.
Code:
# ./extract-kernel.pl boot.img
# ./extract-ramdisk.pl boot.img
# rm boot.img-kernel
# cp zImage boot.img-kernel
# ./mkbootfs boot.img-ramdisk | gzip > ramdisk-boot
# ./mkbootimg --kernel boot.img-kernel --ramdisk ramdisk-boot --cmdline "no_console_suspend=1 console=null" -o newBoot.img --base 0x19200000
The first command extracts the stock kernel from boot.img. The second command extracts the ramdisk from boot.img. The third command will delete the stock kernel. the fourth command renames our zImage to boot.img-kernel. The fifth command takes boot.img-ramdisk folder and zips it up into ramdisk-boot. The sixth comand takes our kernel (renamed to "boot.img-kernel") and ramdisk-boot and combines it back to form a new file called newboot.img.
9. Now we need to flash our "newboot.img" file to our phone. You should reboot your phone before flashing this will insure that you don't get any out of memory errors and will keep your phone from booting into fastboot (Thx Obelisk79).
Code:
# adb push newBoot.img /sdcard/newBoot.img
# adb shell
# cat /dev/zero > /dev/mtd/mtd2 (you may get an error here. don't worry about it)
# flash_image boot /sdcard/newBoot.img
# reboot
The first command will push your boot image to the phone. the second command will bring up shell access to your phone. the third command will zero out mtd2 and get it ready to write your image. the fourth command will flash boot(mtd2) with newboot.img. the last command will reboot your phone
10. After the phone reboots we need to get the wlan.ko file to the phone so that wireless will work
Code:
# adb push /root/myandroid/system/wlan/ti/sta_dk_4_0_4_32/wlan.ko /sdcard/wlan.ko
# adb shell
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cp /sdcard/wlan.ko /system/lib/modules/wlan.ko
# exit
Now you have a kernel that you compiles with everything work with the exception of power mgmt.
Just as soon as i figure out how to make an update.zip i will post instructions on how to do this
Added it to the CDMA Hero Guides wiki article.
gu1dry said:
Added it to the CDMA Hero Guides wiki article.
Click to expand...
Click to collapse
dang you beat me to it.
Not sure why, but had to run dos2unix on the the first script, not sure if it is all of them, but it was giving me the error
/bin/bash^M: bad interpreter: No such file or directory
Click to expand...
Click to collapse
dos2unix took care of the issue. Also Thanks for the guide, greatly appreciated!!!
make sure you run the script with the "./" , also you may need to chmod +x the files.
Is there a way to get this to run on the Emulator? I tried to specify the zImage after I compiled it but it won't boot when specifying it. Or will that not work for the HTC zImage?
Excellent guide. Can't wait to try it.
blehzz said:
Is there a way to get this to run on the Emulator? I tried to specify the zImage after I compiled it but it won't boot when specifying it. Or will that not work for the HTC zImage?
Click to expand...
Click to collapse
Check out this link
Check out this link
Click to expand...
Click to collapse
Thanks will have a look. Seems to be the Android kernel and not the HTC kernel though, but will read further into it
blehzz said:
Thanks will have a look. Seems to be the Android kernel and not the HTC kernel though, but will read further into it
Click to expand...
Click to collapse
not sure but i think this will work for you
Code:
# emulator -kernel /path/to/your/zImage
First script didn't work for me on ubuntu. Copying and pasting line by line works.
i'll repack the scripts again
not sure but i think this will work for you
Click to expand...
Click to collapse
that's what i tried... emulator never runs when i specify that zImage it built successfully.
Has anybody tried this yet with Ubuntu running under VMware on a PC running Windows? I know that (in theory) VMware's USB compatibility is spectacularly good (it somehow manages to give the guest OS direct ownership and control of the host PC's USB root hub), but up to now I've only tried it to run XP/32 under Vista/64 and Windows 7/64.
FYI, you can download VMware player for free (as in beer) and use it to run Ubuntu 9.04 with their complete blessing. Just make sure you download a guest OS that configures the hardware (memory, cpu, etc) the way you want it to be, because changing the hardware config is one of the few things you genuinely can't do with the free player. If someone here has the full version (and can find somewhere to host it so the bandwidth charges didn't eat him alive), he could even create an Ubuntu distro that's already set up and configured to build Android kernels for others here to download and use.
To use the first script: open up Synaptics, then download "tofromdos". Now, run "fromdos createAndroidRepo.sh", and it should work then
ROM?
Can someone post how to compile a kernel, and make a ROM, and put it all together in a update.zip? Would be really REALLY nice!
Jason(bikcmp)
Thanks for this guide I'm compiling a kernel right now Just a question, how do I change the kernel version name... like you did in that one screenshot?
bikcmp said:
Can someone post how to compile a kernel, and make a ROM, and put it all together in a update.zip? Would be really REALLY nice!
Jason(bikcmp)
Click to expand...
Click to collapse
Its coming
bikcmp said:
Can someone post how to compile a kernel, and make a ROM, and put it all together in a update.zip? Would be really REALLY nice!
Jason(bikcmp)
Click to expand...
Click to collapse
its in general options in menuconfig.

[DEV] Booting Ubuntu nativ!!!

This is about booting Ubuntu natively on the DHD. (without chroot and without an Andriod running at the same time)
Based on the version for the HTC HD2
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
What works:
touchscreen (touchscreen works as touchpad) (thanks to Jhinta)
two finger scrolling (thanks to Jhinta)
Wifi
dragging windows (double click and holding second click)
right click (double two finger click) (thanks to dronf)
adb (thanks to torsrex)
incoming calls (thanks to liljom)
SMS (thanks to liljom)
What doesn't work:
sound
keys (hard and soft keys)
usb host
firefox (only as root)
Instructions:
Download ubuntu4dhd.zip
Download easy to use.zip
Put the linux folder from ubuntu4dhd.zip to the root of your sdcard
Put the easy to use folder to your windows PC
Bring your DHD into the bootloader
Connect DHD to the PC
Double click Start here.bat
Tip "fastboot boot boot.img"
(without ")
after restarting your old rom will start
Change log:
Working touchpad driver
two finger scrolling
Wifi working out of the box
Modifing the rootfs on your PC or virtualBox:
mkdir /ubuntuDHD
sudo mount -t ext2 -o loop /path/to/rootfs /ubuntuDHD
rootfs is now mounted under /ubuntuDHD and can be modifyed as root
umount /ubuntuDHD
Dual boot option:
Download two different cwm from Rom manager
Open the clockworkmod folder on you sdcard an open the download folder.
Search for the version number for the old recovery. You will find an image file, open the containing folder and copy the boot.img from the Ubuntu4DHD.rar into it.
Now, rename the boot.img file to the recovery image filename and deleted the old recovery.
Now, when you select the old recovery from Rom manager, it will flash the ubuntu boot image.
Booting into Recovery will now boot Ubuntu
When you want to go back to cwm, just select/flash the newer cwm version with Rom Manager.
Download:
Ubuntu4DHD.rar (reuploaded as rar)
MD5 of image: 79a9faa2d49725fb6bfdc30d4c5fb885
easy to use.zip
appendix:
easy to use.zip
with:
My boot.img
boot-usbhost.img (boot image with usb host support)
Tips:
Password: ubuntu
For porting to other devices
Chaosz-X said:
Hi,
I saw you got native Ubuntu up and running on the Desire HD, and I wanted to do the same with my Flyer. I know how to compile kernels and an Android build etc., but I can't figure out how to set the partitions, that the boot.img boots from a partition on the SD-card. So I was wondering if you could tell me, what modifications are made to your boot.img to make it boot from SD.
Thanks in advance!
Click to expand...
Click to collapse
Changes on the boot.img:
I guess you know how to extract a boot.img.
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
When you try split_bootimg with my boot.img you will find two things.
1) a special command line arguments
2) a complet other ramdisk image containing
2a) a busybox
2b) a init script
The commad line arguments refer to the init script in the ramdisk.
The init script mounts some partitions including the ubuntu "partition" (in this case a image file on the sd card".
For mounting the partitions the init script calls a other script called MAKEDEVS also based in the ramdisk image.
In this second script you need to change the major and minor numbers of the block devices to match your kernel/device.
Placing the ubuntu image on the sd card:
I use a image file on the sd card.
You could use following commands on a linux machine to edit the image.
mkdir /mnt/ubuntuimg
sudo mount -t ext2 -o loop,rw /pathToTheImage/rootfs.ext2 /mnt/ubuntuimg
Then you will see the content of the image in /mnt/ubuntuimg.
Don't forget to unmount.
umount /mnt/ubuntuimg
Edits on the kernel:
In the kernel the framebuffer must be activated to run ubuntu
make menuconfig
Device Driver->Character Devices-> Set Virtual Terminal
Device Driver->Graphics support->Console display driver support->Remove VGA Text console
Maybe same patches for the framebuffer are needed to use the framebuffer.
Some information can be found under:
http://forum.xda-developers.com/showthread.php?t=1008144&highlight=ubuntu
getting this working would be awesome, better than a working honeycomb possibly .
If this would be possible. DesireHD Can Dual boot. Thank-you
Sent from my Desire HD
If this ever works, is it possible to modify the normal Android system to allow a virtual environment within which you can run Ubuntu? That way you can have the benefits of both.
I think, I must not start my init script directly. Instead I shloud start it from within the init.rc.
But how?
raze599 said:
If this ever works, is it possible to modify the normal Android system to allow a virtual environment within which you can run Ubuntu? That way you can have the benefits of both.
Click to expand...
Click to collapse
See leedroids post on booting ubuntu through Android. A bit closer to what your looking for and working although a bit of experience would be needed.
But like another said. Dual boot Android and ubuntu should be possible if we can get this to boot.
Man if you do it, it will be exciting! Even better than working sense 3.0 Good luck!
twiztedvvv said:
See leedroids post on booting ubuntu through Android. A bit closer to what your looking for and working although a bit of experience would be needed.
But like another said. Dual boot Android and ubuntu should be possible if we can get this to boot.
Click to expand...
Click to collapse
Keep in mind this is native and not chroot !!!
1: Use the android init. It directly references init.rc
2: move your init script into init.rc
3: you have failed booting due to the system not knowing the executable paths;
you HAVE to export your paths. Either reference your binaries directly, for example:
/bin/mount, /bin/dosfsck
or
export PATH /bin:/sbin:/usr/bin:/usr/sbin
Furthermore, you need to diet your boot.img; 5Mb is not flashable on the DHD unless you move and resize the partition tables (risky). The stock max is 4Mb.
You can also force the kernel to execute the init script by referencing it in the kernel cmdline. Check this option in your kernel config and compile it with such support.
Good point. Got a bit lost in concentration
I would know about moving and resizing partitions :/ ended up reformatting completely.
MrYuiM said:
I would know about moving and resizing partitions :/ ended up reformatting completely.
Click to expand...
Click to collapse
I was writing about emmc partitions, not "sd".
1: Use the android init. It directly references init.rc
2: move your init script into init.rc
3: you have failed booting due to the system not knowing the executable paths;
you HAVE to export your paths. Either reference your binaries directly, for example:
/bin/mount, /bin/dosfsck
or
export PATH /bin:/sbin:/usr/bin:/usr/sbin
Furthermore, you need to diet your boot.img; 5Mb is not flashable on the DHD unless you move and resize the partition tables (risky). The stock max is 4Mb.
You can also force the kernel to execute the init script by referencing it in the kernel cmdline. Check this option in your kernel config and compile it with such support.
Click to expand...
Click to collapse
Thx
The init.rc script is a android specific script/script language, can i place a shell script into it?
adwinp said:
1: Use the android init. It directly references init.rc
2: move your init script into init.rc
3: you have failed booting due to the system not knowing the executable paths;
you HAVE to export your paths. Either reference your binaries directly, for example:
/bin/mount, /bin/dosfsck
or
export PATH /bin:/sbin:/usr/bin:/usr/sbin
Furthermore, you need to diet your boot.img; 5Mb is not flashable on the DHD unless you move and resize the partition tables (risky). The stock max is 4Mb.
You can also force the kernel to execute the init script by referencing it in the kernel cmdline. Check this option in your kernel config and compile it with such support.
Click to expand...
Click to collapse
1. kernel cmdline gets ignored rootdev will be NULL thats has to be fixed
2 moving init to int.rc no go as we want native ubuntu leaving init(android) will only boot android.
3 the reaseon it fails is that the kernel cant see mmcblk1 before cmdline ( why we have to find out )
So in sort kernel is oke but cmdline get igored, if we leave initrd enabled in kernel config its starts init ( android ) if not panic root not found here are partitions list of mmcblk0** root"NULL" not found <-- disableing initrd in kernel wel make root null because its wants to load initrd->init from ram witch is android binary elf init.
Step to take are making a initrd that will mount sdcard witch is mmcblk1 and mount it as rootdev if that works we can make a init.
So
1 we have to have a kernel thats has the correct cmdline as kernel config does not accept cmdline its will just be ignored.
2 have a initrd that that wil do a setup before starting init ( system setup mount pionts and so on)
3 build a init that will boot ubuntu and you done
1 we have to have a kernel thats has the correct cmdline as kernel config does not accept cmdline its will just be ignored.
Click to expand...
Click to collapse
Do you mean boot comandline parameters?
I makes a difference if I use
fastboot -c "init=/init rw consoleblank=0 fbcon=rotate:1" boot boot.img
or
fastboot -c "init=/init rw consoleblank=0" boot boot.img
bergfex said:
Do you mean boot comandline parameters?
I makes a difference if I use
fastboot -c "init=/init rw consoleblank=0 fbcon=rotate:1" boot boot.img
or
fastboot -c "init=/init rw consoleblank=0" boot boot.img
Click to expand...
Click to collapse
so finaly got a working system to test stuf .
first of all you got console of in the image that makes it hard for anyone els to see whats going on . AND the laste time ill say this kernel cmdline is skipt !!!!!!!!!! fastboot c = cmdline=kernel command line = kernel arguments bla bla bla.
its get skipt !!!! root= init= bla bla = will not work !!!!!
why we have to find out !!
enable console you have userspace on, there is nog log out so people cant see whats happening
My script in the initrd get started, but it has still an error in it.
Wait a moment, then i will upload the new boot.img
New boot.img starts the my script in the initrd
1) copy the linux folder from the hd2-ubuntu_0.3.zip in the root directory of your sdcard
2) fastboot boot boot.img
bergfex said:
New boot.img starts the my script in the initrd
1) copy the linux folder from the hd2-ubuntu_0.3.zip in the root directory of your sdcard
2) fastboot boot boot.img
Click to expand...
Click to collapse
this realy is working you got it almost ? what is your script maby i can help as far as ik can see sdcard doesnt gets mounted also can you get on htc-linux irc make typeing for me easyer takes long frome to even type this

[GUIDE] Howto create an insecure boot image for asus tf101

NOTE: I started few days ago working with the boot image.
I'm not an Android expert. If you find an error in this post, let me know.
Use this information at your own risk. If you brick your tablet, don't blame on me.
Nothing of the tools used here are written by me. I'm not taking credit for another's work.
I have rooted my tf101 with the instructions from the mashi's thread. (http://forum.xda-developers.com/showthread.php?t=1125714)
I was curious about the root process of our beloved tablet.
For add root at the stock firmware you need the su packages and a proper boot image.
I've worked for years on linux machines, so I know that you need the "su" command to become root.
But what about the boot image? What does it need for?
I've googled and found some information that I'd like to share with you:
For using adb as superuser, and push the su package, you need to flash a so called "insecure boot" on your tablet/phone.
The process is easy:
NOTE: Even if I'm on a Windows machine, I prefer to do this work in linux. The entire process has been done in an Ubuntu 11.04 virtual machine.
What you need:
- a PC running linux
- BootTools and BlobTools from Rayman84 (http://androidroot.mobi/)
- mkbootimg (mkbootfs is optional) from the android repository
I assume that you have all the above tools in your $PATH variable.
First of all you need a stock boot image; you can extract one from your tablet (with nvflash) or from the latest stock firmware (US-VERSION - WW-VERSION)
We're going for the official packages from the ASUS website. Download it on your home directory (or wherever you want).
Let's start:
Code:
mkdir stock_firmware
cd stock_firmware
unzip ../UpdateLauncher_WW_epaduser_84411.zip
unzip ASUS/Update/WW_epad-user-8.4.4.11.zip
blobunpack blob
bootunpack blob.LNX
Now we have a lot of "strange" files:
Code:
ASUS
blob
blob.APP
blob.EBT
blob.HEADER
blob.LNX
blob.LNX-config
blob.LNX-kernel.gz
blob.LNX-ramdisk.cpio.gz
blob.PT
blob.SOS
META-INF
For our work, we just need blob.LNX-ramdisk.cpio.gz
Code:
mkdir boot_img
cd boot_img
gunzip -dc ../blob.LNX-ramdisk.cpio.gz | cpio -i
vi default.prop (or "gedit default.prop" if you want a GUI)
Here you have to change the line "ro.secure=1" in "ro.secure=0"
The final file should appears as this:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=0
Almost done. Let's repack:
Code:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
or alternatively:
Code:
mkbootfs ./ | gzip > ../newramdisk.cpio.gz
Finally make the boot.img:
Code:
cd ..
mkbootimg --kernel blob.LNX-kernel.gz --ramdisk newramdisk.cpio.gz -o boot.img
Now you have your boot.img, ready to be flashed with nvflash.
For information on what to do with this file, please refer to the mashi or brk threads.
Again, I've taken this information from google.
All the credits and many thanks to:
Rayman for the BlobTools and the BootTools - http://androidroot.mobi/
Mashi for his thread on rooting the stock kernel - http://forum.xda-developers.com/showthread.php?t=1125714
Brk for his batch script - http://forum.xda-developers.com/showthread.php?t=1185104
If you found this guide useful, hit the "Thanks" button.
For your convenience, you can find the tools used attached in this post (compiled on Ubuntu 11.04).
UPDATE: I have written a script (thanks gnufabio for the idea) that automatically modify a stock boot.img into an insecure one.
ex:
Code:
./insecure.sh boot.img
when the script finishes you will find a file called my_boot.img ready to be flashed with nvflash.
Bootunpack and mkbootimg should be in your $PATH.
This script doesn't do much error checking, so keep your eyes open.
HF
hey thanks very nice guide
Excellent. I've been looking around trying to work out how to package up a kernel build, this helps a great deal.
I'm assuming that I just replace the blob.LNX-kernel.gz with my built zImage?
SammyC said:
Excellent. I've been looking around trying to work out how to package up a kernel build, this helps a great deal.
I'm assuming that I just replace the blob.LNX-kernel.gz with my built zImage?
Click to expand...
Click to collapse
I haven't try but i guess yes.
If you really want to recompile/repackage the kernel, you can refer to this http://www.droidforums.net/forum/rescue-squad-guides/31452-how-compile-your-own-kernel.html ; it's about the Motorola Droid, but some concepts are universal for all the android devices.
HF
Good work, btw give a look to this script i made: mcpio
Unpacking and repacking the ramdisk will be easier:
Code:
mcpio -c ramdisk-folder/
mcpio -e ramdis-archive.cpio.gz
Thanks - Very useful to have this in this section. I tried the example, and it all worked fine on an old Ubuntu dist.
gnufabio said:
Good work, btw give a look to this script i made: mcpio
Unpacking and repacking the ramdisk will be easier:
Code:
mcpio -c ramdisk-folder/
mcpio -e ramdis-archive.cpio.gz
Click to expand...
Click to collapse
Well, that's a lot easier...
I didn't know your script, thanks for sharing.
Updated the first post with a bash script to automate the entire process.
Yesterday I've succesfully recompiled the stock kernel and I'm thinking on write another guide like this one on the subject.
The process is a little complicate, i'm looking for an easy way to explain but it's hard.
Anyway I'm working on it in my spare time.
That would be great if you could.
ASUS haven't (yet) released the source for the kernel in their latest 3.2 build. If you've updated to 3.2, you can still root and repackage using this method. Just use nvflash to save off the kernel from your running device as per the backup/restore thread, then use bootunpack on that and follow the rest of the instructions
raypou said:
ASUS haven't (yet) released the source for the kernel in their latest 3.2 build. If you've updated to 3.2, you can still root and repackage using this method. Just use nvflash to save off the kernel from your running device as per the backup/restore thread, then use bootunpack on that and follow the rest of the instructions
Click to expand...
Click to collapse
it's exactly the method used here: http://forum.xda-developers.com/showthread.php?t=1198303
If anyone interested, here're win32 binaries of BlobTools and BootTools
Just compiled from git repo.
I unpacked a rom with a kernelblob in the root directory, and edited init.rc. Which command should I use to repackage it? If I follow the guide (instead of boot.img I used kernelblob, no extension) I get the EEE Pad logo then scrambled, colored lines all over.
If I, however, install the base rom, then the one where I changed something in the kernelblob, it boots up.
theMIROn said:
If anyone interested, here're win32 binaries of BlobTools and BootTools
Just compiled from git repo.
Click to expand...
Click to collapse
Hi, makebootimg.exe doesn't work. It gives error saying: error: could not load kernel 'blob.LNX-kernel.gz'
Tried same files in linux and worked fine.
Can you try to fix this?
EDIT: tried to compile myself but got the same issue. I think is related with the need to change source code to make this run on windows.
Working boottools for windows available here: http://forum.xda-developers.com/showpost.php?p=17237701&postcount=443
brk said:
Hi, makebootimg.exe doesn't work. It gives error saying: error: could not load kernel 'blob.LNX-kernel.gz'
Tried same files in linux and worked fine.
Can you try to fix this?
Click to expand...
Click to collapse
yep, it's code issue
attached BootTools-Win32.zip with fixed mkbootimg.exe
is there this guide for tf201?
BR
Maframan
maframan said:
is there this guide for tf201?
BR
Maframan
Click to expand...
Click to collapse
You should probably check the TF201 forum.
Could this method be used to pack a new Splash Screen? (I want to change that annoying ASUS logo to something better) Would I go about the Flash_Image method to flash the image after compiled? (I do Not have NvFlash, but I am rooted with Cwm)
Which blobs would I modify as well, just the EBT?
rebound821 said:
NOTE: I started few days ago working with the boot image.
I'm not an Android expert. If you find an error in this post, let me know.
Use this information at your own risk. If you brick your tablet, don't blame on me.
Nothing of the tools used here are written by me. I'm not taking credit for another's work.
I have rooted my tf101 with the instructions from the mashi's thread. (http://forum.xda-developers.com/showthread.php?t=1125714)
I was curious about the root process of our beloved tablet.
For add root at the stock firmware you need the su packages and a proper boot image.
I've worked for years on linux machines, so I know that you need the "su" command to become root.
But what about the boot image? What does it need for?
I've googled and found some information that I'd like to share with you:
For using adb as superuser, and push the su package, you need to flash a so called "insecure boot" on your tablet/phone.
The process is easy:
NOTE: Even if I'm on a Windows machine, I prefer to do this work in linux. The entire process has been done in an Ubuntu 11.04 virtual machine.
What you need:
- a PC running linux
- BootTools and BlobTools from Rayman84 (http://androidroot.mobi/)
- mkbootimg (mkbootfs is optional) from the android repository
I assume that you have all the above tools in your $PATH variable.
First of all you need a stock boot image; you can extract one from your tablet (with nvflash) or from the latest stock firmware (US-VERSION - WW-VERSION)
We're going for the official packages from the ASUS website. Download it on your home directory (or wherever you want).
Let's start:
Code:
mkdir stock_firmware
cd stock_firmware
unzip ../UpdateLauncher_WW_epaduser_84411.zip
unzip ASUS/Update/WW_epad-user-8.4.4.11.zip
blobunpack blob
bootunpack blob.LNX
Now we have a lot of "strange" files:
Code:
ASUS
blob
blob.APP
blob.EBT
blob.HEADER
blob.LNX
blob.LNX-config
blob.LNX-kernel.gz
blob.LNX-ramdisk.cpio.gz
blob.PT
blob.SOS
META-INF
For our work, we just need blob.LNX-ramdisk.cpio.gz
Code:
mkdir boot_img
cd boot_img
gunzip -dc ../blob.LNX-ramdisk.cpio.gz | cpio -i
vi default.prop (or "gedit default.prop" if you want a GUI)
Here you have to change the line "ro.secure=1" in "ro.secure=0"
The final file should appears as this:
Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=0
Almost done. Let's repack:
Code:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
or alternatively:
Code:
mkbootfs ./ | gzip > ../newramdisk.cpio.gz
Finally make the boot.img:
Code:
cd ..
mkbootimg --kernel blob.LNX-kernel.gz --ramdisk newramdisk.cpio.gz -o boot.img
Now you have your boot.img, ready to be flashed with nvflash.
For information on what to do with this file, please refer to the mashi or brk threads.
Again, I've taken this information from google.
All the credits and many thanks to:
Rayman for the BlobTools and the BootTools - http://androidroot.mobi/
Mashi for his thread on rooting the stock kernel - http://forum.xda-developers.com/showthread.php?t=1125714
Brk for his batch script - http://forum.xda-developers.com/showthread.php?t=1185104
If you found this guide useful, hit the "Thanks" button.
For your convenience, you can find the tools used attached in this post (compiled on Ubuntu 11.04).
UPDATE: I have written a script (thanks gnufabio for the idea) that automatically modify a stock boot.img into an insecure one.
ex:
Code:
./insecure.sh boot.img
when the script finishes you will find a file called my_boot.img ready to be flashed with nvflash.
Bootunpack and mkbootimg should be in your $PATH.
This script doesn't do much error checking, so keep your eyes open.
HF
Click to expand...
Click to collapse
Hi Sir,
First of all thankyou for you guide because I did follow you guide and created the insecure boot.image succesfully. I still have one problem, after flashing the boot.image, I still could not root the android device. Why is that? Do I need to change something else in the boot.img?

[ROOT available] [18-01-2015] Acer Liquid S1 / S510 / A10 with KK ROM!

Hi all,
*Q&A Thread is here*
Automatic process:
Please use the root from scratch method (only on UNIX!) from the Acer Iconia Toolkit thread
Manual process:
I have succeeded to root Acer Liquid S1 (S510 / A10). In the Acer Iconia Toolkit thread @Optimissimus99 mentioned to use the MTK Logger when using a Kitkat ROM. Using @vache's S1 root sources I figured out how root was done with JB using the Network Utility, so I tried doing the same steps using the MTK Logger.
Requirements:
Acer Liquid S1 (S510 / A10)
Being able to follow procedure to the step
Have an Ubuntu installation (I used 14.10)
Post screenshots, clear steps and results when asking for help
Getting root can be achieved with these steps:
Copy or download a busybox file (I used the one from the Iconia Toolkit) to your /sdcard
Using MTK Logger Util
Open engineering mode (for instance with MTK Engineering Mode)
Swipe to Log and Debugging screen
Open MTKLogger
Click on Settings
Click Run Command and execute the following commands:
cp /sdcard/busybox /data/local/tmp
chmod 755 /data/local/tmp/busybox
/data/local/tmp/busybox telnetd -l /system/bin/sh -p 1234
Using Terminal
ls -la /data/local/tmp/busybox
This should show correct execute permissions on busybox
/data/local/tmp/busybox telnet 127.0.0.1 1234
This should open Telnet correctly
cat /proc/dumchar_info | grep "android"
This should show the size of your system image. In my case:
"android 0x0000000040000000 0x0000000005d00000 2 /dev/block/mmcblk0p5”
so quickly calculating (using the code from Vache’s S1 Root tool)
l_seekBlocks = systemEndAddr / 4096; var endA = addrs[2]; endAddr = Convert.ToInt64(endA, 16); 0x0000000005d00000 97517568/4096 = 23808
l_countBlocks = systemStartAddr / 4096; var startA = addrs[1]; startAddr = Convert.ToInt64(startA, 16); 0x0000000040000000 1073741824/4096 = 262144
dd if=/dev/block/mmcblk0 bs=4096 skip=23808 count=262144 | gzip >/storage/sdcard1/system.img.gz
This should create your gzipped ROM dump on the external sdcard.
Within Ubuntu
Transfer the system.img.gz file to Ubuntu
Transfer extracted SuperSU (I used UPDATE-SuperSU-v2.40.zip)
Run the following code:
Code:
gunzip system.img.gz
sudo mkdir /media/iconia
sudo mount -o loop system.img /media/iconia
sudo mv /media/iconia/etc/install-recovery.sh /media/iconia/etc/install-recovery_original.sh
sudo mkdir /media/iconia/bin/.ext
sudo chmod 0777 /media/iconia/bin/.ext
sudo cp UPDATE-SuperSU-v2.40/common/Superuser.apk /media/iconia/app/Superuser.apk
sudo cp UPDATE-SuperSU-v2.40/common/install-recovery.sh /media/iconia/etc/install-recovery.sh
sudo cp UPDATE-SuperSU-v2.40/armv7/su /media/iconia/xbin/daemonsu
sudo cp UPDATE-SuperSU-v2.40/armv7/su /media/iconia/xbin/sugote
sudo cp UPDATE-SuperSU-v2.40/armv7/su /media/iconia/xbin/su
sudo cp UPDATE-SuperSU-v2.40/armv7/su /media/iconia/bin/.ext/.su
sudo cp /media/iconia/bin/mksh /media/iconia/xbin/sugote-mksh
sudo cp UPDATE-SuperSU-v2.40/armv7/supolicy /media/iconia/xbin/supolicy
sudo cp UPDATE-SuperSU-v2.40/armv7/libsupol.so /media/iconia/lib/libsupol.so
sudo chmod 0644 /media/iconia/app/Superuser.apk
sudo chmod 0755 /media/iconia/etc/install-recovery.sh
sudo chmod 0755 /media/iconia/xbin/daemonsu
sudo chmod 0755 /media/iconia/xbin/su
sudo chmod 0755 /media/iconia/bin/.ext/.su
sudo chmod 0755 /media/iconia/xbin/sugote
sudo chmod 0755 /media/iconia/xbin/sugote-mksh
sudo chmod 0755 /media/iconia/xbin/supolicy
sudo chmod 0644 /media/iconia/lib/libsupol.so
sudo ln -s /media/iconia/etc/install-recovery.sh /media/iconia/bin/install-recovery.sh
sudo umount /media/iconia
sudo rm -rf /media/iconia
mv system.img systemrooted.img
gzip systemrooted.img
Check for errors - if there is any, fix them
Next steps is to reload the system image with the following command:
copy systemrooted.img.gz to device
start mtklogger (see above 2.3 / 2.4)
start telnetdaemon (see above 2.5.3)
start terminal (see 3)
start telnet (see 3.2)
Run the command:
/data/local/tmp/busybox zcat /storage/sdcard1/systemrooted.img.gz | dd of=/dev/block/mmcblk0 bs=4096 seek=23808 count=262144
As I do not have much time, I am not sure when I can do this... will post progress in this thread.
Next steps in the development:
Add Xposed Framework
Thanks go to @vache @paugustin @Shreps @Optimissimus99 for providing some of the above info and helping me with this device!
Regards,
Nika.
Here's some screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You have done the hardest part, just need to push the su daemon service for KK ?
Envoyé de mon A1-840FHD en utilisant Tapatalk
Just in case anyone reads this thread and decides to try it on their own - the system.img wasn't mountable (yet). Looks like I used seek= instead of skip= when creating the new image... will try again later....
Yeah, rooting works!
Check first post for details...
Nice!!! Realy like your work So we now have root on Acer Liquid S1! Will there be a quick way to root it?
with a kinda batch tool for instance?
ARRRDJ said:
Nice!!! Realy like your work So we now have root on Acer Liquid S1! Will there be a quick way to root it?
with a kinda batch tool for instance?
Click to expand...
Click to collapse
Oh yeah, we sure will. I'll contact @entonjackson to know whether we can add it to his toolkit and @Chainfire to know whether we are allowed to include SuperSU in a kit this way...
nikagl said:
Oh yeah, we sure will. I'll contact @entonjackson to know whether we can add it to his toolkit and @Chainfire to know whether we are allowed to include SuperSU in a kit this way...
Click to expand...
Click to collapse
Nice!! Finally, root for S1
Will you keep us up to date with the latest developments? I cannot wait to run Xposed
ARRRDJ said:
Nice!! Finally, root for S1
Will you keep us up to date with the latest developments? I cannot wait to run Xposed
Click to expand...
Click to collapse
Sure. I will need @entonjackson for that though, otherwise I'll have to rewrite his code to suite S1, use the MTKLogger and add SuperSU. Adding Xposed is a good idea too - the problem with the /system on this device is that it's locked and we cannot unlock it. So adding stuff (or removing for that matter) always requires to use an existing /system dump and restore it to the device using dd. Recovery too, will only allow installation of signed zips and as we don't have the right keys, we won't be able to use (or change) it... In the end, doing a root from scratch will always require either Ubuntu (to do it with the ROM you have on your device) or restore a system.img from another device... It requires Ubuntu btw, because in Ubuntu you can mount a system.img and easily change it, which is not feasible from DOS/Windows...
So... for the time being, let's wait for @entonjackson and if he doesn't have the option, I'll try to write something. Just keep in mind I am not a developer, I can follow procedures and hack my way into existing stuff, but writing from scratch remains a bridge too far...
nikagl said:
Sure. I will need @entonjackson for that though, otherwise I'll have to rewrite his code to suite S1, use the MTKLogger and add SuperSU. Adding Xposed is a good idea too - the problem with the /system on this device is that it's locked and we cannot unlock it. So adding stuff (or removing for that matter) always requires to use an existing /system dump and restore it to the device using dd. Recovery too, will only allow installation of signed zips and as we don't have the right keys, we won't be able to use (or change) it... In the end, doing a root from scratch will always require either Ubuntu (to do it with the ROM you have on your device) or restore a system.img from another device... It requires Ubuntu btw, because in Ubuntu you can mount a system.img and easily change it, which is not feasible from DOS/Windows...
So... for the time being, let's wait for @entonjackson and if he doesn't have the option, I'll try to write something. Just keep in mind I am not a developer, I can follow procedures and hack my way into existing stuff, but writing from scratch remains a bridge too far...
Click to expand...
Click to collapse
Okay, let's hope @entonjackson can help! Oehw that's sad. So it's impossible to root this phone on the 'normal' way? Is it restricted in the software or in the hardware?
But once you've rooted it, can you use Xposed (or another rootapp), without having to restore a systemdump file?
Ubuntu is not a problem, since I develop in Ubuntu
No problem! I've a lot of respect that you came so far without having a lot of experience
ARRRDJ said:
Okay, let's hope @entonjackson can help! Oehw that's sad. So it's impossible to root this phone on the 'normal' way? Is it restricted in the software or in the hardware?
But once you've rooted it, can you use Xposed (or another rootapp), without having to restore a systemdump file?
Ubuntu is not a problem, since I develop in Ubuntu
No problem! I've a lot of respect that you came so far without having a lot of experience
Click to expand...
Click to collapse
It's in the software/signing of the zips. The keys are unavailable for "normal" people like us. Just Acer has them I guess.
Yes, as soon as Xposed is integrated, you can use it. With the integration I am a bit worried to do it though. I have looked at the current release of Xposed (de.robv.android.xposed.installer_v33_36570c) and it requires me to replace /system/bin/app_process with the one from Xposed. My S1 does not have USB access anymore so I am very hesitant to replace a file like that. If it gets into a bootloop, I won’t be able to recover it…
Also, the update-binary that Xposed uses to integrate itself into the framework replaces that app_process file, but also expects certain configuration (/data/data/de.robv.android.xposed.installer) of the APK to be available. I am afraid that the apk needs to be installed before actually introducing the new app_process file. As the installation of the APK is not part of /system and therefore the /data folders will not be created, I wonder how it behaves if the new file is introduced in the new /system...hopefully it won't cause bootloops....
Regards,
Nika.
I tried adding Xposed by changing the app_process file but it didn't work. I used the following commands:
Code:
sudo cp de.robv.android.xposed.installer_v33_36570c.apk /media/iconia/app/
sudo cp -a /media/iconia/bin/app_process /media/iconia/bin/app_process.orig
sudo cp de.robv.android.xposed.installer_v33_36570c/assets/arm/app_process_xposed_sdk16 /media/iconia/bin/app_process
sudo chmod 0755 /media/iconia/bin/app_process
It does see the new file version installed but Xposed is not running. Asked in some threads for extra help. Also no response yet from @entonjackson, so asked in the Iconia thread whether there's others that can help
nikagl said:
I tried adding Xposed by changing the app_process file but it didn't work. I used the following commands:
Code:
sudo cp de.robv.android.xposed.installer_v33_36570c.apk /media/iconia/app/
sudo cp -a /media/iconia/bin/app_process /media/iconia/bin/app_process.orig
sudo cp de.robv.android.xposed.installer_v33_36570c/assets/arm/app_process_xposed_sdk16 /media/iconia/bin/app_process
sudo chmod 0755 /media/iconia/bin/app_process
It does see the new file version installed but Xposed is not running. Asked in some threads for extra help. Also no response yet from @entonjackson, so asked in the Iconia thread whether there's others that can help
Click to expand...
Click to collapse
Ah okay, unfortunately!! I cant wait to run xposed! I hope you'll get some support from members with more experience, because I think we're really close to a more easier rooting way
Let me know if you make some progress
ARRRDJ said:
Ah okay, unfortunately!! I cant wait to run xposed! I hope you'll get some support from members with more experience, because I think we're really close to a more easier rooting way
Let me know if you make some progress
Click to expand...
Click to collapse
So do I and trust me - I tried it all. Also tried it on another device, it will simply not start and I don't know why
Regards,
Nika.
progress?
Any progress yet?
ARRRDJ said:
Any progress yet?
Click to expand...
Click to collapse
Nope, just root works. If you want I can add it to the rootfrom scratch method of the toolkit, but Xposed won't work. Simply do not get any help from anywhere to fix this and spent hours (if not days!) troubleshooting it, so i have given up...
thanks it's a wonderful job anyway u really deserve respect! :highfive:
Make sure to monitor the following thread for new versions:
http://forum.xda-developers.com/showthread.php?t=2240029
I am not yet sure when I get to make one, it's almost holiday week here in NL and with that and the preparations for it I don't have much time... more news soon.
I have created the first Acer Liquid S1 version of the toolkit. Let me know what you think.
First of all thank you very much for your efforts, I just downloaded your toolkit but it says "put prerooted system.img.gz... " etc. Question is where do I find prerooted system.img.gz?

TF300t Ncurses style Multiboot kernel

Posting multiboot kernel with grub-style curses boot selection menu.
This is targeted towards linux users who have a multitude of distros on their tf300.
The kernel itself is Tailormoon's 2.2.9 version of Graiden kernel which included Rabits multiboot.
The difference is that I've modified the initrd to scan all drives at boot to look for linux root filesystems or .img files.
Just put all your .img files in the root of your sdcard (dock or internal), or in /data/media/linux, and boot up.
All detected filesystems will then be displayed in an an ncurses menu allowing you to select any one of them.
To install:
- Unpack the blob and install using fastboot:
> fastboot flash boot kernel.blob
- or install using your recovery
Notes:
- Press volume down button when rabits logo pops up to boot into android.
- As with Graiden/Tailormoon, unpack module.tar to your distro's module folder in order to modprobe etc.
- Also a reminder for linux rootfs, you need to mount or copy /data and /system from your android filesystem to get the wifi firmwares you need to fire up your wifi (this is true for any linux on tf300 AFAIK)
- The boot system does not use kexec so kexecboot users may already be satisfied with their current setup. I'm no fan of kexec and hence have not seen the need to include it.
TODO:
- No timer, boot menu sits there indefinitely until a choice is made
- Add android to boot menu so no need for volume down
- Add option for modifying kernel boot parameters, booting to single user etc
Thanks
Dave Driesen
Attaching source code for the boot menu as requested.
The menu is very simple. It just reads a config file provided by the initrd scripts, and outputs its own config file. Both are to be provided by command line parameter.
Makefile is included but you'll obviosuly need curses dev package to build.
Usage:
apt-get install ncurses-dev (or whatever the alternative is for your distro)
tar -xcf bootmenu-src.tar.gz && cd bootmenu-src && make
done!
The rest of the source (such as partition scanning code and OS boot code) consists of modification to Rabits' multiboot which are freely available inside the initrd. I will not post them here as I did not originally create them. If you're interested, I suggest unpacking the initrd and getting stuck in there.
Fyi, here's some scripts for unpacking/packing a kernel.blob.. I don't support these and you'll need to install the relevant tools (blobpack/abootimg/cpio) if you're keen. But this is what I use; may it help others in building blobs, or understanding the steps involved.:
unpack.sh:
Code:
#!/bin/bash
DIR=$(pwd)
# Stage 1 - unpack the blob
mkdir 1.kernel
cp $1 1.kernel/kernel.blob
cd 1.kernel
blobunpack kernel.blob
# Stage 2 - Extract boot image (compressed initrd)
mkdir ../2.LNX
cd ../2.LNX
abootimg -x ../1.kernel/kernel.blob.LNX
# Stage 3 - Decompress initrd
mkdir ../3.initrd.gz
cd ../3.initrd.gz
zcat ../2.LNX/initrd.img >initrd.cpio
# Stage 4 - Unpack initrd
mkdir ../4.initrd
cd ../4.initrd
cpio -id < ../3.initrd.gz/initrd.cpio
# This will leave fully uncompressed kernel in directory "4.initrd"
pack.sh:
Code:
#!/bin/bash
DIR=$(pwd)
# Stage 5 - Pack initrd
mkdir 5.initrd.cpio
cd 4.initrd
find . | cpio --create --format='newc' > ../5.initrd.cpio/initrd.cpio
# Stage 6 - gzip compress initrd
mkdir ../6.initrd.img
cd ../6.initrd.img
gzip ../5.initrd.cpio/initrd.cpio -c9 --stdout --best >initrd.img
# Stage 7 - Create Android boot image
mkdir ../7.LNX
cd ../7.LNX
mkdir content
cp ../2.LNX/* content
cp ../6.initrd.img/initrd.img content
abootimg --create kernel.LNX -f content/bootimg.cfg -k content/zImage -r content/initrd.img && rm -rf content
# Stage 8 - Sign the Android boot image.
# You'll need to do this or your device may reject the blob.
# I could never find a tool for this so just prepend the signature using echo.
mkdir ../8.kernel
cd ../8.kernel
blobpack kernel_unsigned.blob LNX ../7.LNX/kernel.LNX
echo -n -e "-SIGNED-BY-SIGNBLOB-\0\0\0\0\0\0\0\0" >kernel.blob
cat kernel_unsigned.blob >> kernel.blob
rm kernel_unsigned.blob
# Your finished kernel.blob is now in directory "8.kernel"
Awesome stuff!
Wow - this is very very nice! What a job thank you for sharing. I do have issues though - but they are related to my setup - i cant mount /root on /dev/loop (or something along those lines) so the boot process defaults to Android (which actually boots out the box from this (which is nice - had a ****load of issues with other kernels and the original rabits kernel thing) any ideas for the /dev/loop thing?
Again thanks man - so nice!
Nice work, but can you post the source code please? Thanks.
thanks for posting, wouldn't mind trying linux on here after all these years. is this kernel fine with android 5.1.1?
dkzeb said:
i cant mount /root on /dev/loop (or something along those lines) so the boot process defaults to Android
Click to expand...
Click to collapse
Is this an extfs? Usually when you get the mount failure, be it in original Rabits or this multiboot, I find that if I drop to a shell and try to mount by hand, the mount command throws an error either way. Most often this then turns out to be due FS settings ("Check filesystem after X mounts, or X days etc). Checking the FS or using tune2fs to disable periodic checking makes this go away.
You can drop to a busybox shell by pressing "s" when the rabits logo shows up.
Insane PPC said:
thanks for posting, wouldn't mind trying linux on here after all these years. is this kernel fine with android 5.1.1?
Click to expand...
Click to collapse
I'm not sure but doubt it.. Tbh I never got any Android version over Cromi-X 5.4 to run reliably on the TF300 :/ Interested to hear your opinion but for me they all turned out to be slow, unstable (crashes, reboots), drained the battery or just plain impossible to implement. Hence went back to Cromi-X 5.4 and probably staying there forever.
Linux on the TF300 is ok but has many challenges, some of which simply cannot be overcome. Biggest problem is that NVidia dropped support for Tegra3 about 5 minutes after launch. They are not releasing new drivers for contemporary ABIs, something you WILL need if you want to run any kind of recent Xorg using the device's Tegra3 hardware features. That includes touch pad and graphics accelleration.
So you're basically stuck with distro's from 2012 and must be very careful what packages you upgrade or your TF300 will lose OS support for some of its HW features.

Categories

Resources