Hi all. If anyone is willing to help please assist me, im currently trying to upload cm 7 Morrison files for our beloved Ruth devices. I still haven't figured out how the 2nd init injector works yet.
For all charm users we can always branch the files and delete the MOTO.ROTATOR line for your devices.
If you have time, patients and sh¡t loads of guts please help or add links for me to checkout.
EVEYTHING IS APPRECIATED! :fistbump:
DEV Device: MB511 (deodexed)
Current System: MT27i xICS
Long Live: V9 Ferrari Rom
code.google.com/p/motorola-flipout-files
Ok if anyone know of any other motorola developers please let me know.
DEV Device: MB511 (deodexed)
Current System: MT27i xICS
Long Live: V9 Ferrari Rom
code.google.com/p/motorola-flipout-files
ruth(MB511) sensors in init.mapphone30_umts.rc
# sensor interface
chown compass compass /dev/lis331dlh --> not found
chmod 660 /dev/lis331dlh
chown compass compass /dev/kxtf9 --> found
chmod 660 /dev/kxtf9
chown compass compass /dev/akm8973 --> not found
chmod 660 /dev/akm8973
chown compass compass /dev/sfh7743 --> found
chmod 660 /dev/sfh7743
chown compass compass /dev/akm8973_dev --> found
chmod 660 /dev/akm8973_dev
chown compass compass /dev/akm8973_aot --> found
chmod 660 /dev/akm8973_aot
chown compass compass /dev/airc --> not found
chmod 660 /dev/airc
so ruth(MB511) sensors should be /dev/kxtf9, /dev/sfh7743,/dev/akm8973_dev, /dev/akm8973_aot
but Morrison sensors in libsensors/nusensors.h
#define AKM_DEVICE_NAME "/dev/akm8973_aot"
#define ACCEL_MODE_NAME "/sys/class/i2c-adapter/i2c-0/0-0018/mode"
#define CM_DEVICE_NAME "/dev/proximity"
#define LS_DEVICE_NAME "/dev"
#define LIS_DEVICE_NAME "/dev/lis331dlh"
I think porting Morrison maybe less suitable for ruth
Thanks phc, and yes I know its a long shot, I still haven't gotten to the lib files, let alone hardware. But morrison IS the closest port for us. All the other devices are to advanced for the device. Do a compare between the two, ram is almost identical, chips are close, gpu aswell. Only thing that isnt is screen size. Thanks for the lost, it will come in handy later.
DEV Device: MB511 (deodexed)
Current System: MT27i xICS
Long Live: V9 Ferrari Rom
code.google.com/p/motorola-flipout-files
Hi,
I used jordan-common and MagicDevTeam's MB508([h t t p s : / / github.com/MagicDevTeam) files,
and compiled eclair AOSP to check different files than create ruth device files.
My ROM VERSION:
RUTEM_U3_01.14.16_DEBLUR_SIGNED_USARUTH15ND0RTINT056.0R_PDS000_USARUTHEHKTWEMARA_P011_A010_HWp3_1FF.sbf
My ruth configure files: ruthconfigureforcm7.zip(h t t p s : / / docs.google.com/file/d/0BxgqJrVwRKJqQUlWTWI3SURGU1U/edit)
https://github.com/phchshow/android_device_motorola_ruth
My unstable update file:v0.1.5.zip(h t t p s : / / docs.google.com/file/d/0BxgqJrVwRKJqaXNzRVJDSU95Slk/edit)
V0.5.0.zip
can work:
battd[2013/03/14]
bluetooth
half work:
audio->media codec can't use.
[2013/03/19]solved some media codec running problem, but video recorder codec still has problem (even use low quality).
[2013/03/23]only mp3 and jpg codec is ok, orthers codec has problem, unknow how to solved...
sensors.
fmradio->FMRadioService.apk can't use, but can purchase "Spirit FM Radio Unlocked" to use.[2013/03/15]
camera->[2013/03/18]replace to use MB508's libcamera.so and libcameraservice.so. can take a picture, but media codec has some problem, so can't photograph.
wifi->[2013/03/23]dhcp has problem, but use command to execute is ok.
use mb508's bootmenu/2nd-init/init, solve setprop question, now wifi is OK.
but no softap beacuse can't compile tiap_drv.ko with 2.6.29 kernel.
ril->[2013/03/25]can call, but no sound, seems like audio codec problem.
not work:
battd->log say INIT BATTD SOCKET SERVER: failed. unknow how to solve. update[2013/03/14]:chmod cpcap permission
camera->used mb508's camera library, log say "mapped at 0x4103c000, not at 0xa7900000" can not load library
used ruth camera library, log say CAMERA HAL not support. unknow how to solve.
radio. unknow how to solve.
wifi->when process step 2, /system/bin/wlan_loader -f /system/etc/wifi/fw_wlan1271.bin -i /system/etc/wifi/tiwlan.ini -e /pds/wifi/nvs_map.bin
failed. [2013/03/16]get new question Failed to start supplicant daemon.unknow to solve.
[2013/03/23]gps->Failed to enable location provider
forget test:
fmradio, gps
phchshow said:
Hi,
I used jordan-common and MagicDevTeam's MB508([h t t p s : / / github.com/MagicDevTeam) files,
and compiled eclair AOSP to check different files than create ruth device files.
My ROM VERSION:
RUTEM_U3_01.14.16_DEBLUR_SIGNED_USARUTH15ND0RTINT056.0R_PDS000_USARUTHEHKTWEMARA_P011_A010_HWp3_1FF.sbf
My ruth configure files: ruthconfigureforcm7.zip(h t t p s : / / docs.google.com/file/d/0BxgqJrVwRKJqQUlWTWI3SURGU1U/edit)
My unstable update file:v0.1.5.zip(h t t p s : / / docs.google.com/file/d/0BxgqJrVwRKJqaXNzRVJDSU95Slk/edit)
can work:bluetooth
halt work:
audio->media codes can't use.
sensors.
not work:
battd->log say INIT BATTD SOCKET SERVER: failed. unknow how to solve.
camera->used mb508's camera library, log say "mapped at 0x4103c000, not at 0xa7900000" can not load library
used ruth camera library, log say CAMERA HAL not support. unknow how to solve.
radio. unknow how to solve.
wifi->when process step 2, /system/bin/wlan_loader -f /system/etc/wifi/fw_wlan1271.bin -i /system/etc/wifi/tiwlan.ini -e /pds/wifi/nvs_map.bin
failed. unknow to solve.
forget test:
fmradio, gps
Click to expand...
Click to collapse
How are you flashing the update.zip files, my phone doesnt seem to respond to any of the changes.
hsr0 said:
How are you flashing the update.zip files, my phone doesnt seem to respond to any of the changes.
Click to expand...
Click to collapse
you can use charm Big Bootstrapped Recovery Update to update.
or use bootmenu to update.
update:
if you want use bootmenu,
you can unzip my update zip (v0.1.5.zip).
WARNING: if step fails, may be need reinstall the system. BE CAREFUL.
1. remount system (root)
mount -o remount,rw / /system
2. push bootmenu files
adb push v0.1.5/system/bin/bootmenu /system/bin/
adb push v0.1.5/system/bootmenu /system/bootmenu
3. chmod files permisson (root)
chmod 0755 /system/bin/bootmenu
chmod 0755 /system/bootmenu/binary/*
chmod 0755 /system/bootmenu/script/*
chmod 0755 /system/bootmenu/recovery/sbin/*
4. change mot_boot_mode(original motorola file) (root)
mv /system/bin/mot_boot_mode /system/bin/mot_boot_mode.bin
5. edit mot_boot_mode (root) update(2013/02/08)
/system/bootmenu/binary/busybox vi /system/bin/mot_boot_mode
#!/system/bin/sh
export PATH=/system/bin:$PATH
/system/bin/bootmenu
mot_boot_mode.bin
6. chmod mot_boot_mode permission (root)
chmod 0755 /system/bin/mot_boot_mode
7. reboot and click click click(loop) "vol down" key until show bootmenu screen
Can you post just the bootmenu files?
I have already tried your steps twice but soft bricked the phone.
hsr0 said:
Can you post just the bootmenu files?
I have already tried your steps twice but soft bricked the phone.
Click to expand...
Click to collapse
OK. I re-installed system. And write script name mkbootmenu.sh
unzip bootmenuDIR.zip
adb push bootmenuDIR/bootmenu /sdcard/bootmenu
adb push bootmenuDIR/mkbootmenu.sh /sdcard
in phone side:
$su
#sh /sdcard/mkbootmenu.sh
#reboot
when MOTO LOGO click click click (loop) "VOL - " (VOL DOWN) until show bootmenu screen
NOTICE: only new system or never changed mot_boot_mode can run this script .
thank you very much, it worked!
However I still do not know why it did not run when I executed it although I did a fresh install with RSD lite.
Maybe because I used windows to create mot_boot_mode file, maybe some character issues occured.
but once again thank you!
Will check it in the morning, so far i've modded most of the make files for CM9 and my only worry is the framework.apk but so far so good :thumbup:
Almost forgot! The 2nd init and a modified boot kernel will be the biggest problems.
DEV Device: MB511 (deodexed)
Current System: MT27i xICS
Long Live: V9 Ferrari Rom
code.google.com/p/motorola-flipout-files
https://github.com/plageran/ruth
Good job, man
My Flipout is waiting for a stable CM
ruth device cpu and gpu
As far as I know, flipout and charm have OMAP 3410 CPU inside, this CPU DOESN'T include GPU. Others like OMAP 3430 in Milestone 1 does include Imagination PowerVR SGX535 GPU.
Please check this location on your device with a root explorer app:
/system/lib/egl/
and in there you will find your gpu drivers, also most phones do have gpu's although it only helps the device a little bit.
I know my device has atleast 3 .so files in there and I think thats android drivers. I must just figure out if it should be recompiled for newer versions of android.
xinbada007 said:
As far as I know, flipout and charm have OMAP 3410 CPU inside, this CPU DOESN'T include GPU. Others like OMAP 3430 in Milestone 1 does include Imagination PowerVR SGX535 GPU.
Click to expand...
Click to collapse
Hijack
How did you manage to get the hijack working? I've been struggling my butt off to get the 2nd-init working:highfive:
phchshow said:
you can use charm Big Bootstrapped Recovery Update to update.
or use bootmenu to update.
update:
if you want use bootmenu,
you can unzip my update zip (v0.1.5.zip).
WARNING: if step fails, may be need reinstall the system. BE CAREFUL.
1. remount system (root)
mount -o remount,rw / /system
2. push bootmenu files
adb push v0.1.5/system/bin/bootmenu /system/bin/
adb push v0.1.5/system/bootmenu /system/bootmenu
3. chmod files permisson (root)
chmod 0755 /system/bin/bootmenu
chmod 0755 /system/bootmenu/binary/*
chmod 0755 /system/bootmenu/script/*
chmod 0755 /system/bootmenu/recovery/sbin/*
4. change mot_boot_mode(original motorola file) (root)
mv /system/bin/mot_boot_mode /system/bin/mot_boot_mode.bin
"5. edit mot_boot_mode (root)
vi /system/bin/mot_boot_mode "
#!/system/bin/sh
export PATH=/system/bin:$PATH
/system/bin/bootmenu
mot_boot_mode.bin
6. chmod mot_boot_mode permission (root)
chmod 0755 /system/bin/mot_boot_mode
7. reboot and click click click(loop) "vol down" key until show bootmenu screen
Click to expand...
Click to collapse
plageran said:
How did you manage to get the hijack working? I've been struggling my butt off to get the 2nd-init working:highfive:
Click to expand...
Click to collapse
He basically rewrote the boot script, so while booting up, it opens the bootmenu script and only then does it do a regular boot..
The normal 2nd init installer don't invoke the boot script in the same way I guess and hence it doesn't work.
Well now since bootmenu works, its like a torchlight in an otherwise dark tunnel.
Another point I want to make is that the flipout cm7 update given is in a bootloop. probably I need to change the files for basil (charm).
I think bootloop is audio device (libaudio.so) error. Maybe like when I use MB508's libcamera.so the message log show "mapped at .... " can't load library.
So should be use charm's libaudio.so to recompile CM7 sources. But maybe make some error, like media codec can't use.
hsr0 said:
He basically rewrote the boot script, so while booting up, it opens the bootmenu script and only then does it do a regular boot..
The normal 2nd init installer don't invoke the boot script in the same way I guess and hence it doesn't work.
Well now since bootmenu works, its like a torchlight in an otherwise dark tunnel.
Another point I want to make is that the flipout cm7 update given is in a bootloop. probably I need to change the files for basil (charm).
Click to expand...
Click to collapse
---------- Post added at 10:55 PM ---------- Previous post was at 10:34 PM ----------
The 5 step should be
"/system/bootmenu/binary/busybox vi /system/bin/mot_boot_mode", I forgot no install busybox no vi.
Defy use logwrapper to hijack, but flipout can't.
I think flipout processed init have not execute logwrapper, let we can't hijack logwrapper.
But mot_boot_mode executed.
So I rename mot_boot_mode to mot_boot_mode.bin and write new script name mot_boot_mode. Make bootmenu can execute.
And modify init.mapphone30_umts.rc
"exec /system/bin/mot_boot_mode" to "exec /system/bin/mot_boot_mode.bin", make 2nd-init can success execute init files.
In My uploaded bootmenuDIR.zip, the 2nd-init directory is modify for eclair to use.
You can modify eclair init files to test 2ndinit.
plageran said:
How did you manage to get the hijack working? I've been struggling my butt off to get the 2nd-init working:highfive:
Click to expand...
Click to collapse
What I've learned so far is that most motorola's have the hijacked kernel from the original device, I'm not sure up to what level of Android os this works but if you dig deep enough. Its all almost the same to stock.
I hope you don't mind me using your scripts for my rom, this changed things big time.
Now to get my build machine up and running and to finish my LIB list for CM
edit: has anyone figured out the fingerprint system yet? I haven't found anything about it yet, whether it's generated or copied over.
phchshow said:
I think bootloop is audio device (libaudio.so) error. Maybe like when I use MB508's libcamera.so the message log show "mapped at .... " can't load library.
So should be use charm's libaudio.so to recompile CM7 sources. But maybe make some error, like media codec can't use.
---------- Post added at 10:55 PM ---------- Previous post was at 10:34 PM ----------
The 5 step should be
"/system/bootmenu/binary/busybox vi /system/bin/mot_boot_mode", I forgot no install busybox no vi.
Defy use logwrapper to hijack, but flipout can't.
I think flipout processed init have not execute logwrapper, let we can't hijack logwrapper.
But mot_boot_mode executed.
So I rename mot_boot_mode to mot_boot_mode.bin and write new script name mot_boot_mode. Make bootmenu can execute.
And modify init.mapphone30_umts.rc
"exec /system/bin/mot_boot_mode" to "exec /system/bin/mot_boot_mode.bin", make 2nd-init can success execute init files.
In My uploaded bootmenuDIR.zip, the 2nd-init directory is modify for eclair to use.
You can modify eclair init files to test 2ndinit.
Click to expand...
Click to collapse
hey dude, r you guys still working on flip/charm? any progress to share?
xinbada007 said:
hey dude, r you guys still working on flip/charm? any progress to share?
Click to expand...
Click to collapse
keep an eye on our github pages, i can only update monthly due to cost's. Still need to get and build my build machine lol!
Related
the title says it
after many requests here is the guide
most of this is spread around the vogue
forum here and there, i just wanted to bring it all together
goal-seeing lately we have lost some good developers, this is a shot at getting more involvement in vogue/android development
I.SETTING UP YOUR SYSTEM
1. GETTING LINUX you will need to have Linux installed on your computer(dual-boot, vm, whatever). i recommend Ubuntu karmic (9.10) because its pretty new-user friendly. It can be found at http://www.ubuntu.com/
for you windows lovers here is a guide to setting up a ubuntu VM(virtual machine (if you really didnt know ))
2. THINGS/TOOLS YOU WILL NEED download these:
original 8/8/09 ion 1.5 build HERE(we are gonna use the bin-files and the apns-conf.xml, and a few apps)
the latest rootfs.img (find it)
these android tools (included are genext2fs (android version), split_bootimg.pl, and extract_ramdisk.sh)
after downloading, extract the zip to a folder. open a terminal and cd to the dir of the tools. click applications>accesories>terminal and type:
Code:
cd ~/whatever/
sudo rm -rf /bin/genext2fs
#dont type whats after the pound signs
#type in your password
#if you havent set up a su password yet type:
sudo passwd
#then make one, next
sudo cp -r ./whatever/genext2fs /bin/
squashfs-tools (if you have ubuntu 9.10-karmic first you will have to uninstall squashfs-tools 4.0(4.0 WILL NOT NOT NOT NOT NOT WORK) that is installed during the installation of linux ): go to system>administration>synaptic package manager. type squashfs-tools in the quick search, then right click and click mark for complete removal. then hit apply. then download and install this here http://http://ftp.us.debian.org/debian/pool/main/s/squashfs/squashfs-tools_3.3-7_i386.deb
i also strongly recommend downloading the sdk-tools v1.1(adb is almost essential when porting, for debugging purposes) enatefox has it posted on his media fire. (search for it)
3. ORGANIZATION
now that we have what we need. lets get organized.
a.mount points
we are going to use mount points while porting.
terminal:
Code:
sudo mkdir /mnt/rootfs
sudo mkdir /mnt/system
#i also have one for mounting data files
mkdir /mnt/data
b. directories
terminal:
Code:
mkdir ~/Desktop/android
mkdir ~/Desktop/android/ion
mkdir ~/Desktop/android/donut
#you get the point...
now put the ion 8/8/09 build in the ~/Desktop/android/ion folder and rename it system.sqsh then
terminal:
Code:
cd ~/Desktop/android/ion
unsquashfs ./system.sqsh
you should now have a folder called squashfs-root in the ion directory. it contains all the guts from the ion build. feel free to look around in that folder as you should get familiar with the folders and things in there
II PORTING
1. PORTING A HERO ROM(this was in zens how-to-make-a-hero-rom.txt im just adding on to it)
a. Download a rom from the dream/sapphire development forums.
b. Extract what you downloaded to ~/Desktop/android/hero. It is usually an update.zip.
c. Open the extracted folder. Inside you should see a data directory and a system directory.
d. Open the data directory and look for an app or app_s folder.
e. Open those folders and copy the apks to the system/app/ folder. Leave out what you don't need. feel free to add any custom apps. as long as they are from the same sdk number. ie 1.5, 1.6, 2.0.1, 2.1 most are pretty cross-compatible though.
f. Delete system/xbin from the rom your porting and replace it with the one from Ion.
g. Copy ~/Desktop/android/ion/squashfs-root/etc/apns-conf.xml from Ion to ~/Desktop/android/hero/system/etc/
h. Mount the latest rootfs.img
terminal:
Code:
sudo mount ~/whereever/rootfs.img -o loop /mnt/rootfs
i. Copy libaudio.so libaudioflinger.so libcameraservice.so libgps.so from /lib in the mounted rootfs over to system/lib in the rom you are porting*(donut and eclair really dont need this step because those files are in most of the latest rootfs.img's but be sure to check)
j. Edit the system/build.prop or even use the Ion build.prop.*(for donut/eclair you may want to edit the lcd density to 120 or 110 in the build.prop for qvga and 160 for 320x480)
k. Create a blank file in system/ called hero.build*(for eclair/donut create donut.build or eclair.build or eclairhero.build.....etc)
*l. for hero any systems too big to run on nand, here is a script to make a data file. put this in the ~/Desktop/android/hero directory. cut the app folder from ~/Desktop/android/hero/system and paste it to ~/Desktop/android/hero , and rename it too app_s . next run the mkdataimg.sh it should ask for you password in a terminal. type it in and then it should mount the data.img to data-mnt folder in ~/Desktop/android/hero . keep that terminal open copy the app_s folder in to data-mnt. then type y in the terminal to unmount the data.img. next:
terminal:
Code:
cd ~/Desktop/android/hero
ln -s /data/app_s ./system/app
that should make a broken symlink in system
2. Mount it and squash it
ok now that we are done porting lets put it together
terminal:
Code:
cd ~/Desktop/android/hero
genext2fs -d ./system -b 180000 -a system.ext2
sudo mount -o loop ./system.ext2 /mnt/system
sudo mksquashfs /mnt/system system.sqsh
sudo chown $USER ./system.sqsh
#and if you want
rm -rf ./system.ext2
from zenulator:
There are other little tweaks here and there but thats basically it. Now you can roll your own.
Click to expand...
Click to collapse
im gonna clean this up a bit later just wanted to get this out to you guys
nice thanks jamezelle
zen's manup456-based Eclair build contains different libaudio.so & libaudioflinger.so than the rootfs, and Eclair wouldn't boot if I replaced them with the libs from the rootfs. This might be due to the rootfs libs not being updated for Eclair yet (also why voice search/dial doesn't work) but I'm not sure. I don't know if this will be the case for 2.1, just wanted to add that in.
I really appreciate the guide and look forward to hearing more. I've learned a lot from zen as well but a lot of the work the devs do is so hard to follow because it's undocumented.
Do you know why the xbin has to be from Ion? Is it because of our kernel version or the squashfs ver that our kernel contains? I've been wanting to grab some of the tools from the xbin of other builds but have been unsure about compatibility.
Also, for more advanced Android ROM building, I'd like to add a link to zipalign optimization.
polyrhythmic said:
zen's manup456-based Eclair build contains different libaudio.so & libaudioflinger.so than the rootfs, and Eclair wouldn't boot if I replaced them with the libs from the rootfs. This might be due to the rootfs libs not being updated for Eclair yet (also why voice search/dial doesn't work) but I'm not sure. I don't know if this will be the case for 2.1, just wanted to add that in.
I really appreciate the guide and look forward to hearing more. I've learned a lot from zen as well but a lot of the work the devs do is so hard to follow because it's undocumented.
Do you know why the xbin has to be from Ion? Is it because of our kernel version or the squashfs ver that our kernel contains? I've been wanting to grab some of the tools from the xbin of other builds but have been unsure about compatibility.
Also, for more advanced Android ROM building, I'd like to add a link to zipalign optimization.
Click to expand...
Click to collapse
we need to move back to a more standardized comunity rootfs.img. i'm seeing more and more different rootfs.imgs that vary little by little. it is kind of hard to really document all of the development. but i see your point. the xbin(are just eXtended bin files) doesnt have to come from ion. the xbin in ion is actually empty
yes our kernel doesnt support LZMA compression which is what 4.0 uses. more info on it here http://www.squashfs-lzma.org/ i dont know why out kernel has not been updated to support it(you would have to ask DZO), i just know is isnt supported
thanks for the link to zipalign. i usually zipalign my apps. btw most dream and sapphire devs are already zipaligning there apks so we dont have to
I agree, I don't like forking the rootfs but the latest ones don't contain the correct WiFi files & settings for Kaiser. I know our kernel is way behind, I've asked several questions in the kernel thread about it but then the thread goes OT and I've never gotten an answer to most of the questions. Newbie16 has been compiling kernels but we've had trouble finding all the updated source files.
Oh, the PNG optimization in the zipalign thread is useful also, I easily saved 5 MB in the Eclair build.
The 8/8 file is a .img file, not .sqsh. Terminal tells me it can't find a sqash superblock on the file, or something to that extent.
EDIT: also missing a step that seems crucial... re squashing the files to make a .sqsh file to use?
ln -s help. hero nand porting
When ever I'm trying to port a hero build to nand ln -s gives me "operation not permitted" during boot. I used -a during genext2fs. Also data didn't work, even though I have the right apns-conif.xml. any idea? I was trying to port hero revolution (I think thats it ). Thanx
TheKartus said:
The 8/8 file is a .img file, not .sqsh. Terminal tells me it can't find a sqash superblock on the file, or something to that extent.
EDIT: also missing a step that seems crucial... re squashing the files to make a .sqsh file to use?
Click to expand...
Click to collapse
i fixed(add the missing steps) it but i dont have a copy of 8/8 ion personally. any ion system.sqsh build will work. if anyone has one please post it!
TheKartus said:
The 8/8 file is a .img file, not .sqsh. Terminal tells me it can't find a sqash superblock on the file, or something to that extent.
EDIT: also missing a step that seems crucial... re squashing the files to make a .sqsh file to use?
Click to expand...
Click to collapse
jamezelle said:
i fixed(add the missing steps) it but i dont have a copy of 8/8 ion personally. any ion system.sqsh build will work. if anyone has one please post it!
Click to expand...
Click to collapse
i just mounted the system.img and copied all the files to a new folder....that way then u dont have to mount the system.img everytime u are porting a rom
my steps to do that
[email protected]:~# cd Android
[email protected]:~/Android# dir
hi Inferno sensehero13 SenseHERO-v1.4_NoTheme senshero
signed-Hero_Inferno_Final signed-Hero_Inferno_Final.zip
system-2009-08-08.img system-sensehero-20091009.sqsh
TOOLS
ZipAlign.sh
[email protected]:~/Android# mkdir ion
[email protected]:~/Android# mount -o loop system-2009-08-08.img ion
[email protected]:~/Android#
Could someone please define...
Could someone please define rootfs, zIMage and the other parts that go into an Android build? If you're going from say, donut, to eclair, which ones can you reuse? I think I understand that the system.sqsh is what makes a build donut or eclair and actually is the file that has the customizations in it. But, what do the other parts do? If this is the wrong place to post this, mods, please move this. Thanks.
Sally
Hey guys, don't know if anyone else is having this issue or not.
I'm trying to work with the Topaz kernals...I downloaded the XDAndroid 2.1 system.sqsh and was able to unsquashfs it fine on my Vector Linux box...but I want to do the same to the TopazKernal16 system.sqsh (donut) but when I run unsquashfs it makes it to about 70% (highest I got to was 80% on one try) and then stops saying "killed".
any way to remedy this? also, what is the simplest way to "re"squash it?
Thanks!
iceman198 said:
Hey guys, don't know if anyone else is having this issue or not.
I'm trying to work with the Topaz kernals...I downloaded the XDAndroid 2.1 system.sqsh and was able to unsquashfs it fine on my Vector Linux box...but I want to do the same to the TopazKernal16 system.sqsh (donut) but when I run unsquashfs it makes it to about 70% (highest I got to was 80% on one try) and then stops saying "killed".
any way to remedy this? also, what is the simplest way to "re"squash it?
Thanks!
Click to expand...
Click to collapse
You just posted in the wrong forum altogether. This section is for the Vogue, not for the Topaz. Try to ask there on in one of the xdandroid threads. This project is different from xdandroid. Thanks.
egzthunder1 said:
You just posted in the wrong forum altogether. This section is for the Vogue, not for the Topaz. Try to ask there on in one of the xdandroid threads. This project is different from xdandroid. Thanks.
Click to expand...
Click to collapse
Sorry, thanks...
iceman198 said:
Sorry, thanks...
Click to expand...
Click to collapse
No prob
I would be interested in the Android's filesystem breakdown. Just some guide on what exactly is in the system, and then rootfs.img and then the modules. If someone could point me in the right direction, that would be much appreciated!
Thanks!
iceman198 said:
I would be interested in the Android's filesystem breakdown. Just some guide on what exactly is in the system, and then rootfs.img and then the modules. If someone could point me in the right direction, that would be much appreciated!
Thanks!
Click to expand...
Click to collapse
pm dzo, he will probably be able to help you there.
egzthunder1 said:
pm dzo, he will probably be able to help you there.
Click to expand...
Click to collapse
Thanks egzthunder1!
iceman198 said:
Thanks egzthunder1!
Click to expand...
Click to collapse
Not a problem. Good luck!
Debian for Desire.
If you are able to try this on another android device, please do as I will be very interested in the results.
Download
http://www.multiupload.com/79TSI1AAF9
You will need.
-Root access.
-Busybox (included in most custom roms)
-1.4gig free on SDCARD
-VNC Client (ie. AndroidVNC)
-Terminal Emulator (ie. ConnectBot)
-7zip
Instructions
-Extract the file deSIREbian.7z on your PC using 7zip.
-Copy the contents (debian.img and deboot) to root directory of SDCARD.
-On your phone in terminal emulator type
su
sh /sdcard/deboot
Click to expand...
Click to collapse
You should get a blank screen showing "localhost:/#" after a couple of seconds.
-On your phone in your VNC client log in using these details
Password - password
Port - 5901
Click to expand...
Click to collapse
Nickname and Address are not needed, call it what you want though.
Changing the colour to 24bit and enabling local mouse pointer and full screen bit map are not neccesary but reccomended.
-Thats it.
Notes.
-You can log in via ssh, (gives a much better terminal, ie works properly with aptitude). Use [email protected] and password "toor"
-The version of Debian is Armel Lenny, installed using debootstrap.
-It is just the base package with LXDE on top, you only get a desktop, a file browser, an internet browser, and a pic viewer.
-If you want more packages there's tonnes of room on the image. eg apt-get install openoffice.org or apt-get install abiword or apt-get install any flipping thing u want
-You can access the SDCARD from Debian at "root/sdcard" (read-write)
-You can access Debian filesystem from Android (When Debian is running) at "sdcard/debian" (read only)
-debian.img is mounted at "sdcard/debian" using "dev/block/loop5"
-So far the only rom i have come accross that this dont work with is one of the cyanogen nightlies from last week. apart from that, working on opendesire, cyanogen, defrost, leedroid, official 2.2 with busybox...
Issues.
Debian cannot be shut down. You need to reboot the phone to do this. (You can kill the VNC server with "vncserver -kill :1" there is an icon on the festoons to do this.)
Update log.
deSIREbain.
-First release.
deSIREbain2
Fixed
-Loading a second terminal no longer breaks vnc.
-You no longer need to create the folder debian on sdcard.
Added
-ssh server (login with root and toor)
Removed.
-The image has been downsized from 2 gig to 1.4
Hey,
thank you for your work, i will test it so far and will tell you the results
got this error:
Code:
# su
su
# sh /sdcard/deboot
sh /sdcard/deboot
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
mount: mounting /sdcard on /sdcard/debian/root/sdcard failed: No such file or di
rectory
net.ipv4.ip_forward = 1
chroot: can't change root directory to /sdcard/debian: No such file or directory
#
If you have the same problems try out
su
mkdir /sdcard/debian
losetup /dev/block/loop3 /sdcard/debian.img
mount -t ext2 /dev/block/loop3 /sdcard/debian
ls /sdcard/debian
thx to mercianary for help
greetings
I found this guide quite helpful at getting a bootstrapped Debian setup running.
http://www.saurik.com/id/10
I didn't need to insert the ext2 module as it's already loaded for me, I guess G1s didn't have that convenience back then.
blackstoneuser5 said:
I found this guide quite helpful at getting a bootstrapped Debian setup running.
www . saurik.com/id/10
I didn't need to insert the ext2 module as it's already loaded for me, I guess G1s didn't have that convenience back then.
Click to expand...
Click to collapse
I used parts of this for reference too. Its a great guide, explains things really well.
i've just updated this. link is in the first post.
Fixed
-Loading a second terminal no longer breaks vnc.
-You no longer need to create the folder debian on sdcard.
Added
-ssh server (login with root and toor)
Removed.
-The image has been downsized from 2 gig to 1.4
debian for desire--help please
hi
I spent much time for searching debian or ubuntu for desire, but nothin worked
know i found this and i have download everything and start to install over the terminal
but the " sh /sdcard/deboot" is not workin to
there's only this answer:
# su
su
# sh /sdcard/deboot
sh /sdcard/deboot
[: not found
losetup: not found
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
busybox: not found
sysctl: not found
chroot: not found
may somebody help me?
i really want to have it on the desire
thanks
It looks like you had not installed busybox
Which ROM do you use ?
oh i'm sorry
i'm a newbie and don't really know what a rom is
but i had problems with busybox and there was a somebody who said i can get the app titanium and let it install the busybox
could you please show me a tut how to install busybox
maybe a german tut
thanks
Getting error at: sh /sdcard/deboot
line 5: syntax error near unexpected token `else'
Rosi1337 said:
Getting error at: sh /sdcard/deboot
line 5: syntax error near unexpected token `else'
Click to expand...
Click to collapse
dont know why that happened.. works on mine. syntax looks ok to me.
try with this one (attatched), it's the same but without the bit that's not working for you.
what rom are you using, i shall try to replicate the error so I can try to fix properly.
thepuechen said:
could you please show me a tut how to install busybox
maybe a german tut
thanks
Click to expand...
Click to collapse
There should be a guide on installing busybox somewhere if you want to search for it, i know i remember seeing one a while ago.
Too be honest, your better off just flashing a rom that includes busybox, it would be MUCH easier.
have a look here and see what takes your fancy, I would recomend defrost, because it is stable and easy to overclock.
Thanks mercianary,
It works fine!,
I use customised DeFroST_0.9b_uvonly with USB-host patch.
By the way I would like to add more options to kernel line.
Where can I find like a menu.lst file ? or How to add it to kernel line.
There is no /dev/graphics/* in running Debian console.
I would like to use FrameBuffer on running Debian.
thanks,
Android VNC won't connect Trying to get a handshake, but then says that VNC connection failed
please paste at that time log
jacobtc said:
Android VNC won't connect Trying to get a handshake, but then says that VNC connection failed
Click to expand...
Click to collapse
Please paste at that time log.
Maybe vnc server does not running.
tknv said:
Thanks mercianary,
It works fine!,
I use customised DeFroST_0.9b_uvonly with USB-host patch.
By the way I would like to add more options to kernel line.
Where can I find like a menu.lst file ? or How to add it to kernel line.
There is no /dev/graphics/* in running Debian console.
I would like to use FrameBuffer on running Debian.
thanks,
Click to expand...
Click to collapse
You should understand that this is not a really booted native linux. Instead you are working in a chroot environment. So there is no kernel running that can get parameters. Only the the stock kernel of your DeFroST. Also there is no FrameBuffer as the graphic hardware ist not accessible. Instead this approach uses a vnc-server to which you can connect via a local viewer.
The advantage of this approach is clear:
- run almost any linux package available in the debian repository
- use your phone as before with the nice android
The disadvantage:
- no graphic output, so no 3D-games (which are rare under linux on the arm platform ;-)
- you can crash your android by eating up to much ram (not such a problem - it restarts on its own and if not you just have to reboot)
Thread is dead?
It seems this thread is dead. The problems many users seem to have come from a dirty setup. The image is broken in many terms:
- wrong file permissions on important binaries, like su
- wrong file permissions on many device files under /dev, so the ttys are only accessible by root
- wrong permissions on other places so there are always errors when installing additonal software (e.g. with the man pages)
- wrong setup that uses the root user for the desktop - instead an unprivileged user should be used
- missing packages for timezones and locales so the time is only right, if you are in a UTC region and console programs having trouble displaying anything else then plain english
I can not recommend using this setup image. It is better to use one of the instructions available online to get a clean setup.
Su doesn't work because your allready root.
Getting anything but root to work would be a real pain.
As you said its a chroot environment, its never going to be perfect.
The image was made using debootstrap just like all the other 'clean' ones.
Yep, it is broken as hell, but it works for what most people would need it for...make,gcc,python,a proper web browser,torrents, and some emergency word processing on the train to work.
The problem most people have is not being able to mount the image, this is due to fro-yo a2sd taking up all the loop devices.
Just thought I'd add my 2 cents.
I tried this on a MIUI rom and the scripy didnt do anything - ie i ran it using:
"# sh /sdcard/deboot"
.....and all it said was:
"#"
I entered all the lines in the shell script but the last one said it failed to launch VLC and no commands registered property (not even ls)
So i tried it on Defrost 5.1, and the script still didn't work.
But when i entered everything manually, it did work. Not too sure about the green theme though.
But thanks alot! Saves me spending a few hours trying to coax a working debootstrap out of my computer.
Thanks!
Josh.
mercianary said:
Su doesn't work because your allready root.
Click to expand...
Click to collapse
Nope. Actually su works only for root. It's missing the setuid root flag like all other binaries that should have it set.
mercianary said:
Getting anything but root to work would be a real pain.
Click to expand...
Click to collapse
Nope. I am always working as a normal, unprivileged user in my chroot. You just have to be in the proper groups. No need to work as root. Android works also with an unprivileged user.
mercianary said:
As you said its a chroot environment, its never going to be perfect.
The image was made using debootstrap just like all the other 'clean' ones.
Yep, it is broken as hell, but it works for what most people would need it for...make,gcc,python,a proper web browser,torrents, and some emergency word processing on the train to work.
Click to expand...
Click to collapse
This is what I do not understand. There is no need that it is broken, as mine works without any errors. So I think something went wrong in creating yours. For sure a chroot is no running OS but you can server almost any service with it and run anything you want (if your ram does not get exhausted ;-).
mercianary said:
The problem most people have is not being able to mount the image, this is due to fro-yo a2sd taking up all the loop devices.
Click to expand...
Click to collapse
Yes. Everyone with a good rom should have a2sd+ (aka the old a2sd) which saves more space than the froyo one and leaves your loop devices for you.
jo
This will not be worked on any longer thanks to Huawei's incompetence. I'm glad my main phone isn't by them. I leave my 0.2 diff attached (which did make my phone faster FWIW - and has fsync() control. Not of use to me, but people who use a modified libsqlite would like it...). Feel free to apply it and see if you can somehow fix dhd.ko loading.
Hi,
Not one for names, so this shall be known as "OC kernel" This is built from the ICS U8800pro source that Huawei put out.
Install at your own risk; I take no responsibilty for any damage that may occur through the usage of this kernel.
Features:
ADB as root
Overclocking enabled (thanks to genokolar)
Undervolting interface added (from genokolar, who took it from a SE kernel modder somewhere) - I think SetXperia can use it
SIO I/O scheduler added
SmartassV2 cpufreq scheduler (AnDyX mod) - although I think ondemand does a bit better IMO
sysfs entry to turn off keypad lights (I wrote an applet for this some time back, I'll dig it out later)
Logcat is always enabled now as the ServiceMenu toggle doesn't work anymore
Minimum display backlight is set to 15, but I think Android needs a framework change to use it. You could try RootDim
Kernel actually builds (and Bluetooth works)
ZRAM (+ swap) support. ZRAM is optimized for Android (taken from Siyah kernel). I'll write up the instructions on enabling this later
CIFS as module
Extras:
Change schedulers and phone speed:
Use a tool like No Frills CPU or SetCPU.
Turn off button lights:
Install the ButtonLight widget and add it to your main screen. I've published the source before in another thread; seek it out if you're after its (bad) code.
It's buggy the first few times you run it, but works fine after that.
Dim screen to 14:
The minimum backlight level is now set to 15. RootDim from the Play Store lets you set it to that.
Mount Windows shares:
Grab CifsMounter and point it to the cifs.ko in /system/lib/modules. You may also need to insmod nls_utf8.ko and md4.ko.
Enable ZRAM (taken from Siyah kernel):
(Note I've not used ZRAM so I have nothing to say on its stability, good or bad)
Grab a BusyBox binary from somewhere
Run the following commands:
Code:
echo 90 > /proc/sys/vm/swappiness #You must set the swappiness high to ensure that the compressed RAM is accessed first!
echo $SIZE > /sys/devices/virtual/block/zram0/disksize #Set size to whatever you wish. 100MB is 104857600 = 100 * 1024 * 1024
busybox mkswap /dev/block/zram0
busybox swapon /dev/block/zram0
Dump the lines in install-recovery.sh if you want to be ZRAMMed every time you boot the phone (although in that case, make sure you have
Code:
busybox swapoff /dev/block/zram0 > /dev/null 2>&1 #Use > /dev/null 2>&1 for every busybox command in install-recovery.sh as it will discard any messages outputted
echo 1 > /sys/devices/virtual/block/zram0/reset
before the lines above)
Install:
Flash the attached ZIP in CWM recovery. You should backup your original boot.img and /system/lib/modules first
Source:
Take http://www.huaweidevice.com/worldwi...=toDownloadFile&flay=software&softid=NDY3NTU= and apply attached diff
at last..xaaxxaa!!but why with modules too???whats their use?
pikachukaki said:
at last..xaaxxaa!!but why with modules too???whats their use?
Click to expand...
Click to collapse
'cause I add a new module - cifs (used by CifsMounter if you want to mount Windows shares) - and because the modules that are originally in /system/lib/modules need to be replaced so that they can load with this kernel (I don't know what those modules do, but I'd rather play it safe)
qwerty12 said:
'cause I add a new module - cifs (used by CifsMounter if you want to mount Windows shares) - and because the modules that are originally in /system/lib/modules need to be replaced so that they can load with this kernel (I don't know what those modules do, but I'd rather play it safe)
Click to expand...
Click to collapse
Boot normally change io to sio and smartassv2...1500mhz lets check..good work..i envy you and i want your guide on compiling...xaaxax im off to bed!!
fps is locked!!xaaxax
pikachukaki said:
Boot normally change io to sio and smartassv2...1500mhz lets check..good work..i envy you and i want your guide on compiling...xaaxax im off to bed!!
fps is locked!!xaaxax
Click to expand...
Click to collapse
I'll write it up sometime - but bear in mind I'm not an expert at this
Regarding FPS: do the install-recovery.sh trick
Only thing I modify in initramfs is the ro.secure setting so that ADB can be ran as root
qwerty12 said:
I'll write it up sometime - but bear in mind I'm not an expert at this
Regarding FPS: do the install-recovery.sh trick
Only thing I modify in initramfs is the ro.secure setting so that ADB can be ran as root
Click to expand...
Click to collapse
You did a great job i couldnt even compile the kernel without changes!!you did great!!
the difference is obvious !!
Sent from my U8800Pro using xda premium
Pika When U add This Kernet To ur ROM?
As expected from qwerty12!
Great job!
I'll also request a guide on how to build the kernel like pika asked.
Hope you continue to improve the kernel! A thanks is simply not enough to thank you for your work, but thanks again
husen4u said:
Pika When U add This Kernet To ur ROM?
Click to expand...
Click to collapse
I wont!just d/w it and flash it!simple!
Sent from my U8800Pro using xda premium
Now what you suggest oc ics or kalo gb?
Sent from my U8800pro using xda app-developers app
husen4u said:
Now what you suggest oc ics or kalo gb?
Sent from my U8800pro using xda app-developers app
Click to expand...
Click to collapse
From now on i wont ever go back to GB ever again! if our luck changes and someone release cm9 i will forget what gb is!! there are some small bugs but the rom is usable for everyday!!
Moihack said:
As expected from qwerty12!
Great job!
Click to expand...
Click to collapse
Thank you
I'll also request a guide on how to build the kernel like pika asked.
Click to expand...
Click to collapse
Certainly, sir.
Hope you continue to improve the kernel! A thanks is simply not enough to thank you for your work, but thanks again
Click to expand...
Click to collapse
Unfortunately I won't be working on this anymore unless Huawei get back to my request for the source to the the dhd.ko module (which they may not have to comply with because the license for the module states "Unless you and Broadcom execute a separate written software license agreement governing use of this software" so the U8800pro version may not be under GPL). I made (well, found on the Internet) more optimizations but the Wi-Fi refuses to turn on because the dhd.ko module refuses to load. Only way I can get something working is to build the source that Huawei give or attempt to force other versions of the bcm source to load, but it's unlikely that would work.
--
Anyway, a small guide.
I used an x86_64 laptop running (X)ubuntu 12.04.1 to follow these steps. This page was a great resource.
Prerequisites:
A computer running GNU/Linux (a Mac should work in theory - the same toolchain we use is built for it, too, but I have no idea how OS X works)
git installed (apt-get install --no-install-recommends git-core is enough under Ubuntu)
sudo apt-get install flex bison gperf build-essential libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib abootimg
Getting ADB working
One of the best things to do is getting ADB set up, as you then have easy communication with the device. It's not essential but you'll just end up wasting time transferring files through other, longer means.
Grab the Linux platform tools ZIP from here: http://www.hariadi.org/android/manually-download-of-android-sdk-tools-and-sdk-platform-tools/. Extract the adb binary from the zip file, preferably to somewhere in your $PATH. chmod 755 it. chown, if necessary.
Next, open http://aur.archlinux.org/packages/an/android-udev/android-udev.tar.gz and, doing all this as root (sudo in Terminal etc.), place 51-android.rules in /lib/udev/rules.d/ (not the best place - but it works), chmod 644 it and chown root:root it.
Next, execute /usr/sbin/groupadd adbusers, followed by gpasswd -a USERNAME adbusers, USERNAME being the user you normally log on with.
Restart (while you can force Linux to see the new group through the, well, newgrp command udev will not "see" the new rule, despite how much you try with udevadm).
That should be ADB set up (give it a test, remembering to enable USB debugging mode on the phone first!).
On to preparing your workarea.
--
Create a new folder in your home folder and cd to it. This folder will house the prebuilt folder of toolchains and other stuff, and the kernel source in a folder of its own.
In this folder, execute git clone --depth 1 https://android.googlesource.com/platform/prebuilt.git and move onto the next step, since the download takes a while. That command grabs the prebuilt toolchain from Google using Git, but doesn't obtain a deep history for each file to make the download quicker.
Open http://www.huaweidevice.com/worldwi...=toDownloadFile&flay=software&softid=NDY3NTU= and save the source to your Downloads directory. After git has finished running, still in the folder with the "prebuilt" folder, execute tar jxf ~/Downloads/HUAWEI_U8800pro<tab - as in actually press tab> and you should have a kernel folder alongside the prebuilt one.
Building the kernel
cd to this new kernel folder.
First things first: make sure that Bluetooth is properly enabled by editing the Makefile. Find the line #ifeq ($(ENABLE_BTLA_VER30),true) and comment out every line in that section except for KBUILD_CFLAGS += -DHUAWEI_BT_BTLA_VER30 so you end up with this:
Code:
#/* < DTS2012020604357 zhangyun 20120206 begin */
# Add Huawei Marco for different BT chip
#ifeq ($(ENABLE_BTLA_VER30),true)
KBUILD_CFLAGS += -DHUAWEI_BT_BTLA_VER30
#endif
#ifeq ($(ENABLE_BLUEZ_VER30),true)
#KBUILD_CFLAGS += -DHUAWEI_BT_BLUEZ_VER30
#endif
#/* DTS2012020604357 zhangyun 20120206 end > */
Commenting out the offending code leaves you with a kernel that builds but a Bluetooth module that won't start up - the same also applies if you try to build with the other define.
You can also make things easier for yourself by replacing the following
Code:
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
with
Code:
ARCH ?= arm
CROSS_COMPILE ?= ../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
else you will have to put "ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-" after "make" each time. Remember this as I'll be assuming that you went for the option to edit the Makefile. I also assume that the prebuilt folder is above the kernel one. Adjust CROSS_COMPILE if necessary.
The ARCH variable is self-explanatory, but the CROSS_COMPILE variable (and the toolchain that it's pointing to) need to be set because the standard GNU development tools that apt installs don't produce output that an ARM processor can understand. So you cross-compile: the tools are for the X86 architecture but produce ARM output. 4.4.3 is chosen because the stock kernel is compiled with GCC 4.4.3 (if you run "adb shell cat /proc/version" you'll see). The arm-eabi-4.4.3 folder is chosen over arm-linux-androideabi-4.4.x because it specifies that magic "3" (I know, bad way to decide but it works), and over i686-android-linux-4.4.3 because we don't want to produce code for the PC.
Get the current configuration in use by the stock kernel (as that's a good point to start from - a known working configuration): http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source#Configure_the_Build
I'd also recommend placing a copy of .config as arch/arm/configs/<your funky name here> so that if .config gets deleted (make clean etc.) you can run make <the name you gave to the file in arch/arm/configs> and have .config come back again.
(cp arch/arm/configs/<the name you gave to the file> .config if you didn't modify the Makefile to specify the ARM arch.)
Run make oldconfig (not always necessary - generally it's invoked if you've applied a patch that introduces a new config option and the option then needs to go into your .config. Run make menuconfig afterwards and customize away.
When you're done, run make -jX - X as in the number of cores you have + 1. So, in my case, with a quad-core processor and HyperThreading enabled on all of them, "make -j9" works for me. If the compile went OK, you'll be left with a message saying that arch/arm/boot/zImage is ready. If not, run "make" without the -jX argument and make should stop where the error occurs. Have fun fixing the error!
Assuming that you have a new, shiny zImage, it's now time to put it into your boot.img.
Updating your boot.img:
Google have tools for this purpose but I've never used them so I don't know how they work. abootimg works fine for this, however.
Pull the current boot.img off your phone: adb pull /.cust_backup/image/boot.img.. I'd recommend creating a backup somewhere.
Create a new directory to store the boot.img in on your computer and run abootimg -x boot.img (if you had fun enabling every option in the kernel, you'll see why I'm telling you to use the -x option first rather than directly use the -u option). Now run abootimg -u boot.img -k <path to your newly built zImage>.
If this succeeds, yay! If not and you're told it's too big for the boot image, then don't worry. Take the size it's saying that the zImage is and convert that number into hex. Edit bootimg.cfg and change the value of the bootsize setting into the number you just converted into hex. We'll now repack again, but this time running abootimg -u boot.img -f bootimg.cfg -k <path to your newly built zImage>. This should work.
Sending the boot.img to the phone
If your ADB is already running as root, you can do the following to upload the new bootimg:
Code:
adb shell mount -o remount,rw /.cust_backup
adb push boot.img /.cust_backup/image/
adb reboot
If not, just reboot into pink screen mode and copy and paste.
Check System Settings and the version number should've changed. Congratulations!
Extras
Installing the modules:
OK, so you decided to build parts of the kernel as a module and you want to actually, y'know, have the modules present on the device. After building the kernel, execute:
make INSTALL_MOD_STRIP=1 modules_install INSTALL_MOD_PATH=<any folder name here>
If you look in that folder, you'll find the modules neatly wrapped up in folders, along with other text files. These text files are useless on a stock ROM because there's no modprobe - you need BusyBox for that. And since we don't want to have them seperated in folders (this is how the stock kernel does it), the files would be wrong, anyway. If you want to use modprobe and have BusyBox installed, you can run depmod on the phone after transferring the modules.
To get the modules into one folder make the directory "modules" in a folder higher-up to where the modules are stored, and then run for i in `find . | grep ko`; do mv "$i" ../modules/; done to move them into that folder.
At this point, I'd just recommend using my OC_Kernel.zip and replacing the modules in that. Or you can adb push them over to the /system/lib/modules folder (after issuing an "adb remount" - assuming that ADB is running as root in the first place).
Making ADB run as root:
As root on your computer, (we want to preserve permissions) use abootimg to split the boot image and extract the contents of the initrd:
abootimg -x boot.img && mkdir newramdisk && cd newramdisk && zcat ../initrd.img | cpio -i --no-absolute-filenames (--no-absolute-filenames is important! I trashed a Ubuntu install by leaving it out - the initrd contains ARM binaries of core Linux programs and if the initrd.img contains an absolute path of "/" then these files will get placed in /)
Make any changes you desire to the initrd. To have adb run as root, just edit /default.prop and set ro.secure to 0. Make sure that the editor you used didn't leave any backup files.
When you're done, run find . -print | cpio -o -H newc | gzip -n -9 > ../initrd.img and this will put the modified initrd folder back into initrd.img.
After that run cd .. ; abootimg -u boot.img -r initrd.img to actually put the initrd.img back into the boot.img.
If you run into a space error, you can do one of three things:
if you only made a single change (like enabling ADB), check to see that there is no backup file (default.prop~) littered about
you can remove the lengthy comments and copyright notices from the files to make space
you can use the trick we used earlier with abootimg to increase the size number in bootimg.cfg for the initrd
Overclocking:
Just look at the acpuclock C file (and possibly relevant cpufreq changes - but I can't remember) in my "OC kernel" diff. Make sure that the option in the kernel config is selected to limit the speeds to the U8800pro's native 1GHz, otherwise the phone will boot at 2GHz!
Rebuilding the Wi-Fi module:
I hope to be able to write this one since it's apparently needed in some cases, but it depends on if Huawei come through
any idea about this error?
drivers/mfd/pmic8058.c:327: error: rtc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:327: error: rtc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:241: error: othc0_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:241: error: othc0_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:250: error: othc1_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:250: error: othc1_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:261: error: othc2_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:261: error: othc2_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:183: error: misc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:183: error: misc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:210: error: thermal_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:210: error: thermal_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:270: error: batt_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:270: error: batt_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:152: error: pm8058_charger_resources causes a section type conflict
drivers/mfd/pmic8058.c:152: error: pm8058_charger_resources causes a section type conflict
matteof93 said:
any idea about this error?
drivers/mfd/pmic8058.c:327: error: rtc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:327: error: rtc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:241: error: othc0_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:241: error: othc0_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:250: error: othc1_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:250: error: othc1_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:261: error: othc2_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:261: error: othc2_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:183: error: misc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:183: error: misc_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:210: error: thermal_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:210: error: thermal_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:270: error: batt_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:270: error: batt_alarm_cell_resources causes a section type conflict
drivers/mfd/pmic8058.c:152: error: pm8058_charger_resources causes a section type conflict
drivers/mfd/pmic8058.c:152: error: pm8058_charger_resources causes a section type conflict
Click to expand...
Click to collapse
Honestly, I have no idea. What toolchain are you using and where was your .config obtained from? Even when the Bluetooth thing was giving me errors, I never once saw that
same toolchain you have used. i have tried with ubuntu 12.04 x64 and ubuntu 10.04 x86 but same problem.....i have obtained my config from my phone using adb command
matteof93 said:
same toolchain you have used. i have tried with ubuntu 12.04 x64 and ubuntu 10.04 x86 but same problem.....i have obtained my config from my phone using adb command
Click to expand...
Click to collapse
I don't know why the same toolchain works on my laptop but not yours :\
Someone with a similar problem (same?) solved it by using an older toolchain: http://forum.xda-developers.com/showpost.php?p=27294383&postcount=7157
thanks thanks thanks.....i saw that post this morning but i did not noticed the post with the solution
UPDATE: NOW KERNEL COMPILED CORRECTLY....this means that tomorrow i know what to do
ZRAM (+ swap) support. ZRAM is optimized for Android (taken from Siyah kernel). I'll write up the instructions on enabling this later
qwerty your owning us some instructions!!xaaxxa
pikachukaki said:
qwerty your owning us some instructions!!xaaxxa
Click to expand...
Click to collapse
Done, check the first post
I also won't be working on this. My email (which does clearly state what I want, even if it's long-winded):
Dear Sir/Madam,
I recently built a kernel for my U8800pro from your sources and it
works fine, except that the Wi-Fi will not start because the dhd.ko
module that comes with the B928 firmware refuses to load into my
modified kernel. After looking around, the bcm4329 source is what I
need to build (usually distributed outside of the kernel); however, it
seems that the U8800pro uses a customized version. After looking at
the strings of the dhd.ko on the B928 firmware, I have seen many
strings that are present in that dhd.ko binary do not appear in:
* bcm_4.218.248.6_7x25_wifi_driver.tar from the Huawei Device website,
despite it having the same version number
* the bcm4329 source in the Qualcomm CodeAurora Git repository
* the bcm4329 source on the NyVIDIA Tegra Git repository
Furthermore, the strings also do not appear in the ICS kernel nor the
Gingerbread one. I can only conclude that Huawei have their own
specialized version of the bcm4329 4.218.248.6 source for the U8800pro
that is distributed outside the kernel. I understand that Qualcomm
allow the option to let the vendor arrange to have the code
distributed under a different license provided that the vendor makes
an agreement beforehand with Qualcomm. Otherwise it becomes GPLed by
default. If Huawei chose to make an agreement, then I have no right to
ask. However, I believe it is still licensed under the GPL for two
reasons:
* Running modinfo on the dhd.ko from the B928 firmware says this:
"license: GPL v2
* Both bcm_4.218.248.6_7x25_wifi_driver.tar.gz and
[S7][SoftWare]S7_Broadcom_BCM4329_4.218.205.0_Open_Source are under
the GPL
I would like to request the source code, please, of the bcm4329
4.218.248.6 source that is modified for the U8800pro if the code is
under the GPL
Best regards
Click to expand...
Click to collapse
was met with the following generic response:
Dear Customer,
Thank you for contacting Huawei device.
This is our website link http://www.huaweidevice.com/worldwide/searchResult.
do?method=execute&searchString=U8800pro where you can download the secure
code for U8800pro to you.
Once again thank you for contacting Huawei device.
Best Regards.
Huawei Device Customer Care Team.
Click to expand...
Click to collapse
Since my U8800pro is not my main phone anymore, I do not have the energy to fight. Nor do I want to work on Huawei's kernel, where you have to be careful about what you change or the Wi-Fi module won't load (and Huawei won't give you the source - which they should do since I'm sure it's under GPL). matteof93 will most likely produce something better or when everyone starts producing their own kernels and make enough improvements to be hit with the same issue as I, they'll start to get more emails and listen
@qwerty at the last command it said that device is busy...also is there any way that you can make it for init.d so it will be easier??thx!!
Edit: bootloop, partitions are not mounting.
nagato.fm said:
I'm trying to port an X5PRO rom to regular X5 and facing an issue of unworking wi-fi and USB mass-storage. All data I have: it's all right with IMEI, wi-fi and bluetoth MAC's are missing, serial number is missing, wi-fi toggle in settings is inactive (I mean it can't be turned on and if I try to turn it on directly from wi-fi settings it says "an error occured" and goes inactive again), when I'm connecting my phone to computer and trying to turn on storage I get message of dismounting SD card and the storage stays turned off.
I've already tried to change the kernel (this ROM is running 3.0.8 PRO kernel and I've used Dzo's v5.0u17 kernel) and it haven't fixed my problems. Changing of /system/libs/hw/ to the Aurora's resulted in non-bootable rom.
Have you any ideas of how to solve it? Or is there any threads about x5pro to non-pro porting I could miss? (I've tried to google anything about problems with my port and about porting from U8800PRO and found... nothing)
Click to expand...
Click to collapse
I have no ideal to give you because i'm not a DEV, but in the whole 4rum, you can easy find out the solution to help you.
http://forum.xda-developers.com/showthread.php?t=1941239
Those so called tutorials are pretty much useless, they will help you get the base on, but no more.
So, since U8800+ has a different Wi-Fi, you should first replace /system/lib/libhardware_legacy.so, /system/bin/wpa_supplicant with the dzo ones. Then copy over the /system/lib/modules directory, it contains Wi-Fi modules needed.
If it does not work out, try to modify the init.huawei.rc or init.rc and replace service wpa_supplicant and related configs with dzo ones. Note that you will have to modify boot.img, because it contains the init files. So use a boot.img unpacker, modify it, then repack it again.
Try to get me the logs too .
Blefish said:
Those so called tutorials are pretty much useless, they will help you get the base on, but no more.
So, since U8800+ has a different Wi-Fi, you should first replace /system/lib/libhardware_legacy.so, /system/bin/wpa_supplicant with the dzo ones. Then copy over the /system/lib/modules directory, it contains Wi-Fi modules needed.
If it does not work out, try to modify the init.huawei.rc or init.rc and replace service wpa_supplicant and related configs with dzo ones. Note that you will have to modify boot.img, because it contains the init files. So use a boot.img unpacker, modify it, then repack it again.
Try to get me the logs too .
Click to expand...
Click to collapse
The problem is that I've changed the kernel using abootimg package in Ubuntu because none of the scripts for unpacking/repacking boot.img found on this forum worked for me, also I couldn't unpack ramdisk so I think I can't modify init.rc at this moment. I'll try to get some logs and do all that you've mentioned.
Also there is another problem: no mobile network at all. When I turn on the phone the indicator goes gray and nothing seems working (can't phone someone and etc.). When trying to change mobile operator via settings I get a VERY strange menu asking me for PIN code (I actually don't have one - I've disabled it years ago).
Also I need to ask for some tutorials or knowledge bases about how android works and how core parts of android work (I mean EVERYTHING I can get) because I actually don't know ANYTHING about android and there's no noob-friendly tutorials or FAQ's over the internet. I've checked xda-university and it didn't helped either.
Anyway thanks for your help, Blefish!
After following your instructions system hangs on boot. When first flashed it started to "updating android:setting applications..." and then it rebooted. Then it said "updating... 1 of 1" and another reboot. Seems like framework-res isn't starting because it hangs on bootanimation and hardware buttons lights are constantly flashing. Installing SDK now, will try to get some logs.
Try to do it step-by-step so first replace one thing, reboot, then try another. That will help us understand what makes the phone hang.
For modifying kernel or init.rc I attatched boot.img unpacker-repacker with README, check it out. I am not sure if you need a Linux box for it, but I use that tool and it works well.
MIUI-XJ (my ROM) is a ported u800pro ROM. But it is a gingerbread ROM.
First of all,you need change all init files in /system. You can found this files in system/etc (example;init.qcom.wifi.sh).And I think the mass stroage problem causing by init.qcom.usb.rc (It can found in boot.img) but I'm not sure.
You should change gralloc files for a better GPU performance. It can found in systen/lib/hw. I think You don't need change other hw files.
u8800 needs system/bin/netd - system/lib/modules/*(anything in this folder) - system/bin/wpa_supplicant - system/lib/liboem_rapi.so - system/lib/libreference-ril.so - system/lib/libhardware_legacy.so - system/etc/init.qcom.wifi.sh - system/etc/firmware/wlan/*(anything in this folder) for turn on WiFi
and also u8800 needs system/etc/init.qcom.bt.sh - system/bin/hci_qcomm_init - system/bin/qmuxd (I'm not sure about this file) - system/bin/sdptool - system/bin/hciattach for turn on BT
And also,you need change init.rc and init.huawei.rc files in boot.img for turn on WiFi and BT.
forumber2 said:
MIUI-XJ (my ROM) is a ported u800pro ROM. But it is a gingerbread ROM.
First of all,you need change all init files in /system. You can found this files in system/etc (example;init.qcom.wifi.sh).And I think the mass stroage problem causing by init.qcom.usb.rc (It can found in boot.img) but I'm not sure.
You should change gralloc files for a better GPU performance. It can found in systen/lib/hw. I think You don't need change other hw files.
u8800 needs system/bin/netd - system/lib/modules/*(anything in this folder) - system/bin/wpa_supplicant - system/lib/liboem_rapi.so - system/lib/libreference-ril.so - system/lib/libhardware_legacy.so - system/etc/init.qcom.wifi.sh - system/etc/firmware/wlan/*(anything in this folder) for turn on WiFi
and also u8800 needs system/etc/init.qcom.bt.sh - system/bin/hci_qcomm_init - system/bin/qmuxd (I'm not sure about this file) - system/bin/sdptool - system/bin/hciattach for turn on BT
And also,you need change init.rc and init.huawei.rc files in boot.img for turn on WiFi and BT.
Click to expand...
Click to collapse
Thanks a lot! Will try it all now!
Okey, now it's a bootloop on splash screen.
Edit: a bootloop was caused by some error in boot.img repack. Will try to repack it again now.
How to enable ADB when booting? On Aurora I could get kernel messages via ADB using adb shell cat /proc/kmsg. And now I really miss this feature.
Okey, great news! Wi-fi turned on, but the phone will fastreboot if I turn it off (framework crash I think) and wont turn on again until a full reboot. Also it isn't really working: no networks found.
No changes at all except Aurora kernel + setprop persist.sys.wifimac mac_param in terminal. After that wi-fi turned on, but even with that prop I have no wi-fi mac.
From that I understand all my problems are from some RIL or hardware libs that don't load or load with mistakes. So I need to know what exactly it can be and what libs are for what. Also I think it can be because of unedited init.rc's in ramdisk so I need to know what to edit in them. I've tried to look through them but I don't understand anything in it.
nagato.fm said:
Okey, great news! Wi-fi turned on, but the phone will fastreboot if I turn it off (framework crash I think) and wont turn on again until a full reboot. Also it isn't really working: no networks found.
No changes at all except Aurora kernel + setprop persist.sys.wifimac mac_param in terminal. After that wi-fi turned on, but even with that prop I have no wi-fi mac.
From that I understand all my problems are from some RIL or hardware libs that don't load or load with mistakes. So I need to know what exactly it can be and what libs are for what. Also I think it can be because of unedited init.rc's in ramdisk so I need to know what to edit in them. I've tried to look through them but I don't understand anything in it.
Click to expand...
Click to collapse
Which ROM are you fixing? Isn't CM10?
Nope, it's some desire z jb rom.
Code:
[email protected]:~# adb shell dmesg
- exec '/system/bin/sh' failed: No such file or directory (2) -
That's what I'm getting now. Already tried to fix this issue with some methods from google, no results. Even tried to adb-push bash from 4pda to system/bin and make symlinks, no results. Phone is in bootloop. Any ideas?
P.S.: sh is actually in both xbin and bin, so the problem is somewhere in the boot.img, right?
Have tried all kind of sorcery, still bootloops and exec '/system/bin/sh' failed: No such file or directory (2). Don't know why this is happening. Either /system mounts on boot in some wrong poing or init.rc is completely messed up. But I've checked everything connected to mounting partitions in all init files (except binaries) and gained nothing. I really need some explanation of what are these files for and what they do and what they MUST do.
If someone can give me answers or advices, please, do it now. Because all my ideas are over and I simply don't know now what to do.
EDIT: with aurora boot.img (no changes at all) results are the same except the message in terminal is now "/system/bin/sh: no such tool"
The system/bin/sh error is caused by not mounting /system properly. Check the init.rc files, it could also be in init.emmc.rc if it's a CM rom.
Find out where the on emmc-fs trigger is; if you can't find it, add it into one of the init.rc files.
Code:
on emmc-fs
# mount mmc partitions
wait /dev/block/mmcblk0p12
mount ext4 /dev/block/mmcblk0p12 /system rw barrier=1
wait /dev/block/mmcblk0p13
exec /system/bin/e2fsck -p /dev/block/mmcblk0p13
mount ext4 /dev/block/mmcblk0p13 /data nosuid nodev barrier=1 noauto_da_alloc
mount ext4 /dev/block/mmcblk0p6 /cache nosuid nodev barrier=1
Not sure that I am following this thread properly. I am just starting out with android devel in Fedora. Have you recompiled the WLAN module?
eyeconic said:
Not sure that I am following this thread properly. I am just starting out with android devel in Fedora. Have you recompiled the WLAN module?
Click to expand...
Click to collapse
Nope, I have no proper skills for that, sorry.
I still need some information
Mostly completely rewrote init. files and still no results.
According to this: (http://forum.xda-developers.com/showpost.php?p=30458679&postcount=1)
The Android Boot Process
Bootloader – In HD2’s case, Magldr or cLK – loads the kernel based on how you have configured the phone.
Kernel – The kernel (zImage) is loaded into RAM along with an initial ramdisk (initrd.gz), which initializes various devices (IO, memory, GPU, etc.), interrupts, and mounts the root file system (/). After this, the first user-space process called init is started.
Init – this is a binary file that is contained within the initrd.gz. The init binary processes init.rc and init..rc , along with other .rc files that are called by these two .rc files. Some of the key functions (from this thread’s perspective) in the order of their initialization/ execution are:
The init process follows the instructions in the init.rc and init.xyz.rc files and creates empty directories including /data. It then mounts the storage devices (partitions in the internal NAND (MTD)) to these empty directories. The NAND partition for system is mounted to /system, followed by the partitions specified for data, cache, etc. The directories for dalvik-cache (/data/dalvik-cache) are also created by the init process after mounting the specified device to /data.
The init process then starts various services including adb, service manager, Volume Daemon (vold) for media like SD Card (FAT partition). Most importantly, the zygote service which initiates the Dalivk-Cache is loaded in this sequence.
As we all know, Android is based on Linux. The boot sequence described above is common for all Linux machines – until the zygote stage. Core Android file like core, framework, services, IME, policy, etc. are executed from the Dalvik-Cache and hence Initialization of the Dalvik Cache is pretty much where Android comes into the picture
The sysinit/ run-parts part, which runs scripts from the /system/etc/init.d later the Zygote stage. No matter how this is done, Android has already started loading by the time the boot process comes to executing scripts in /system/etc/init.d
Click to expand...
Click to collapse
Click to expand...
Click to collapse
the error is in mounting nand partitions, but how can it past to starting adb when it fails on mounting system partitions? I don't understand this.
Download or cook the PRE-ROOTED firmware for ATV580 (Mygica/Geniatech) Rockchip RK3188 ARM Cortex A9 x 4 CPU.
DOWNLOAD ROM - [ROOTED & CLEAN]
Mygica ATV580 Tazpown Firmware (Build 20131213.20140309):
- Download: ATV580.Tazpown.Firmware.Build-20131213.20140309.zip -
Build Information:
Android 4.2.2 Quad Core Enjoy TV Box
Build Number: 20131213.20140309
Release Date: 2014-03-09
Based Mygica Official Build 20131213.102000
Click to expand...
Click to collapse
Change log:
1.) Based on Mygica Official Build 20131213 Android 4.2.2 (Quad Core Enjoy TV Box)
2.) Removed most Chinese and unnecessary or obsolete applications.
3.) Added su (SuperSU v1.93 06.02.2014) and busybox (Busybox defconfig build for 1.21.1 armv71) Android Rooting Utilities.
4.) Switched External SDCard (up to 32GB) with Internal Flash (only 2GB) Memory. Tested: moving apps to SDCard OK!. You should have an micro SD card inserted on your device.
5.) Fixed Black Screen when playing video with Youtube App.
Click to expand...
Click to collapse
Installation Tips:
For a complete information about how install this rom image, scroll down to the bottom of the post.
COOK YOUR OWN CUSTOM FIRMWARE FOR MYGICA ATV580 - DIY!
You can watch the full tutorial process on this video (this video is a little help, the complete steps its only here in this post).
https://www.dropbox.com/s/88330vv1q3p1pzu/Mygica580-custom-firmware.mov
Original Non-Rooted Mygica Latest ATV580 Stock Firmware (official):
http://www.mygicausa.com/boards/search?searchterms=atv580
Based Mygica Official Build 20131012 Android 4.2.2: https://www.dropbox.com/s/kopamtzdr7gv63d/update20131012.img
Based Mygica Official Build 20131213 Android 4.2.2: https://www.dropbox.com/s/36rkjlf98k47uyc/update20131213.img
1. [ON WINDOWS] Extract Rocket Firmware with imgRePackerRK 1.04
imgRePackerRK RockChip's firmware images (*.img) unpacker/packer. Version 1.04 Windows & Linux
http://forum.xda-developers.com/showthread.php?t=2257331&page=2.
How to unpack a firmware IMG (Windows):
1. Obtain firmware IMG [update.img] and imgRePackerRk [above]
2. Extract imgRePackerRk
3. Open command prompt in directory containing imgRePackerRk.exe [hold shift, right click > "open command window here"]
4. Type "imgRePackerRk.exe {IMG_name}.img" [e.g. "imgRePackerRk.exe update.img"]
5. A new directory called "{IMG_name}.img.dump" [e.g. "update.img.dump"] will be created, containing individual IMGs (system.img)
2. [ON UBUNTU] Mount system.img on Ubuntu and mofify!
Code:
sudo mount -t ext4 system.img system-folder -o loop
2.1. [ON UBUNTU] Rooted Android Firmware.
We use SuperSU. You can get SU and BUSYBOX commands from another Android Distribution compatible with RK3188 devices.
In this case we obtained root commands bin/su bin/busybox and xbin/su Rocket 3188 firmware root tools:
RK3066/RK3188 Development Kitchen/Tool by Rockchipfirmware.com/TNT/FMA
You can also get su and busy box commands from:
Minix Neo X7 Custom Firmware
Code:
[email protected]:~/atv/rk3XXX_mod_tool/ref/bin# cp su ~/atv/system-folder/bin/
[email protected]:~/atv/rk3XXX_mod_tool/ref/bin# cp busybox ~/atv/system-folder/bin/
[email protected]:~/atv/rk3XXX_mod_tool/ref/xbin# cp su ~/atv/system-folder/xbin
Code:
#!/bin/bash
#add needed files
sudo cp -fap ~/atv/rk3XXX_mod_tool/ref/bin/su system-folder/bin/su
sudo cp -fap ~/atv/rk3XXX_mod_tool/ref/xbin/su system-folder/xbin/su
sudo cp -fap ~/atv/rk3XXX_mod_tool/ref/bin/busybox system-folder/bin/busybox
#set permissions
sudo chown root:root bin/su
sudo chmod 6755 bin/su
sudo chown root:root bin/busybox
sudo chmod 6755 bin/busybox
sudo chown root:root xbin/su
sudo chmod 6755 xbin/su
This is everything you need for rooting the system. Later you can download SuperSu from Android Play Store Official.
2.2.- [ON UBUNTU] Removed most Chinese and unnecessary or obsolete applications.]
Code:
system-folder/app/
Code:
rm -rf com.waxrain.airplayer-1.apk
rm -rf eHomeMediaCenter_box.apk
rm -rf Facebook_299369.apk
rm -rf flashplayer
rm -rf Music.apk
rm -rf QuickSearchBox.apk
rm -rf RkApkinstaller.apk
rm -rf RkExplorer.apk
rm -rf RKGameControlSettingV1.0.1.apk
rm -rf RkVideoPlayer.apk
rm -rf WifiDisplay.apk
rm -rf youtube_5.0.21.apk
If you really need some of these apps, I packet them into a zip file so you can install them easily as you need:
Download: Official Mygica Firmware Deleted Apps
2.3. [ON UBUNTU] Modify vold.fstab to mount external_sd to REAL sdcard, so you can get more space for your Apps.
VERY CAREFUL WITH THIS!! Just locate duplicate, comments old lines (for security) and modify:
Code:
/etc# vi /etc/vold.fstab
Code:
#dev_mount flash /mnt/sdcard auto /dev/block/mtd/by-name/user
#dev_mount sdcard /mnt/external_sd auto /devices/platform/rk29_sdmmc.0/mmc_host/mmc0
dev_mount flash /mnt/sdcard auto /devices/platform/rk29_sdmmc.0/mmc_host/mmc0
dev_mount sdcard /mnt/external_sd auto /devices/virtual/mtd/mtd9/mtdblock9
To make the externalised writable, you must edit "platform.xml", from "/etc/permissions" adding in "android.permission.WRITE_EXTERNAL_STORAGE" this: <group gid="media_rw" /> Like this:
Code:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
2.4. [ON UBUNTU] FIX Youtube black screen (only audio) on build update.img (UPDATE 20131213)
Edit build.prop file, in order to fix Youtube black screen when playing videos:
Code:
sys.browser.use.overlay = 1
2.5. [ON UBUNTU] Umount Custom System folder (system.img) and copy again to Windows.
Umount system image (system.img) and copy back to windows machine, to repack with imgRePackerPk utility:
Code:
umount system-folder/
3. [ON WINDOWS] Build again the new custom firmware
How to repack a firmware IMG (Windows) [Assuming you have followed above to unpack]
1. Open command window in directory containing imgRePackerRk.exe and *.dump directory
2. Type "imgRePackerRk.exe {dump_name}.dump" [e.g. "imgRePackerRk.exe update.img.dump"]
3. New firmware IMG will be created [name will be name of .dump directory without .dump extension]
4. INSTALL ROM ON DEVICE (update.img)
Put the cooked update.img on USB or SDCard, and insert it on Mygica ATV580, then you can apply the update automatically. Your device will reboot and the firmware update will start. The Mygica Bootloader will search for a file called update.img automatically on external_sd micro sdcard. So you should have an micro sdcard inserted on the device.
IMPORTANT: If the Mygica Bootloader show an error like update.img not found when it try to start update process. Probably is because of switched external_sd with internal flash sdcard, probably the updater bootloader won't find the update.img firmware when reboot. This has a simple solution, just manually copy update.img to both, external_sd and sdcard directory. You should need an good tool like Solid Explorer (available en Android Play Store).
IMPORTANT: If the previous method doesn't help you to install the update.img. You can use an editor to switch back to the original mount external_sd and flash sdcard points in /etc/vold.fstab. You should revert the changes on this file. You should need an good tool like Solid Explorer (available en Android Play Store).
IMPORTANT: Before Install this Rooted Original Firmware, remember it is better to RESET DEVICE, so you can make a brand new install cleaning all data files from the previous firmware.
IN CASE OF EMERGENCY (ALTERNATIVES TO SAVE A BRICKED ATV580)!
In case of you brick your ATV580, there is a way to recover it from the dead... Using Android Recovery System. I don't have the full firmware ready for this, but I made some research about how create FLASEABLE ZIP IMAGES for Android Recovery System. So the trick is create a Flashable Zip with our native update.img firmware inside.
To start Android Recovery System, boot ATV580 use a simple clip putting it on a small hole button located an the bottom of the device and connect power supply at the same time during about 5 seconds. Then you can get into this mode, you can use your remote to navigate the menu. In this mode you can load Flasheable Zip loading this files from Computer to SDCARD reader and then to your device.
- Tools and Samples to Build a Flasheable Zip for Android Recovery System (Save your ATV580) rksigner_tazpown-20140324.zip -
This packet include a sample of flasheable zip for Mygica ATV580 that restore build.prop file from a damaged one, which causes the system boot loop and bricked.Just copy the signed Flasheable Zip and use System Recovery System to load it. This flasheable zip fix the system. If you know the problem or you have enough experience to put a right copy of update.img on Flasheable Zip, you can save any bricked or boot loop device, with this tools. You have more docs and information inside of this package.
Screenshots during the flashing process for the sample flashing included in the tools:
- Android Recovery System
- Android Recovery System Flashing my own Flasheable ZIP
Thanks! Dont Forget To PRESS THANKS Button :good:
If you like my work, please consider to invite me a cup of coffee here!
Hi! You really cool! Thanks a lot!
One question - do you fix it for supporting native 1080p resolution?
jalcot said:
Hi,
finally you can download or cook the PRE-ROOTED firmware for ATV580 (Mygica/Geniatech) Rockchip RK3188 ARM Cortex A9 x 4 CPU.
Thanks!
Click to expand...
Click to collapse
Many thanks for all the work!
I need rooted IMG file.. Somebody help me.. I don't have a PC to cook rom..thanks a lottt
Sent from my rk31sdk using Tapatalk
timothypham said:
I need rooted IMG file.. Somebody help me.. I don't have a PC to cook rom..thanks a lottt
Sent from my rk31sdk using Tapatalk
Click to expand...
Click to collapse
Be parient. I fixed the problem when swap sdcard and flash make it writable. but now I have another problem. When I move apps to SDcard these apps dissapear. I am working arround the solution.
I will get the ROM perfect very very soon.
jalcot said:
Be parient. I fixed the problem when swap sdcard and flash make it writable. but now I have another problem. When I move apps to SDcard these apps dissapear. I am working arround the solution.
I will get the ROM perfect very very soon.
Click to expand...
Click to collapse
Thanks for hard working jalcot. I'm waiting your room with root. I buy ATV580 3 months ago, and can't root it...wait your room.. Thanks again.
Sent from my rk31sdk using Tapatalk
jalcot said:
Be parient. I fixed the problem when swap sdcard and flash make it writable. but now I have another problem. When I move apps to SDcard these apps dissapear. I am working arround the solution.
I will get the ROM perfect very very soon.
Click to expand...
Click to collapse
Thanks for keeping working on it!
Jalcot...where are you... I still waiting you...
Sent from my rk31sdk using Tapatalk
timothypham said:
Jalcot...where are you... I still waiting you...
Sent from my rk31sdk using Tapatalk
Click to expand...
Click to collapse
Yes, thank you for your patient... I've worked hard to cook a perfect clean ROM...
pokatusher said:
Hi! You really cool! Thanks a lot!
One question - do you fix it for supporting native 1080p resolution?
Click to expand...
Click to collapse
Yes! With the new XBMC Gotham Beta I was watching MKV 1080p Movies on my home streaming.
Jalcot...love you so much..you save my Atv... i hate Android no root... i will download rom tonight... thanks your hard work...thank Jalcot again....
Sent from my HTC Sensation using Tapatalk
Great rom Jalcot...thanks so muchhhhhh
Sent from my rk31sdk using Tapatalk
---------- Post added at 12:23 PM ---------- Previous post was at 12:04 PM ----------
I can't use Phone Remote Control Service .. Are you remove it, Jalcot
Sent from my rk31sdk using Tapatalk
timothypham said:
Great rom Jalcot...thanks so muchhhhhh
Sent from my rk31sdk using Tapatalk
---------- Post added at 12:23 PM ---------- Previous post was at 12:04 PM ----------
I can't use Phone Remote Control Service .. Are you remove it, Jalcot
Sent from my rk31sdk using Tapatalk
Click to expand...
Click to collapse
I think so... It is RKGameControlSettingV1.0.1.apk or maybe eHomeMediaCenter_box.apk?
Don't worry, I packed all deleted official apps from the Original Firmware so you can install them easily as you need... You can download them.
Thank so much.. Jalcot..
Sent from my rk31sdk using Tapatalk
I need CWM to install some MOD... Where got it, Jaclcot
Sent from my rk31sdk using Tapatalk
jalcot said:
Yes! With the new XBMC Gotham Beta I was watching MKV 1080p Movies on my home streaming.
Click to expand...
Click to collapse
Launch Antutu and see in System Information real resolution of output, please.Or install small ultility like this and send screenshot
Help me..
Jalcot... can you help me.. plz reup stock firmware for me..
I install PurePerfomes and big bug.. No wifi, no Ethernet detected.. I rollback to your rom but it still bug.. no wifi, no Ethernet... i can't do anything... i hope instal stock firmware will save me...
I can't reinstall your ROM.. I restore factory but it nothing fix.. WiFi and Ethernet is gone... With with me hixhix
Sent from my HTC Sensation using Tapatalk
Everything I have... Not file browser... My ATV is die...
Sent from my HTC Sensation using Tapatalk
Love the clean rooted Rom, many thanks!
Also great job on the internal/external card swap
Gotham latest nightly is still choppy with 1080p content I have but Beyond xbmc 3.3 works great
Thanks Jalcot!