ATTENTION!
AT THIS MOMENT THIS IS ONLY A WORK IN PROGRESS PROJECT,
RECOMMENDED FOR DEVS AND TESTERS ONLY!
To the haters/spammers/etc:
The TeamWin Recovery Project is Open Source Project, available for
everyone and I talked with Dees_Troy, and he accept this project.
In the links you can found a modded kernel from alfsamsung, before you
start a permission war: I have permission from alfsamsung too, since 2012 march,
so do not start "do you have permission???" questions.
Some suggestion:
This is a development thread.
If you want to say: this project is wonderful or a big piece of sh*t, better if you leave it.
Earlier sgt. meow opened a discussion thread about TWRP, if you can't help in the development,
please go there if you want to write something.
I have really few time to work on this project.
If you want to help, write your ideas, and write what do you want to do.
For example:
If you want to work with themes, or any part of the code, please inform me.
XDA Developers site is a COMMUNITY
Better if we share the tasks, and work more developers on ONE project than everyone working alone.
I will try to manage this project, and if the project will be stable, I will send back the code/configuration/etc
changes to the original TeamWin team to help their work.
What is it?
This is a modified TeamWin Recovery for the X8
For more information visit the official TeamWin Recovery Project page.
http://teamw.in/project/twrp2
Whats working:
Touch control
Install zip updates (some zip files need a newer update-binary)
Backup and Restore (except the android_secure folder)
Built in terminal and filemanager
Mounts
Wipes
USB Mount
Need to fix:
Some UI related changes (a few button/checkbox in wrong place)
Backup/restore of the android_secure folder
All non discovered bugs...
How to build from source:
With CM7:
First step: Prepare the build environment
Download the modded CM7_build from Dees_Troy:
https://github.com/Dees-Troy/TWRP2-CM7_build
and replace your own build/core/Makefile with the one from the downloaded file.
Second step: modify the prelinker map
Search the device specific BoardConfig.mk (or BoardConfigCommon.mk) and check where is your prelinker map. Defined with the TARGET_PRELINKER_MAP variable, for example in the MiniCM7 source the TARGET_PRELINKER_MAP point to /device/semc/msm7x27-common/prelink-linux-arm-x8.map
Merge these binaries:
#libraries for TWRP
libmmcutils.so 0x9C500000 # [<64K]
libbmlutils.so 0x9C400000 # [<64K]
libflashutils.so 0x9C300000 # [<64K]
libmincrypt.so 0x9C200000 # [<64K] #This need only is you use crypto
WARNING!!! Check the last address in the original file, and recalculate the added binaries address!!!
With CM9/CM10/AOKP:
Waiting for other devs
TWRP related settings (merge into the BoardConfig.mk, and you can found these settings in the source too)
#TWRP
BOARD_HAS_NO_REAL_SDCARD := false
DEVICE_RESOLUTION := 320x480
RECOVERY_GRAPHICS_USE_LINELENGTH := true
TARGET_RECOVERY_GUI := true
TARGET_RECOVERY_PIXEL_FORMAT := "RGB_565"
TARGET_USE_CUSTOM_LUN_FILE_PATH :=/sys/devices/platform/usb_mass_storage/lun0/file
TW_CUSTOM_POWER_BUTTON := 107
TW_EXTERNAL_STORAGE_PATH := "/sdcard"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "sdcard"
TW_FLASH_FROM_STORAGE := true
TW_HAS_DOWNLOAD_MODE := false
TW_HAS_NO_RECOVERY_PARTITION := true
TW_INCLUDE_CRYPTO := false
TW_INCLUDE_JB_CRYPTO := false
TW_NEVER_UNMOUNT_SYSTEM := false
TW_NO_BATT_PERCENT := false
TW_NO_REBOOT_BOOTLOADER := true
TW_NO_USB_STORAGE := false
TW_SDEXT_NO_EXT4 := false
To build it, you need only:
Replace the files in bootable/recovery with the files from the source
Code:
. build/envsetup.sh
lunch
make recoveryimage
When the build finished, grab the needed files from:
out/target/product/shakira/recovery/root
While this project is only alpha stage, better if you use it in dual recovery mode (CWM+TWRP)
Here is a sample bootrec file (with this sample the normal methods (key press on kernel logo or use the Reboot to recovery option in the rom) start the CWM recovery, if you touch the screen on kernel logo, the TWRP start.
Code:
#!/sbin/sh
# With alfsamsung kernels and stock use these values:
cat /dev/input/event1 > /dev/keycheck&
cat /dev/input/event0 > /dev/tscheck&
[COLOR="Red"]# USE THESE VALUES ON ALL NAA BASED KERNELS :) [COLOR="Blue"]// thanks for feherneoh[/COLOR]
cat /dev/input/event2 > /dev/keycheck&
cat /dev/input/event1 > /dev/tscheck&[/COLOR]
sleep 2
kill -9 $!
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery &
/sbin/adbd recovery
fi
if [ -s /dev/tscheck ]
then
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
chroot /recovery /init
fi
mkdir /system/lib/modules
ln -s /modules/sdio.ko /system/lib/modules/sdio.ko
ln -s /modules/tiwlan_drv.ko /system/lib/modules/tiwlan_drv.ko
ln -s /modules/tiap_drv.ko /system/lib/modules/tiap_drv.ko
chown u+s /sbin/charger
mount -o remount,noatime,noauto_da_alloc,nodiratime,barrier=0,nobh,ro /dev/block/mtdblock0 /system
/sbin/charger
With this sample you must place the recovery files into /recovery folder of the ramdisk or if you have /recovery partition place it there (don't forget to mount the recovery partition)
If you use the ramdisk own init.rc file to start the recovery (instead of the method with change root to the recovery own folder) you need to modify the init.rc file, add the path of the recovery files to the LD_LIBRARY_PATH variable:
Code:
# setup the global environment
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export LD_LIBRARY_PATH /vendor/lib:/system/lib[COLOR="Red"]:/path_of_the_recovery (usually the /sbin folder)[/COLOR]
Links:
Source: https://github.com/pilu1978/TeamWin_Recovery_X8
Link for the prebuilt binaries (you can try it without compiling):
http://www.mediafire.com/?wxkmwnh1afc7aa1
If you not want to play with this project, just want to try it
here is a modded alfs8a kernel with CWM+TWRP:
http://www.mediafire.com/?7qy1fq3yv4gjra8
Work in progress:
Fix for the old update-binary (if the zip package contains normal installer then use the built-in version from the ramdisk, if the update contains aroma installer use the one from the zip package)
Fix for the android_secure backup/restore
Fix the UI bugs (correct some button/checkbox position and remove some useless thing)
Aroma Filemanager instead of the built-in filemanager
Fix the errors with the busybox what compiled with twrp (to make standalone twrp, no need external busybox or cwm recovery to use it)
SOURCES AND BINARIES WILL BE UPDATED ONLY WHEN THESE FIXES FULLY WORKING!!!
The cooperative work failed, working alone.
Reserved for other developers who working on this project
Reserved for future usage
Hi, I'd like to know what has this Recovery more than the others ? I didn't find in the Thread the specs of it.
Thanks.
WHTA?'''
What version is this cwm....... Can i port this to the stock kernel??
With Jelly Bean repos, your config not working. The recovery compiling without error. But the made recovcery doesn't work. The Blue background and teamwin text flashing constantly... Now I try to find why...
Neur0Nerd said:
Hi, I'd like to know what has this Recovery more than the others ? I didn't find in the Thread the specs of it.
Thanks.
Click to expand...
Click to collapse
Go there: http://teamw.in/project/twrp2 (link added to the first post)
xperiafan13 said:
What version is this cwm....... Can i port this to the stock kernel??
Click to expand...
Click to collapse
This is NOT ClockWorkMod This is TeamWin Recovery V2.3.1.1 And as I wrote: this project is open source. If you want to port for stock kernel, you can do it. Only one request: please inform me about your work.
Daveee10 said:
With Jelly Bean repos, your config not working. The recovery compiling without error. But the made recovcery doesn't work. The Blue background and teamwin text flashing constantly... Now I try to find why...
Click to expand...
Click to collapse
No idea why. Try to use the precompiled binaries. If these binaries work with JB kernel, maybe I forgot something, or need to add something. The source based on the official JB branch of TeamWin Recovery.
no, the prebuilt recovery doen't work too.. But I don't see the init.rc change in your first post.
I think that:
Adding .:/sbin after export LD_LIBRARY_PATH before any other path...
Yes, I forgot it, later I will correct it. (now on mobile). But the prebuilt binaries contains this mod. And when you compile the recovery, the listed folder in the 1st post contains the correct init.rc. And how to use the recovery? Try to use it with chroot.
Sent from my E15i using xda app-developers app
pilu1978 said:
Yes, I forgot it, later I will correct it. (now on mobile). But the prebuilt binaries contains this mod. And when you compile the recovery, the listed folder in the 1st post contains the correct init.rc. And how to use the recovery? Try to use it with chroot.
Sent from my E15i using xda app-developers app
Click to expand...
Click to collapse
no, that not the correct for me... in my kernel init.rc very different from that.. Trying to change all needed file to twrp recovery file... So I want use twrp only one recovery in kernel now.. If working I will make the dual recovery method or modular recovery... But now I go to bed because tomorrow I will working. So the next compiling is tomorrow evening...
The compiled init.rc is correct for the recovery. I think better if you use it in dual recovery mode, and make standalone twrp recovery after a longer test period. And I think better if you re-init the phone with the recovery own init.rc file instead of replacing existing files in ramdisk. This method clean and work, and compatible with the kernel what have recovery partition.
Sent from my E15i using xda app-developers app
I'm going to compile now using the jb-wip branch. Will let you know how it goes.
Umm...pilu1978, your modified kernel's init (the one in the recovery folder) is smaller in size than that of mine. Also would the same bootrec work on ICS kernels? I'm pretty sure it will. However when I tried it didn't boot (missed out some bits of code, I guess). So I'm going to use your one now and test. Will report what happens.
Good work bro
downloaded and testing now
cheers
For those who want to test it on other kernels here is the .zip edition:
https://docs.google.com/folder/d/0B_4r4JB1Is2QX3VSSDBZZF81ckU/edit
Download then install from CWM & enjoy
Sent from my E15i using xda app-developers app
sgt. meow said:
Umm...pilu1978, your modified kernel's init (the one in the recovery folder) is smaller in size than that of mine. Also would the same bootrec work on ICS kernels? I'm pretty sure it will. However when I tried it didn't boot (missed out some bits of code, I guess). So I'm going to use your one now and test. Will report what happens.
Click to expand...
Click to collapse
Yes, it can work with all kernel. The init binary compiled from CM7 sources, this is the reason of the smaller size. The init in ICS/JB kernels a little bit bigger, these binaries contains additional user groups, etc, but for the recovery this is not important. The init.rc is much smaller because it NOT contains the basic file structure/settings what needed for the ROM. The recovery can work with a totally empty phone without any ROM, because this is INDEPENDENT from the installed (or not installed) android version (you also use CWM what compiled with CM7 source tree in your ICS/JB kernels without any problem). The bootrec is only a simple script, what contains some conditions (what happen IF key pressed and what happen IF you touch the screen). You can use any script when the phone booting (call with exec command in init.rc/init.delta.rc
It still didn't work. When I tap the screen, it boots into CWM touch. Now I'll try and use your binaries and see what happens.
@feherneoh
Good work bro. Works like a charm.
You use the bootrec from 1st post? Try to use the one from the sample kernel, later I will check the posted bootrec, maybe forgot something...
EDIT: looks like the posted bootrec and the other in the sample kernel is near 100% same. Two differences:
1. In the kernel the bootrec check the screen type and select the correct version of touch cwm (this is absolute not do anything with twrp)
2. In the kernel bootrec file a secondary condition exist to start twrp, it will start IF touch the screen OR a file exists in /cache/recovery (I add options for boot to twrp in my own rom, but it can't be a reason of cwm starting instead of twrp)
Sent from my E15i using xda app-developers app
Nope, using your binaries didn't work either.
Related
question #1 regarding if "make -jx otapackage" update.zip flashes new recovery over custom recovery...
when building froyo from aosp for passion, i have been taking the out/target/product/passion boot.img and system.img and using dsixda kitchen to output a flashable update.zip... no issues. i just started also ending the compile with "make -jx otapackage". pulling apart the .zip i see there is a "recovery" file folder. does this flash a new recovery that would replace any custom recovery already on device???
thanks to anyone willing to throw me an answer.
lpasq said:
when building froyo from aosp for passion, i have been taking the out/target/product/passion boot.img and system.img and using dsixda kitchen to output a flashable update.zip... no issues. i just started also ending the compile with "make -jx otapackage". pulling apart the .zip i see there is a "recovery" file folder. does this flash a new recovery that would replace any custom recovery already one device???
thanks to anyone willing to throw me an answer.
Click to expand...
Click to collapse
It's my understanding that as long as there's nothing in the update-script that will flash the recovery image, then you are ok. I've encountered this once, and I just deleted the recovery folder and anything in the update-script. (And then zipped and resigned the ROM.) When I flashed the ROM, there was no recovery image flashed. Just double-check everything.
gnarlyc said:
It's my understanding that as long as there's nothing in the update-script that will flash the recovery image, then you are ok. I've encountered this once, and I just deleted the recovery folder and anything in the update-script. (And then zipped and resigned the ROM.) When I flashed the ROM, there was no recovery image flashed. Just double-check everything.
Click to expand...
Click to collapse
Understood and appreciated.
Sent from my Nexus One using XDA App
[Question] Including Stk.apk in full_passion_eng make...
When I lunch full_passion_eng, the Stk.apk is not included in my compiled build. How do I add it for inclusion in the build?
My build.sh is as follows:
PHP:
#!/bin/bash
#clean out prior compiled files
make installclean
make clean
#update AOSP froyo source files
repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo
cd ~
repo sync
#setup compiling environment and build
cd ~
. build/envsetup.sh
lunch
#USB connect N1 and initiate ADB
cd ~
adb devices
#ADB pull needed device files
cd ~
cd device
cd htc
cd passion
./extract-files.sh
#build the Passion *.img's
cd ~
make -j3
#view compiled folder's new boot.img/system.img/userdata.img
cd ~
cd out
cd target
cd product
cd passion
echo 'see flashable files:'
ls *.img
#create update.zip
cd ~
make -j3 otapackage
This is the Android.mk in /packages/apps/Stk. Am I to modify this or am I really off?
PHP:
# Copyright 2007-2008 The Android Open Source Project
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := Stk
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
Thank you.
With VEGAn 5.11 and Pershoot kernel. I want to do a few things when it boots up. I don't see the usual /etc/init.d kind of structure.
I did find init.rc and even found a link that describes its peculiar syntax. But editing that file (after remounting) doesn't "take" -- I assume it is on initfs and gets copied to a RAM disk on boot.
Is there anywhere easily user writeable where you can stick something in the boot sequence? Seems like that would be a common enough thing to need to do.
Thanks!
The init.rc is in the ramdisk, and the ramdisk is in the boot.img (found in all the stock and modded ROMs).
Here's a good guide on how unpack / repack that file: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
(obviously it's a bit technical) What I can tell you is that you don't need any cmdline options for the boot.img
Here's a real quick breakdown of what I do (Ubuntu user):
Code:
./unpack-bootimg.pl boot.img
go to the extracted ramdisk folder, make my changes and then:
Code:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
cd ..
mkbootimg --kernel boot.img-kernel.gz --ramdisk newramdisk.cpio.gz -o newboot.img
"newboot.img" being my new boot.img. That's how the boot.img in all my mods are created.
Thank you and yeah I figured that was it. Technical is not an issue as I sling unix/linux for ages. Salute to you for all your work on this platform.
Well I cheated a little. Here's what I did:
I noticed that you had added to the bottom of /init.rc a one shot service for /system/etc/shuttle_ins.sh.
So I just remounted rw for /system and added the following to the TOP of /system/etc/shuttle_ins.sh:
# added by aaw
if [ -f /system/etc/rc.local ]; then
sh /system/etc/rc.local &
fi
# end aaw
So now I can put what I want in rc.local -- start up sshd or whatever. In this case here's what I actually wanted:
#!/bin/sh
# this is run at the end of the init.rc sequence if it exists
until mount | grep -m1 sdcard2 ; do sleep 5 ; done # wait for sdcard2 mount
mkdir /mnt/sdcard/sdcard2 # make mount point (might fail, but who cares?)
mount -o bind /mnt/sdcard2 /mnt/sdcard/sdcard2
Of course, this assumes I will always have sdcard2 or it spins. Could put a timeout in I guess, but for me this is always the case. Now things like players that only look in /sdcard can find stuff on sdcard2 as well.
A bit of a hack. I wonder if the release DEVs would consider adding an rc.local in user land in a nicer way? Maybe have a system rc.0 that does the -f test for rc.local and that way if you wanted to add an rc.local you could but if you didn't no harm or foul.
Or did I miss a smarter way to do this?
Thanks for the help (and the great releases, of course!).
I found this in the market: https://market.android.com/details?id=os.tools.scriptmanager
Lets you run scripts at boot time. Haven't tried it for that though, but it could work instead of my rc.local fix. A little different since I assume it runs late (after Android is up) unlike the rc.local which runs before Android, unless I'm mistaken.
The system is stable now on my tab, don't forget, you have only 256MB of RAM, i cannot make the impossible Lots of tweaks are include into the kernel and the ROM to have a fast tab...!
If you have any problem, go there:
Sources:
Github: https://github.com/bizcuite
Kernel sources is available here: https://github.com/bizcuite/Archos_OPENAOS_Kernel_ICS
Frameworks base folder: https://github.com/bizcuite/android_frameworks_base
Device Folder: https://github.com/bizcuite/Device_ICS-for-ARCHOS-GEN8
--------------------------------------------------------------------------------------------------------------------
/!\
DON'T TRY THE KERNELWITH OTHERS OS for GEN8
IT IS NOT COMPATIBLE WITH OTHERS SYSTEMS
/!\
--------------------------------------------------------------------------------------------------------------------
Works:
3D - libs comes from Galaxy SL - and Kernel drivers from RowBoat
Sensors - Rotation
Sound
Youtube (HD is not smooth- 15/20FPS)
Touchscreen in multipoint (thanks to Divx118 and Letama for their help on my thread)
Wifi
Sdcard & MMC - USB SHARE
12/03/2013
H264/H263 - MP3/AAC played with hard decoders
OMX interface comes from CM10.1
UI optimised (thanks defy dev)
Sound HAL from opensource
Camera but you cannot take any picture or video with this camera ATM
Version 1.6 (17/03/2013):
- Dspmanager has been removed (bug)
- MusicPlayer from google AOSP include.
- Phone.apk removed too
CYANOBIZ - BETA 2.0/2.3 - 10/04/2013
- GPU Libs update
- OPENGL renderer activated
- WallPaper works
- WebGL works well (Chrome can works now)
- Network statistics works
- Sound noises are less frequents than v1.7 and V1.8
CYANOBIZ - BETA 2.1 - 18/04/2013
- Youtube works (i had heard that it doesn't worked in beta 2.0)
CYANOBIZ - BETA 2.4 - 11/05/2013
-Libs from Samsung Galaxy Ace works very well (better) than rowboat libs.
-A43 must have a working TS
-Zram configured directly to have 250MB of ZRam (better perf than compcache)
CYANOBIZ - BETA 2.5/2.6 - 19/05/2013
-TLS register activated
-Swap of 175MB added in the image file
-Zram can be activated (re-added) - i have a way to activated zram1 as ext4 partition...
KERNEL:
- OC kernel by interface (see in /sys/power/)
- dsp to 800MHz when 5th step is activated
- GPU drivers Updated (backported)
- CPU Alignment (backported)
- JHash update
- Network stat driver added (backported)
- Lots of modules directly include into the kernel
- Cleancache include (backported) and activated http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/vm/cleancache.txt?id=4fe4746ab694690af9f2ccb80184f5c575917c7f
- Genlock Backported from 2.6.35
- New Zram
- New driver wifi functions (configurate in ".config" files) i find wifi better
- TLS register hacked
- Zram
- Snappy compression from google
- Compcache 25% or 35% of RAM
Doesn't work:
-Bluetooth can works with a command enter in a terminal hciconfig hci0 up.
-Camera (you can preview only)
-Battery stats (% works, but no notification of charge)
-Bugs - report please
-------------------------------------------------------------FILES TO DOWNLOAD-------------------------------------------------------------
SINCE V2.4 AND DON'T USE ANY SWAP SOFTWARE WITH THIS VERSION
---------- V2.6 with another start order for Swap: /swapfile (175MB) uses in first, zram in second and compcache in last. = 175+50MB+25%/35% of your RAM
A101 - v2.6 = http://www.mediafire.com/download.php?444vbceqerzboqb
A70 - A70S2 (change the dpi to 160 in build.prop for A70S2 only) - v2.6 = http://www.mediafire.com/download.php?1urte0y2f5dnzwu
A43 - TS not fix in landscape ATM - v2.6 = http://www.mediafire.com/download.php?206d2tqybl1260w
GAPP: http://www.mediafire.com/download.php?blsz6ie172i1qzo
For kernel initramfs and data image see attachment files
25% of RAM is "compcached" with zram snappy compression
35% of RAM is "compcached" with zram snappy compression
25% of RAM is "compcached" with zram LZO compression
-------------------------------------------------------------SYSTEM INSTALLATION-------------------------------------------------------------
How install CM9 on archos gen8
-Download CM9 image files from mediafire that i have shared, choose appropriate image.
-Download initramfs.cpio.gz (NOT MINICOM except i tell you to install it for a report)
-Download Kernel in attachment files (don't uncompress the Kernel file, just rename it like this: zImage)
-Download data.img.tar.gz and uncompress it - choose the data image that you want and renamed it like data_ICS.img
Install Kernel and initramfs.cpio.gz
-install kernel and initramfs.cpio.gz (don't install the minicom version) by SDE menu
-Don't uncompress the Kernel file, just rename it like this: zImage
-Just copy-paste, ONE BY ONE the kernel and initramfs.cpio.gz (if I paste together the files, it doesn't worked for me)
/!\ BUT BIZCUITE, I HAVE A PROBLEM, THE TAB SAYS ME THAT zImage IS NOT INSTALLED, AAAAAAAAH!!!!!PLEAAAASE HEEELP
=>You have WINDOWS please read this!!!
Install CM9 Image:
-uncompress image of CM9 downloaded
-copy paste image on the root of internal sdcard (like CM7)
-uncompressed data.img.tar.gz if it's not done, choose an image and rename it like data_ICS.img
-copy/paste the data_ICS.img to the root of the internal sdcard.
How configure menu.lst (See the file in attachment, just uncompress it)
-edit your menu.lst, copy paste my line
Code:
CYANOBIZ||/CYANOBIZ_BETA2.X_AX.img|/init|0Archos|ARCHOS|ARCHOS|/init
Change "CYANOBIZ_BETA2.X_AX.img" by the version and the type of tab that you have downloaded
Exemple: CYANOBIZ_BETA2.4_A101.img
If you haven't the file. Create a file named "menu.lst" with notepad++ under windows (not the windows notepad!!!) Or gedit for ubuntu.
And copy paste the line on it. Save and copy paste the file on the root of the internal sdcard.
-------------------------------------------------------------GOOGLE APP. INSTALLATION-------------------------------------------------------------
How install Google App.
If you have NEVER installed GApp:
-Download the file
-Rename the file like this "gapps-ics-20120429-signedremake_all_dpi_works.zip" ( just WITHOUT the "-" )
-Copy paste the file in the download folders of your internal SDCARD
-Reboot
-After the first reboot wait 5 minutes (the system uncompresses the files and install its)
-Reboot and enjoy
-------------------------------------------------------------BLUETOOTH ACTIVATION-------------------------------------------------------------
If you want to have Bluetooth
In a terminal enter:
Code:
hciconfig hci0 up
-------------------------------------------------------------SWAP CONFIGURATION-------------------------------------------------------------
SWAP / Zram / CompCache:
The swap is used with this priority:
Code:
[email protected]:/ # cat /proc/swaps
Filename Type Size Used Priority
/swapfile file 179156 5716 -1
/dev/block/zram0 partition 51192 0 -2
/dev/block/ramzswap0 partition 175464 0 -3
This the new swap_activation.sh
Code:
swapoff /dev/block/ramzswap0
swapoff /dev/block/zram0
echo $((50*1024*1024)) > /sys/block/zram0/disksize
mkswap /dev/block/zram0
swapon /swapfile
swapon /dev/block/zram0
swapon /dev/block/ramzswap0
Just change the order of this lines to start differently the swap.
First to start : swapon /swapfile
second to start: swapon /dev/block/zram0
last to start: swapon /dev/block/ramzswap0
Play with this lines to see if performance are better.
-------------------------------------------------------------OVERCLOCK-------------------------------------------------------------
HOW OVERCLOCK THE CPU
just change the value with a root explorer into the file at this path:
/sys/power/mpu_freq_opp5
YOU WILL LOSE THE CHANGE AFTER A REBOOT
but if you find your oc stable write the line in the init.rc, under " # Enabling power management features":
Code:
write /sys/power/mpu_freq_opp5 1100
-------------------------------------------------------------SOFT TO USE-------------------------------------------------------------
Which software i used to have a better tab or functions:
Performance:
Seeder (more smooth): http://forum.xda-developers.com/showthread.php?t=1987032
Tools:
Archos Video player: To have access to SMB server and watch directly video. (deactivate hardware decoding)
ZRAM Status:to keep an eye on my Zram Swap (lots of information)
LogCat:
Logcat Extreme: to share me a logcat when you have a crash or others problems
--------------------------------------------------------------------------------------------------------------------
FAQ:
I HAVE TRIED GMAIL, IT DOESN'T WORKED WITH MY TAB
HOX FIX IT: Biz, gmail works by installing maps, then open gmail it will force close, then go to accounts and sync gmail reboot tablet and works ==> Thanks Porobu
How have a good Camera image :
-> just open camera app, unplug usb cable and press power button to activate deep sleep mode (wait the led turn off) and presss again power button. Re open the camera app and the image is clean.
--------------------------------------------------------------------------------------------------------------------
If you have any problem with kernel or OS, download again all files and reinstall its.
If you have bootloop or crash of tablet, make me a report plz.
--------------------------------------------------------------------------------------------------------------------
/!\ To make a report /!\ MINICOM version of initramfs is required.
YOU DON'T USED ADB (select NONE option) .. JUST MINICOM (SERIAL option)
I used the initramfs.cpio.gz with debug by serial made by Divx118.
install minicom and enter in a terminal under root rights:
"minicom -D /dev/ttyACM2" (when you are after selection of debug types screen and when OS screen selection appears press "enter" don't forget to plug usb cable )
The minicom must be connected. and DMESG log appears on terminal.
CONFIGURE YOUR TERMINAL TO HAVE UNLIMITED CHARACTERS ON THE SCREEN (else log will be cut)
See the tutorial about debug on Openaos website
Have Fun!!
Bizcuite
Thanks to:
-Letama
-Divx118
-Powerplop for his help on sound pb
-All who have helped me indirectly or directly
-My beer shop :angel:
-Many thanks to Wilsey and Guanfy to have helped me to debug screen and TS without them, your tabs couldn't worked correctly.
-Bingoig for his help to fix menubutton for A101
-Mavasilisk for his great help and his topic about my ROM in general section
-Mikerla
-Porobu
-All donators (4 times)]
18/10/2012
UPDATE: init.rc FOR A101 ONLY FIX SCREEN ORIENTATION
How push it:
With adb, you must have installed adb initramfs.cpio.gz (see first page)
run adb with adb shell after have configure it to see if the configuration is good:
"adb shell"
"exit"
"adb root"
"adb push / /"
---------------------------------------------------------------------------------------------------------------
19/10/2012
UPDATE KERNEL TO SEE IF TouchScreen OF A70S WORKS works with all Tabs!!
---------------------------------------------------------------------------------------------------------------
22/10 i have include in rom, binaries for TS from archos firmware. And update init.rc. see first post to download the new update.
---------------------------------------------------------------------------------------------------------------
26/10 I have made a modification in code to have TS working for all tabs, i need log and report to see if it works correctly
See V0.4 to have update.
Modification in the code are situate in inputreader.cpp in framework/base/service/:
Code:
if (mParameters.orientationAware
|| mParameters.deviceType == Parameters::DEVICE_TYPE_TOUCH_SCREEN
|| mParameters.deviceType == Parameters::DEVICE_TYPE_POINTER) {
mParameters.associatedDisplayIsExternal = false;
mParameters.deviceType == Parameters::DEVICE_TYPE_TOUCH_SCREEN
&& getDevice()->isExternal();
mParameters.associatedDisplayId = 0;
---------------------------------------------------------------------------------------------------------------
29/10 -- CM9 - V0.5
-Kernel revert back (for A101, bad name of TS, it was a test that i had forgotten to remove)
-data_ICS.img to install to root of SDCARD (like CM7)
-Bootloop fix
-NO BOOTANIMATION (black screen, please wait that the first boot finished it)
-BUG WITH CPU GOV ALWAYS AT PERFORMANCE (see first post to fix it)
----------------------------------------------------------------------------------------------------------------
30/10 -- CM9 - V0.6
-soft button fix (ty guanfy and Wisley)
----------------------------------------------------------------------------------------------------------------
31/10 -- CM9 - V1.0
-All about screen works well for all tabs (A70S2 - A101S - A70S-H confirmed)
-CM9 Sources in "cooking" for share
---------------------------------------------------------------------------------------------------------------
22/12:
FIx USB SHARE for SDRAM Version.
New version ALPHA 1.1 in progress
Had to need to update my Ubuntu to 12 to download update of ICS from Cyanogen (Git-Core error, impossible to update git-core with 10.04)
Kernel modify for more stability (Cpu Gov conf - 5th freq. step deleted)
I will make another kernel to include driver for A43 tabs TouchScreen.
But i need logcat by A43 tabs users.[/B]
VolumeManager.cpp has been changed to have USB SHARE working.
---------------------------------------------------------------------------------------------------------------
Problem with stability is fix. with Kernel V1.4
DON'T TRY TO COMPILE ATM, IT'S JUST A BETA VERSION OF THE HOW - I HAVEN'T TEST IT!!
How to compile CyanoBiz:
Make sure that you have Ubuntu 10.04 or 12 - 64Bits - 4GB of RAM - 100GB free on HD and a Quad core CPU is better to compile it (i have 4GB of RAM and a little Core2duo 1.6GHz - dual core on a T60P Lenovo - HD of 300GB).
Go to your work foder. i have put it directly in my home directory, done it as you want.
mkdir -p ./BIZ_ICS
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
repo init -u git://github.com/CyanogenMod/android.git -b ics-release
repo sync -j16
Wait that the download is finished....
Download my github and uncompress the framework, device and hardware zip files (not update ATM).
Replace CM9 folders by mine:
-./framework/base
-./hardware/...
-./device/archos/g8
To compile:
. build/envsetup.sh
lunch
choosecombo
-> option userdebug let the others default value
Make -j4
To make the image file after compilation
Code:
rm CYANOBIZ*.img
umount /mnt
echo A70S:
qemu-img create -f raw ./CYANOBIZ_BETA2.x_A70.img 300M
mkfs.ext4 -qF -O ^huge_file ./CYANOBIZ_BETA2.x_A70.img
mount -o loop ./CYANOBIZ_BETA2.x_A70.img /mnt/
rsync -rlpgotvDH --progress --delete ./root/ /mnt/
rsync -rlpgotvDH --progress --delete ./system/ /mnt/system/
mkdir -p /mnt/data/test /mnt/mnt /mnt/mnt/storage
ln -sf /mnt/storage /mnt/storage
chmod 0777 /mnt/mnt/storage /mnt/data/test
chown -R root:root /mnt/
chmod 0755 /mnt/system/framework/*
chmod 6755 /mnt/system/xbin/su
chmod -R 0755 /mnt/system/media/*
chmod -R 0755 /mnt/system/usr/share/alsa/*
chmod -R 0755 /mnt/system/lib/dsp/*
chmod -R 0644 /mnt/system/lib/libOMX.*
chmod -R 0755 /mnt/lib/*
chmod -R 0777 /mnt/system/app/*
chmod -R 0755 /mnt/system/bin/*
mkdir /mnt/system/media
cp -R ../../../../device/archos/g8/media/* /mnt/system/media/
mkdir /mnt/system/usr/share/alsa
cp -R ../../../../device/archos/g8/system/usr/share/alsa/* /mnt/system/usr/share/alsa/
cp -R ../../../../device/archos/g8/init.rc /mnt/init.rc
mkdir /mnt/system/lib/dsp
cp -R ../../../../device/archos/g8/system/lib/* /mnt/system/lib/
mkdir /mnt/lib
cp -R ../../../../device/archos/g8/lib/* /mnt/lib/
rm /mnt/system/app/Phone.apk
chmod -R 0777 /mnt/system/app/*
chmod -R 0755 /mnt/system/bin/*
chmod -R 0755 /mnt/system/lib/*
sync
umount /mnt
echo A101:
qemu-img create -f raw ./CYANOBIZ_BETA2.x_A101.img 300M
mkfs.ext4 -qF -O ^huge_file ./CYANOBIZ_BETA2.x_A101.img
mount -o loop ./CYANOBIZ_BETA2.x_A101.img /mnt/
rsync -rlpgotvDH --progress --delete ./root/ /mnt/
rsync -rlpgotvDH --progress --delete ./system/ /mnt/system/
mkdir -p /mnt/data/test /mnt/mnt /mnt/mnt/storage
ln -sf /mnt/storage /mnt/storage
chmod 0777 /mnt/mnt/storage /mnt/data/test
chown -R root:root /mnt/
chmod 0755 /mnt/system/framework/*
chmod 6755 /mnt/system/xbin/su
chmod -R 0755 /mnt/system/media/*
chmod -R 0755 /mnt/system/usr/share/alsa/*
chmod -R 0755 /mnt/system/lib/dsp/*
chmod -R 0644 /mnt/system/lib/libOMX.*
chmod -R 0755 /mnt/lib/*
chmod -R 0777 /mnt/system/app/*
chmod -R 0755 /mnt/system/bin/*
mkdir /mnt/system/media
cp -R ../../../../device/archos/g8/media/* /mnt/system/media/
mkdir /mnt/system/usr/share/alsa
cp -R ../../../../device/archos/g8/system/usr/share/alsa/* /mnt/system/usr/share/alsa/
cp -R ../../../../device/archos/g8/init.rc /mnt/init.rc
mkdir /mnt/system/lib/dsp
cp -R ../../../../device/archos/g8/system/lib/* /mnt/system/lib/
mkdir /mnt/lib
cp -R ../../../../device/archos/g8/lib/* /mnt/lib/
rm /mnt/system/app/Phone.apk
chmod -R 0777 /mnt/system/app/*
chmod -R 0755 /mnt/system/bin/*
chmod -R 0755 /mnt/system/lib/*
sync
umount /mnt
Hello,
ICS doesn't work on my A43. It stay locked on the OpenAOS screen after the .img selection menu.
Maybe my tablet isn't compatible.
Thanks for your great work
Sent from my A43 using xda premium
GoL LuM said:
Hello,
ICS doesn't work on my A43. It stay locked on the OpenAOS screen after the .img selection menu.
Maybe my tablet isn't compatible.
Thanks for your great work
Sent from my A43 using xda premium
Click to expand...
Click to collapse
Have you any cable connected on the tab and have you seen this?
Others things:
If you want to power on your tab without make any debug, don't forget to disconnect the tab from the USB computer.
If you do that, the CM9 doesn't want boot.
DISCONNECT USB CABLE IF YOU HAVEN'T MINICOM RUNNING
Retry without cable please and with the new kernel!!
Try to see if you have any log on terminal if it doesn't worked
Bizcuite
Please report about Touchscreen it's very important for me (and for you if you want a CM9 who works on your tab )
Make a report like this:
Model of tab: Archos xx
Touchescreen works: yes / no
Another bug (except if it writes on first post)
Remember: the first boot takes time the dexopt is active 2-3 minutes to have unlock screen.
Bizcuite
Bizcuite
Biz,
I've flashed the new kernel, booted back into CM. I've been sitting at the bootsplash for 20 minutes now. Attachment below.
Is it safe to try it on A70S with "kboot" installed? Seconds question that I'd like to know is that the touchscreen isnt currently working, right?
Mavasilisk said:
Is it safe to try it on A70S with "kboot" installed? Seconds question that I'd like to know is that the touchscreen isnt currently working, right?
Click to expand...
Click to collapse
I don't know if it works with kboot, the kernel is based on CM7 kernel, if it works with it i think that yes!!
Touchscreen for A70S doesn't work (except if it uses Hanvon TS, it must work now), yes and i need a full log to fix it if i can (without tab it's very difficult).
Biz,
I've flashed the new kernel, booted back into CM. I've been sitting at the bootsplash for 20 minutes now. Attachment below.
Click to expand...
Click to collapse
You have a harddrive version, that's the pb, there is no error who permit me to fix it ATM.
I will pm you and see it later.
Edit: i have seen that all your log is cut, can you remake it with a more larger terminal (or more little char.) to have all lines
Bizcuite
the last thing that I see when I boot is some cyano guy who is traveling in space. Do I have to wait longer or its the unlock screen and my touchscreen isnt working?
EDIT: Rename your data.img to something else.
EDIT2: Can u help me run adb successfully, I've tried many times with guides but it was not for gen8 and I couldnt make it run. I really wanna join.
EDIT3: It booted. The touchscreen on A70S is working only at the upper left side (I can pull down the statusbar and enable/disable wifi). Nothing else is working on touchscreen. Hope it helps you cuz I cant run adb.
Bootloop
Mavasilisk said:
the last thing that I see when I boot is some cyano guy who is traveling in space. Do I have to wait longer or its the unlock screen and my touchscreen isnt working?
EDIT: Rename your data.img to something else.
EDIT: Can u help me run adb successfully, I've tried many times with guides but it was not for gen8 and I couldnt make it run. I really wanna join.
Click to expand...
Click to collapse
/!\ To make a report /!\
YOU DON'T USED ADB.. JUST MINICOM (adb cannot worked with this initramfs.cpio.gz, don't change it if you want adb, i have another version without serial debug)
I don't think that rename data.img is usefull:
look the init.rc:
Code:
mount ext4 /dev/block/mmcblk1p1 /mnt/storage
mount vfat /dev/block/mmcblk1p1 /mnt/storage
mount ext3 /dev/block/mmcblk0p2 /mnt/system
# mount ext3 /dev/block/mmcblk0p4 /data nosuid nodev
# mount ext4 [email protected]/mnt/storage/data.img /data nosuid nodev
data.img is not mount i used only data folder IN the image.
I need a log to see what's appened, i will retry my rom upload when i will be at home
If you have any linux machine you can try to see if there are crash errors when you mount the image in the data folder and tombstones folder
To mount image file enter:
mount -o loop /media/A70S/openaos-cm.img /mnt/
look the path of your tab, maybe it's not the same.
Bizcuite
arkade91 said:
Bootloop
Click to expand...
Click to collapse
More usefull with a log please.
Thanks
Bizcuite
I dont have a linux machine. Is there any tutorial "how to set up minicom" or what is it?
bootlooping for about 10 mins on a101it using kboot, is it related to kboot i wonder, anyway il see if i can pull logs later, right now i got to go somewhere?
bizcuite said:
I don't know if it works with kboot, the kernel is based on CM7 kernel, if it works with it i think that yes!!
Touchscreen for A70S doesn't work (except if it uses Hanvon TS, it must work now), yes and i need a full log to fix it if i can (without tab it's very difficult).
You have a harddrive version, that's the pb, there is no error who permit me to fix it ATM.
I will pm you and see it later.
Edit: i have seen that all your log is cut, can you remake it with a more larger terminal (or more little char.) to have all lines
Bizcuite
Click to expand...
Click to collapse
I can expand the terminal window, but I already changed the profile for unlimited scrolling. The entire log as it was recorded should be there. I can produce another one with a maximized terminal window if that will help. Log attached.
---------- Post added at 09:59 PM ---------- Previous post was at 09:54 PM ----------
Mavasilisk said:
I dont have a linux machine. Is there any tutorial "how to set up minicom" or what is it?
Click to expand...
Click to collapse
Your best bet if you want to get serious on testing and debug is to install a linux distro. Since android was born from linux, it's much easier to get the work done from a linux platform. Your best best would be to used an Ubuntu based distro, like Ubuntu or it's variants, or Linux Mint. If you use that, I can give you instructions on what you need to get rolling. PM me if you are interested in doing that.
Yes I am interested in installing Linux. Anyway I found something. On A70S the TS seems to be miss calibrated, I entered settings and enabled the cursor (something that displays my touch direction) and it seems like its miss calibrated for a bigger screed or bigger resolution. Hope it helps.
Mavasilisk said:
Yes I am interested in installing Linux. Anyway I found something. On A70S the TS seems to be miss calibrated, I entered settings and enabled the cursor (something that displays my touch direction) and it seems like its miss calibrated for a bigger screed or bigger resolution. Hope it helps.
Click to expand...
Click to collapse
PM sent. Let me know if you have further questions.
Ok i go home and i will try another thing this evening (launcher pb??)
Wait and see.
I put my log how i like it
Bizcuite
Ranomez said:
bootlooping for about 10 mins on a101it using kboot, is it related to kboot i wonder, anyway il see if i can pull logs later, right now i got to go somewhere?
Click to expand...
Click to collapse
It is not related to kboot I think, i have A70S with kboot and the only difference between them both is the large screen that 101 has.
This is a (relatively) simple method how to enable ext4 mounting on P5210 with stock, rooted ROM. It should work with any non-stock ROM as well, but it looks like stock is only available for now.
There are two options, fast & easy one and long one.
Fast & easy method
This method involves replacing vold binary with precompiled one. That's usually bad idea as I tested it only on my machines and althought it shouldn't cause any problems in theory, there is no guarantee it will not kill you while sleeping. But, it fast and should work.
So, what to do:
Do backup
Do another backup
Grab vold.ext4support.tar.gz and extract it somewhere
Copy extracted vold binary to device (you can use ADB - adb push vold /storage/sdcard0/)
Open adb shell and mount /system for writing. That's :
$ adb shell
$ su
# mount -o remount,rw none /system/
Create backup of your current vold binary - # cp /system/bin/vold /system/bin/vold.bak
Replace vold binary with one from tarball - # rm /system/bin/vold && cp /storage/sdcard0/vold /system/bin/vold
Make it executable - # chmod 755 /system/bin/vold
Reboot your device.
Now, if everything went fine, you should be able to insert ext4-formated sdcard and get it mounted normaly. Note that sdcardfs will be used to emulate "android-compatibile" filesystem, so user rights are going to be ignored. If you need filesystem with unix rights (for linux in chroot for example), ext4 is mounted to /mnt/obb/extsdcard
If you'r device fails to start (gets stuck on boot screen), just use adb shell to mount /system for writing once again and replace /system/bin/vold with backup you have created in step 6. Or use backups from steps 1-2.
Long method
... invoves compiling android from the source. For real. Because... Why not
Ok, this is for anyone who want's to know what is he putting on his machine or just doesn't believe in random binaries from random guy from internet (and that's actually good way of thinking)
Follow AOSP manual to download Android source code
Follow next part of AOSP manual to build source code, BUT:
Use full_x86 as target
Apply this patch to get vold with ext4 support compilled. Or port your own, from this Cyanogen mod changeset
Compile everything or just vold
Copy your own vold binary from out/target/product/generic_x86/system/bin using Fast method
You can debug everything important here using logcat| grep Vold from Android or, better, adb logcat|egrep "(Vold|DirectVolume|MountService)" from Linux.
Good luck and as usual, I'm not responsible for anything and good at hiding
Alright, finally we have CIFS support on MJO.
Cross compiled on ArchLinux from the sources posted by Rich, config pulled from /proc/config.gz and just compiled the CIFS+md4 module.
Works great here:
Code:
//10.0.0.11/vault 3.6T 2.9T 709.1G 81% /mnt/shell/emulated/0/vault
Make sure you have root, insmod md4.ko, insmod cifs.ko and enjoy! I'm using this to access my MP3s for aMPD so that my Mojo can act as my stereo too.
*edit* also make sure you have busybox installed in order to mount, and pass a username option. ie:
Code:
busybox mount -ousername=guest //1.1.1.1/share /sdcard/share
vostok4 said:
Alright, finally we have CIFS support on MJO.
Cross compiled on ArchLinux from the sources posted by Rich, config pulled from /proc/config.gz and just compiled the CIFS+md4 module.
Works great here:
Code:
//10.0.0.11/vault 3.6T 2.9T 709.1G 81% /mnt/shell/emulated/0/vault
Make sure you have root, insmod md4.ko, insmod cifs.ko and enjoy! I'm using this to access my MP3s for aMPD so that my Mojo can act as my stereo too.
*edit* also make sure you have busybox installed in order to mount, and pass a username option. ie:
Code:
busybox mount -ousername=guest //1.1.1.1/share /sdcard/share
Click to expand...
Click to collapse
That's a good idea.. just updating the modules rather then the actual kernel.
By any chance, would you know how to approach updating the kernel on the mojo?
Thank you! These modules worked for me. However I was getting an "invalid parameter" error message. Finally I had to work around it as:
Code:
busybox mount -o unc=\\\\192.168.0.2\\share name,username=myself,password=password1 -t cifs none /mnt/point
It may depend on the version of busybox..
@gwaldo if you wanted to flash a custom kernel this is what I would do:
Code:
[email protected]:/ # ls -al /dev/block/platform/sdhci-tegra.3/by-name
ls -al /dev/block/platform/sdhci-tegra.3/by-name
lrwxrwxrwx root root 2014-04-13 18:31 APP -> /dev/block/mmcblk0p4
lrwxrwxrwx root root 2014-04-13 18:31 CAC -> /dev/block/mmcblk0p5
lrwxrwxrwx root root 2014-04-13 18:31 DTB -> /dev/block/mmcblk0p2
lrwxrwxrwx root root 2014-04-13 18:31 LNX -> /dev/block/mmcblk0p3
lrwxrwxrwx root root 2014-04-13 18:31 MDA -> /dev/block/mmcblk0p8
lrwxrwxrwx root root 2014-04-13 18:31 MSC -> /dev/block/mmcblk0p6
lrwxrwxrwx root root 2014-04-13 18:31 SOS -> /dev/block/mmcblk0p1
lrwxrwxrwx root root 2014-04-13 18:31 TMP -> /dev/block/mmcblk0p9
lrwxrwxrwx root root 2014-04-13 18:31 UDA -> /dev/block/mmcblk0p10
lrwxrwxrwx root root 2014-04-13 18:31 USP -> /dev/block/mmcblk0p7
[email protected]:/ #
key line:
Code:
lrwxrwxrwx root root 2014-04-13 18:31 LNX -> /dev/block/mmcblk0p3
grab the boot image:
Code:
cat /dev/block/mmcblk0p3 > /sdcard/boot.img
load it in archikitchen: http://forum.xda-developers.com/showthread.php?t=2597220
create a barebones project, put the boot.img in the project folder, unpack. gives us:
Code:
./kernel
./kernel/boot.img-cmdline
./kernel/boot.img-kerneloff
./kernel/boot.img-zImage
./kernel/ramdisk
./kernel/ramdisk/ueventd.goldfish.rc
./kernel/ramdisk/init.nv_dev_board.usb.rc
./kernel/ramdisk/proc
./kernel/ramdisk/data
./kernel/ramdisk/init.rc
./kernel/ramdisk/init.mojo.rc
./kernel/ramdisk/ueventd.mojo.rc
./kernel/ramdisk/system
./kernel/ramdisk/sys
./kernel/ramdisk/init.usb.rc
./kernel/ramdisk/init
./kernel/ramdisk/default.prop
./kernel/ramdisk/sbin
./kernel/ramdisk/sbin/watchdogd
./kernel/ramdisk/sbin/ueventd
./kernel/ramdisk/sbin/adbd
./kernel/ramdisk/init.trace.rc
./kernel/ramdisk/fstab.mojo
./kernel/ramdisk/dev
./kernel/ramdisk/init.qvs.rc
./kernel/ramdisk/init.tf.rc
./kernel/ramdisk/init.goldfish.rc
./kernel/ramdisk/ueventd.rc
./kernel/boot.img-tagsoff
./kernel/boot.img-ramdiskoff
./kernel/boot.img-ramdisk.gz
./kernel/boot.img-base
./kernel/boot.img-pagesize
./META-INF
./META-INF/com
./META-INF/com/google
./META-INF/com/google/android
./META-INF/com/google/android/update-binary
./META-INF/com/google/android/updater-script-85_USER
./META-INF/com/google/android/updater-script-10_SYMLINKS
./META-INF/com/google/android/updater-script-99_TAIL
./META-INF/com/google/android/updater-script-90_KERNEL
./META-INF/com/google/android/updater-script-80_EXEC
./META-INF/com/google/android/updater-script-91_MODEM
./META-INF/com/google/android/updater-script-00_HEAD
./META-INF/com/google/android/updater-script-20_PERMISSIONS
./META-INF/com/google/android/updater-script
./system
./boot.img
Replace
Code:
./kernel/boot.img-zImage
with a new built kernel, repack the boot image, and you can try to boot it with fastboot without killing anything:
Code:
fastboot boot newboot.img
Should work. I will experiment in a few days when I get more time, perhaps.
vostok4 said:
@gwaldo if you wanted to flash a custom kernel this is what I would do:
...
Should work. I will experiment in a few days when I get more time, perhaps.
Click to expand...
Click to collapse
Hi vostok4, thanks for the reply.
I used the zip config from the mojo and use my kernel with the extracted initramfs from the boot.img in mojo-signed-ota-MO0202-WW.zip firmware update.
./fastboot-linux -i 0x0738 boot zImage.gwald initramfs.cpio.gz
Click to expand...
Click to collapse
It boots fine and can confirm it booted the kernel via google's setting.
I add more FS (NTSF/exfat write) support in the kernel but I'm not familiar with androids permissions.
Just cautious with it.
It would be nice if there was a system recovery image so if we made a mistake we can reset it to factory.
I kinda left it there for a while.. not sure what else to add
From a recovery standpoint with the kernel, you already have the boot.img from the update, so you can always boot that... And the device auto goes into fastboot for you, so I think a recovery from every brick should be possible.
Words are cheap though
vostok4 said:
From a recovery standpoint with the kernel, you already have the boot.img from the update, so you can always boot that... And the device auto goes into fastboot for you, so I think a recovery from every brick should be possible.
Words are cheap though
Click to expand...
Click to collapse
Oh I meant doing something wrong on the filesystem, there's no rom/image for it , NAND I think it's called, the Android OS partition.
Like the guy that changed his permissions and made his entire MOJO readonly.. I think the only fix is the reflashing.
I did post about a guy who found the recovery menu on the MOJO
http://www.freaktab.com/showthread.php?12075-FOUND-MAD-CATZ-M-O-J-O-RECOVERY-MENU
So, that could work, haven't tried..
gwaldo said:
Oh I meant doing something wrong on the filesystem, there's no rom/image for it , NAND I think it's called, the Android OS partition.
Like the guy that changed his permissions and made his entire MOJO readonly.. I think the only fix is the reflashing.
I did post about a guy who found the recovery menu on the MOJO
http://www.freaktab.com/showthread.php?12075-FOUND-MAD-CATZ-M-O-J-O-RECOVERY-MENU
So, that could work, haven't tried..
Click to expand...
Click to collapse
I think working with similar key combinations to enable nvidia recovery mode is more important. That way with nvflash we can make a copy of a clean install, and always be able to flash it back. My mojo always goes to this mode when I try the fastboot method, but it might be a special unit
Can I ask you which toolchain you used / which guide you followed? I'm following the guide at http odroid.us/mediawiki/index.php?title=Step-by-step_Cross-compiling_a_Kernel but I'm having some problem (the compiled modules wind up being armv5 instead of armv7) and I'm noob at cross compiling.
paulatz said:
Can I ask you which toolchain you used / which guide you followed? I'm following the guide at http odroid.us/mediawiki/index.php?title=Step-by-step_Cross-compiling_a_Kernel but I'm having some problem (the compiled modules wind up being armv5 instead of armv7) and I'm noob at cross compiling.
Click to expand...
Click to collapse
Looks like how I did it, I use mint linux
i don't have much of a cheap sheet, but I'll post it when I get on my PC.
gwaldo said:
Looks like how I did it, I use mint linux
i don't have much of a cheap sheet, but I'll post it when I get on my PC.
Click to expand...
Click to collapse
Don't worry, I have managed to do it using the official ndk from google (I'll post the details if someone ask for them when I can find the time).
I have compiled uvcvideo.ko, but it still is not working (uvcvideo: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)), but I do not want to hijack you thread. I'll open a specific one if I can find the time to work on the issue for real.
Just for more information here, I compile on ArchLinux and use the following make line:
Code:
$ CROSS_COMPILE=arm-linux-gnueabi- ARCH=arm make
With the following packages from the AUR (kernel headers package was modified to get the correct version):
Code:
arm-linux-gnueabi-binutils 2.24-1
arm-linux-gnueabi-eglibc 2.18-1
arm-linux-gnueabi-gcc 4.8.2-1
arm-linux-gnueabi-linux-api-headers 3.4.35-1
paulatz said:
Don't worry, I have managed to do it using the official ndk from google (I'll post the details if someone ask for them when I can find the time).
I have compiled uvcvideo.ko, but it still is not working (uvcvideo: Unknown symbol _GLOBAL_OFFSET_TABLE_ (err 0)), but I do not want to hijack you thread. I'll open a specific one if I can find the time to work on the issue for real.
Click to expand...
Click to collapse
It's not my thread, but here's what I do:
Mint Linux 14 (i know its old)
I downloaded the build chains:
https://github.com/DooMLoRD/android_prebuilt_toolchains/
Install extra utils:
sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
Click to expand...
Click to collapse
Export env vars:
export CROSS_COMPILE=/home/-USER-/-DIR-/android_prebuilt_toolchains-master/arm-eabi-linaro-4.6.2/bin/arm-eabi-
export ARCH=arm
Click to expand...
Click to collapse
Prepare the kernel
make clean && make mrproper
Click to expand...
Click to collapse
extract the kernel from your MOJO kernel.zip and place in the kernel folder.
make your changes:
make menuconfig
Click to expand...
Click to collapse
Compile it:
make -j5
Click to expand...
Click to collapse
how to install cifs module
vostok4 said:
Alright, finally we have CIFS support on MJO.
Cross compiled on ArchLinux from the sources posted by Rich, config pulled from /proc/config.gz and just compiled the CIFS+md4 module.
Works great here:
Code:
//10.0.0.11/vault 3.6T 2.9T 709.1G 81% /mnt/shell/emulated/0/vault
Make sure you have root, insmod md4.ko, insmod cifs.ko and enjoy! I'm using this to access my MP3s for aMPD so that my Mojo can act as my stereo too.
*edit* also make sure you have busybox installed in order to mount, and pass a username option. ie:
Code:
busybox mount -ousername=guest //1.1.1.1/share /sdcard/share
Click to expand...
Click to collapse
sorry, bui I don't understand how install the cifs module -cifs-module-kernel-3.4.35.zip-
Could anyone support me, please
darkodarko said:
sorry, bui I don't understand how install the cifs module -cifs-module-kernel-3.4.35.zip-
Could anyone support me, please
Click to expand...
Click to collapse
What are you doing exactly? Which result do you expect? Which result do you get instead?
cheers
paulatz said:
What are you doing exactly? Which result do you expect? Which result do you get instead?
cheers
Click to expand...
Click to collapse
I want connect my mojo with my nas through cifs and mount a specific folder.
I rooted mojo whit MMM MoDaCo Mod.
but I dont have any idea how use the cifs-module-kernel-3.4.35.zip file
Thanks in advance
You need to put the archive somewhere on your MOJO, and run the following as root:
insmod md4.ko
insmod cifs.ko
Then you can mount using either mine or gwaldo's mount line.
I can write up how I got it to automount later, in order for the mount to be accessible to every application it has to be outside of /sdcard, I did mine in /mnt/share, and have it mounting on boot (in an ugly method).
darkodarko said:
I want connect my mojo with my nas through cifs and mount a specific folder.
I rooted mojo whit MMM MoDaCo Mod.
but I dont have any idea how use the cifs-module-kernel-3.4.35.zip file
Thanks in advance
Click to expand...
Click to collapse
You need to extract the content of the zip file onto a usb drive/MICROSD and copy the files to the MOJO.
Then follow vostok4's instructions
in busybox (with root permission)
cd to-where-you-put your .ko files (you need to know linux command line)
then run
insmod md4.ko
insmod insmod cifs.ko
Then you need to mount it as below:
vostok4 said:
Alright, finally we have CIFS support on MJO.
Make sure you have root, insmod md4.ko, insmod cifs.ko and enjoy! I'm using this to access my MP3s for aMPD so that my Mojo can act as my stereo too.
*edit* also make sure you have busybox installed in order to mount, and pass a username option. ie:
Code:
busybox mount -ousername=guest //1.1.1.1/share /sdcard/share
Click to expand...
Click to collapse
PS: you'll need to do this EVERYTIME you reboot/restart MOJO.
PS2: I haven't done this my self but that's my understanding.
OK, in order to not do it everytime manually, I have something like this (note the sleep 30 is ugly but I didn't bother writing a method to trigger on network connectivity). This requires busybox installed (I use this one: https://play.google.com/store/apps/details?id=stericson.busybox)
If you aren't comfortable with manually mucking around, then I'm not sure what to tell you to This is assuming you have root and busybox installed.
In order to create files under /system and /etc you need to mount /system as read-write:
Code:
$ su
# mount -orw,remount /system
# cp /sdcard/install-recovery.sh /etc/
# chmod 777 /etc/install-recovery.sh
# mount -oro,remount /system
That would copy install-recovery.sh from the sdcard (we need to do this because we have a secure boot and can't adb push to /etc). It also sets the file as executable (we want that). SO, these are the files you need:
/etc/install-recovery.sh (needs chmod 777)
Code:
#!/system/bin/sh
# fake init.d support
/system/bin/sysinit
/system/bin/sysinit (needs chmod 777)
Code:
#!/system/bin/sh
# fake init.d support
# the script below is what i use to mount my cifs share
/system/bin/sh '/system/etc/init.d/99vault'
# these are commented out, but run-parts would be the proper way to use the init.d folder
# however I couldn't get it to work on my mojo, so i just call the script directly
#export PATH=/sbin:/system/sbin:/system/bin:/system/xbin
#run-parts /system/etc/init.d
/etc/init.d/99vault (or /system/etc/init.d/99vault if you expand the symlink) (needs chmod 777)
Code:
#!/system/bin/sh
/system/xbin/busybox mount -orw,remount /
# sometimes disappears on reboot, lets just create the mount folder to be safe
/system/xbin/busybox mkdir /mnt/vault
/system/xbin/busybox mount -oro,remount /
# mount our cifs module
/system/xbin/busybox insmod /system/etc/cifs/md4.ko
/system/xbin/busybox insmod /system/etc/cifs/cifs.ko
# wait for network to come online
sleep 30
# mount the actual share
/system/xbin/busybox mount -ousername=guest //10.0.0.11/vault /mnt/vault
That will get you mounted after each reboot without fail, at least in my experience.
did someone managed to make it work on cm 12.1?