[23 Nov 12] cLK - HD2 Android NAND Development

Posts have been re-ordered, Look above.

cLK (source code)
Click to expand...
Click to collapse
Stable
Legacy
ppp wrappers (source code)
Click to expand...
Click to collapse
0.8b4
0.8b5
Drivers and Utilities
Click to expand...
Click to collapse
The following tools are provided here, for linux(ubuntu 64bit binaries), windows and mac:
adb
fastboot
mkbootimg (not windows)
unpackbootimg (not windows)
FAQ
Click to expand...
Click to collapse
Q: What is cLK?
A: cLK is a homebrew bootloader which will allow you to boot into android directly on your windows mobile phone.
Q: Is it better then magldr ?
A: This question is heavily dependent on the user and his needs however the following points might help you make a better choice:
magldr is capable of booting Windows Phone 7.x.
cLK boots a tad faster than magldr as it does not wait for radio processor on boot.
cLK is open source so you can give/take what you want and learn stuff while doing so.
cLK has Partitioning tools inbuilt, you'll never have to hook your phone to a computer ever again, just for flashing a rom!
cLK has recovery inbuilt for users with broken usb port.
cLK supports off-mode charging
Known issues
Click to expand...
Click to collapse
RMNET does not work.
Related projects
Click to expand...
Click to collapse
Multi-boot manager
Off-mode alarm
Custom Image Update Utility

cLK changelog
Click to expand...
Click to collapse
1.5.x (Experimental)
19/Jan/2012 - FIRST alternative suggestion
Link
25/Jan/2012 - UPDATE #1
Link
26/Jan/2012 - UPDATE #2
New format option leaves recovery partition untouched. So yeah, no pc needed after formatting !
Basically it erases all the other existing partitions one by one. At the end recovery partition is intact so we can enter recovery interface and flash our preferred rom.
Set userdata as 'auto-size' partition . So default partition table is:
"recovery:5"
"misc:1"
"boot:5"
"userdata:0"
"system:150"
"cache:5"
Click to expand...
Click to collapse
Revised the 'Enable/Disable ExtROM' option.
If enabled it will automatically be used for 'cache' partition .
If disabled 'cache' will automatically return to 5MB size .
28/Jan/2012 - UPDATE #3
Cleaned some code that was not used .
Added option to convert 'auto-size' partition to 'fixed-size' .
Added option to set a partition as 'auto-size' if one doesn't already exist (just decrease its size to zero).
Small fixes to some features I previously added.
29/Jan/2012 - UPDATE #4
Revised the 'rearrange partitions' menu.
We cannot move recovery , cause then we'll have to re-flash it via pc .
How it works:
Lets say we have this layout:
1."recovery"
2."misc"
3."boot"
4."userdata"
5."system"
6."cache"
Click to expand...
Click to collapse
And we want to change it to:
1."recovery"
2."misc"
3."boot"
4."cache"
5."system"
6."userdata"
Click to expand...
Click to collapse
Enter 'REARRANGE PARTITIONS'
Select 'userdata' -> Scroll DOWN to 6 -> Select it
(You should see the change in the order of the partitions immediately! Don't worry nothing is committed. If you exit and re-enter SETTINGS menu everything will be reset.)
Select 'COMMIT CHANGES' -> Select 'APPLY'
(Of course you still have the option to re-order and re-size the partitions via pc, if the default layout doesn't fit your needs)
WARNING ! If you change the order of the partitions then have in mind that the same /dev/block/mtdblock<n>, n=0,1,2,... point to different mount points.
Clean up some code
01/Feb/2012 - UPDATE #5
Added new info when booting
After the partition table you should see a list with the existing bad blocks IF ANY. (CONFIRMED)
IF there are any bad blocks inside recovery,misc,boot,sboot,cache THEN they will be auto-re-sized by adding 1MB to each one.
Changed some output messages
02/Feb/2012 - UPDATE #6
Changed the function regarding auto-resizing:
IF there are any bad blocks inside recovery,misc,boot,sboot,cache THEN 1MB per 1bad block will be added to each partition with bad block(s). (CONFIRMED)
Changed some output messages
Default partition table is:
"recovery:5"
"misc:1"
"boot:5"
"system:150"
"userdata:0"
"cache:5"
Click to expand...
Click to collapse
06/Feb/2012 - UPDATE #7
Minor fixes/changes
Changed some output messages
08/Feb/2012 - UPDATE #8
If you press&hold the middle [MENU] button during (re)booting you can immediately boot android from sdcard(emmc), assuming that you have flashed sboot partition with the appropriate image and you have the required folder in the root of your sdcard.
Process of having dual boot(without using pc):
Prerequisite: The folder(usually named 'Android' or 'ics') with the SD version of Android exists in the root of your sdcard
Boot the device in cLK pressing [BACK] button, having the sdcard inserted
Go to MAIN MENU/SETTINGS - Select ADD sBOOT
Select BOOT RECOVERY from MAIN MENU
Select 'install zip from sdcard' and use something like this(this is an example) flash_sboot.zip
Select 'reboot system now' and press&hold [MENU] button to directly boot Android (emmc)
After each change(resize/rearrange parts, add/remove sboot, enable/disable ExtROM) is committed there is no longer the need to reboot. clk will just auto return to main menu, and from there you can select your next action.
14/Feb/2012 - UPDATE #9
Changed cpu speed to 998MHz.
Added option to show/hide info(ptable and bbtable) at start-up under MAIN MENU/INFO.
If you invert screen colors, the change will remain after rebooting.
The speed of reading/writing or erasing is improved a bit.
Cleaned up some code.
22/Feb/2012 - UPDATE #10
Removed showing bad block info during startup. Bad blocks can be checked from SETTINGS/PRINT BAD BLOCK TABLE(if any bad blocks exist).
Added chipset info in header.
Cleaned up more unused code.
13/Apr/2012 - UPDATE #11
Ported Rick's latest commit.
Added ability to triple boot. It works like secondary boot 'sboot'; you can add a tertiary boot partition named 'tboot' and the rest work the same.
Added "USB" mark for usb detection; if your device is connected to the pc via usb you should see 'USB' at the bottom of the screen.
Cleaned up more unused code. (EXPERIMENTAL)
06/Jun/2012 - UPDATE #12
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Added CID, IMEI , BT Mac Addr and WiFi Mac Addr under Device Info (Getting WiFi Mac doesn't work correctly ).
Revised the 'Enable/Disable ExtROM' option.
If enabled, a partition named "null" (which will be only 1 block in size) will be created after 'userdata' and the rest 191 blocks will automatically be used for 'cache' partition .
If disabled, 'cache' will automatically return to 5MB size .
Added ability to resize partitions by giving size in blocks too . NOT TESTED
Code:
fastboot oem part-resize name:size:b
where size is in blocks
i.e. fastboot oem part-resize misc:9:b => will resize 'misc' part to 9 blocks
Added ability to add partitions by giving size in blocks too . NOT TESTED
Code:
fastboot oem part-add name:size:b
where size is in blocks
i.e. fastboot oem part-add misc:8:b => will add 'misc' part with size 8 blocks (= 1MB)
Added option to enable/disable usb detection ("USB" mark at the bottom of the screen if device connected to pc) .
Changed version to LK_1.5black to avoid confusion regarding latest version of main cLK.
21/Jun/2012 - UPDATE #13
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
cLK can now be updated through fastboot* using a 'proper' image file**
*:In order to update use :
Code:
fastboot flash lk lk.img
**:In order to create the lk.img, use nbgen :
Code:
nbgen -b:lk.bin -o:lk.img
-Note that the partition table will not be overwitten.
-Also you can update clk from recovery or from android.
Bug fixes
20/Jul/2012 - UPDATE #14
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Added option to reset ANY settings you have modified.
(RESET SETTINGS under SETTINGS MENU = 'fastboot oem reset' ,previously cmd was 'fastboot oem format_vptable')
Fixed errors caused by some partition changes, so it should be stable now!
26/Jul/2012 - UPDATE #15
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Ported some commits from LK mainline.
(https://github.com/travisg/lk/commit/a95146ec5aef73b49e37045f96a26c10431d37d4,
https://github.com/travisg/lk/commit/6f28039866ddeb272e8660dd89a34208fc988896,
https://github.com/travisg/lk/commit/fc20e231dbabecb612343aa6784705086844052f,
https://github.com/travisg/lk/commit/ac8b88eefe9067fb0881e15435dce1bbc797d71b,
https://github.com/travisg/lk/commit/836375f779308d868515d43fbd7979f07874b6de,
https://github.com/travisg/lk/commit/c2a298970d74dca7c7d738b5e7e3ec04bee00984,
https://github.com/travisg/lk/commit/c32135b7e5972ec77f0883f55dd8b866b3c07c0d,
https://github.com/travisg/lk/commit/18559782b3335682310fdfd77b4ccb1563982d2a,
https://github.com/travisg/lk/commit/06d781f162ff3b35f806de59d7f0bf5bf87fdabd,
https://github.com/travisg/lk/commit/4bea031527e6d0153e61b7ffd4696df8a30f006c)
2nd attempt at fixing errors caused by some partition changes.
Edited nbgen so that it is possible to add recovery as a second partition.
11/Sep/2012 - UPDATE #16
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Added option to set the default boot partition. At start default is 'boot', but you can change it.
Added option to show or not a MULTIBOOT MENU at startup. Default behavior is to be hidden.
The MULTIBOOT MENU will show any existing boot partitions
and will boot from the default selection in 10s if you don't select something else.
Code:
supported_boot_partitions[] =
{
{"boot",},
{"sboot"},
{"tboot"},
{"vboot"}, //no uboot :D
{"wboot"},
{"xboot"},
{"yboot"},
{"zboot"},
{""},
};
As you see we have the primary boot + 7 extra boot partitions.
However there is NO change to the MAX_NUM_PART (max number of the partitions) which is 12, so you can eventually add 5 (of the 7 extra) different boot partitions,
(unless you don't have a NAND installation and you have deleted 'system' and 'userdata' so you can use all 7 extra, but I think it will be a mess ).
Added ability to control menu navigation through fastboot:
Code:
'fastboot oem key 8' ==> KEY_VOLUMEUP
'fastboot oem key 2' ==> KEY_VOLUMEDOWN
'fastboot oem key 5' ==> KEY_SEND
'fastboot oem key 0' ==> KEY_BACK
Removed option to enable/disable usb detection ("USB" mark at the bottom of the screen if device connected to pc) . By default it will be disabled .
18/Sep/2012 - UPDATE #17
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
acpuclock that Rick wrote and I managed to break, works again. So you have a new option under SETTINGS: SET MAX/DEFAULT CPU FREQ.
Changed the menus. Rearranged SETTINGS and INFO and their entries.
Fixed the charging while off problem that the last version had. Plus you don't need to unplug the cable in order to turn your phone on. Just press once the [CALL] button.
Fixed errors regarding partition rearrangement.
Also from that menu you can remove 'system' and 'userdata' from the partition table, by setting their order to 0. This will give you the chance to add 2 more extra boot partitions. If you went crazy and did that, but something doesn't work well, and you want back 'system' and 'userdata' you just have to RESET SETTINGS and the partition will return to default.
Fixed some errors regarding add/remove %x%boot.
Changed how the countdown in multiboot menu works. If you interact then the countdown is canceled.
Added option whether to fill the bad block table at startup or not, FILL/SKIP FILLING BBT @ STARTUP under SETTINGS.
Remember the option PRINT BAD BLOCK TABLE? If you don't select to FILL BBT @ STARTUP, then you won't see a BAD BLOCK TABLE because it will not be created. In simple words this means a little faster boot into cLK menu.
At a (re)boot event the way LK is determining what to do is:
First checks if any key was pressed, then checks the boot reason.
For example, if you selected 'Reboot to bootloader' from android but in the process you want to boot to recovery, you can just press&hold the [HOME] button until the phone vibrates.
Removed the function regarding auto-resizing small partitions which have bad blocks.
Added a fading animation before booting any kernel or recovery.
18/Sep/2012 - UPDATE #18
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Fixed messed up menus if more than one extra boot partition exists.
20/Sep/2012 - UPDATE #19
Code:
[U]Default partition table:[/U] recovery=5,misc=1,boot=5,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Fixed messed up menus if the order of the extra boot partitions is changed from default.
24/Oct/2012 - UPDATE #20
Code:
[U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Increased default size of 'recovery' partition to 6MB and changed layout.
Removed fading effect.
Added back option to enable/disable usb detection ("USB" mark at the bottom of the screen if device connected to pc).
Some platform code changes.
29/Oct/2012 - UPDATE #21
Code:
[U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Leds work. If you boot into cLK menu and your device is connected to a pc the led will go green. If not connected the led will stay turned off.
Screen brightness can be adjusted. Added option under SETTINGS. The selected level will be the default at each boot.
Entering cLK menu is slightly slower than before.
Added an option to change UDC settings at will. This is an attempt to solve any usb issues you might have (fastboot errors) without having to re-compile cLK's binary with different udc settings. 1st set is the default one. 2nd is the set that cLK used to have initially (1.5_rc1). 3rd is not working for me either, but left it for testing. So lets see how this goes...
When in cLK menu you can select items with the [MENU] button too(added this for those with broken [CALL] button).
11/Nov/2012 - UPDATE #22
Code:
[U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Changed some options under SETTINGS.
Added option to use inbuilt off-mode charging under SETTINGS/SET DEFAULT OFF-MODE CHARGING. From that menu you can select it (option USE INBUILT OFF-MODE CHARGING) and try it out.
If using inbuilt off-mode charging the device wakes up if you press POWER [button].
This is an experimental feature! Only tested with original battery and charger.
High Voltage (as measurement) is set to 4.2 V. Use at your own risk! Otherwise stick to the default way of charging (option USE RECOVERY'S OFF-MODE CHARGING).
Usb detection function changed (option under SETTINGS/ENABLE USB DETECTION). "USB" mark at the bottom of the screen if device connected to pc is replaced by turning led on/off if connected/disconnected.
Added some code as an experiment for a potential off-mode alarm application.
More info in this thread.
Warning : I didn't know java or how to use eclipse and make an android app. Seriously, I still don't. But after some days I managed to write this application mostly because I wanted to know if this idea was possible. So consider it as an example. Any criticism accepted. I just hope that someone may find it useful and make the best out of it.
19/Nov/2012 - UPDATE #23
Code:
[U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
[U]Included recovery:[/U] CWM Recovery Touch Beta 8 Release Candidate 1
[U]ExtRom:[/U] Disabled
Added option to set the voltage threshold for inbuilt off-mode charging under SETTINGS. It can be set from 3.8 to 4.2 V.
Changed the code for the off-mode alarm application based on Rick's suggestions. In order to work you need to have a patched kernel like this one. More info on off-mode alarm in this thread.
Added some code for another project, a multiboot android app. More info here.
Small fixes.
23/Nov/2012 - UPDATE #24
Code:
[U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
[U]Included recovery:[/U] (a)CWM Recovery Touch Beta 8 Release Candidate 1 Or (b)TWRP 2.2.2.0 with new zImage (patched tytung's latest GB-kernel)
[U]ExtRom:[/U] Disabled
Voltage threshold for inbuilt off-mode charging can be set from 3.7 to 4.2 V.
First attempt to fix problem with suspend mode.
Each included recovery is edited to fix the problem with the limitation of total mtd partitions(before edit the max was 11 - now I've set it to 20)
1.5.0 (Stable)
Added GUI (Graphical User Interface)
Added Flashlight support
Added partitioning support
Added on device paritioning support
Added support for device poweroff from device itself
Added support for "Use Last 24MB NAND"
Added stable CWM recovery in the NBH for those with broken USB port
Added support for Linux kernel fonts in lk framebuffer driver.
Added Power Down support in bootloader.
Few cherry picks from mainline lk at newos.org and codeaurora.org
Few bug fixes
This is not an exhaustive list of changelog, it will be updated in the coming days.
1.4.0.1 (Legacy)
Added clk=xxx as part of the /proc/cmdline
1.4
nbgen for making .nb file
1.3.3
small fix on get_boot_reason
cwm off charge fully implemented, inspired by dan1j3l's code
1.3.2
ROMHDR base addr is spl virtual 0x80000000 = 11800000 physical, LK will relocate to correct address (MEMBASE)
save reboot reason at 0x2FFB0000 (ramconsole - 0x1000 (PAGE_SIZE)) and @0x2FFB0004 XOR 0x004b4c63 (cLK signature)
added oem cmd to fastboot and oemcmd.bat for PC. supported commands are:
dmesg - kernel debug messages
smesg - spl messages
pwf addr len - dump memory
set[c,w,s] addr value - set char(1byte), word(4 byes), or string
Linux Kernel Patches
Click to expand...
Click to collapse
17.03.2011
small fix on get_boot_reason
cwm off charge fully implemented, inspired by dan1j3l's code (http://gitorious.org/htc-hd2-android.../master/cmon.c)
15.03.2011
kernel patch to save reboot reason so is available on bootloader
old patched in zip as pushed in most branches
25.02.2011
CWM patch for charging, unpatched CWM code is not properly reading kernel cmdline because /proc/cmdline file size is always 0 resulting in a always empty cmd line. I also changed the code to wait for key press then reboot phone to normal android.
20.02.2011
cLK_power_clllapse patch adds detection of cLK to kernel and puts the reset vector at 0x11800000 where cLK will jump (+4) at power_collapse_exit
off_mode_charging just prevents the kernel from BUG() if off mode charging and panel is off ( and not detectable )
both of this patches are compatibile with current SD and magldr builds, please push them to your git trees
Credits
Click to expand...
Click to collapse
- Cedesmith
- Martijn Stolk
- Cotulla
- seadersn
- stirkac
- Dan1j3l
- xdmcdmc
- arif-ali
- kokotas

[07 Jun 2011][BOOTLOADER]+[RECOVERY]cLK v1.4.0.1
Contents
Post 6: cLK compile HowTO (Linux)
Post 7: cLK compile HowTO (Windows)
Post 8: ROMs, HowTOs, Utilities (created by others)
Post 9: convert magldr ROM to cLK HowTO
Source code
cLK GIT
wrapper GIT
Drivers and Utilities
The following tools are provided in here, for linux(ubuntu 64bit binaries), windows and mac; thanks to Segnale007, who compiled them for mac.
adb
fastboot
mkbootimg (not windows)
unpackbootimg (not windows)

Changelog
blah blah blah

cLK compile Howto (Linux)
You need to install some packages to get things working, and the commands below will install the dependencies
Ubuntu:
Code:
sudo apt-get update
sudo apt-get install gcc make git wget unzip zip libc6-dev-amd64 libc6-dev
Fedora:
Code:
yum install gcc make git wget unzip zip
Open a terminal session, and create a directory called clk, change directory to clk, and run the following command to get the cLK git repository
Code:
git clone git://github.com/cedesmith/cLK.git
then run the following commands to download the codesourcery toolchain, and set-up environment
Code:
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5353/public/arm-none-eabi/arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
tar xvfj arm-2009q3-68-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
export PATH=$HOME/clk/arm-2009q3/bin:$PATH
To change your values for cache, system, boot etc... you need to change the following files in the the $HOME/clk/cLK directory
lk/target/htcleo/rules.mk
line 8 - system
lk/target/htcleo/init.c
line 28 - misc
line 32 - recovery
line 36 - boot
line 43 - cache
Now you can compile by running the following command
Code:
cd cLK
./compile clean
Now your RUU_signed.nbh will be located in the following folder
Code:
bin/RUU_signed.nbh
Hopefully that should work.
Anyone have any issues, let me know, I will amend the howto

cLK compile Howto (Windows)
OK, two ways, first way is to do everything yourself, so follow the steps below, i.e. start from Step 1.
If you want the easy way, then download the following zip file from the llink, then unzip it, and then double click "setup.bat". This automatically do all the steps listed below in bullet points
cLK_win.zip
* install cygwin, and all dependancies
* download cLK from git
* download codesourcery toolchain
* download yang
and now skip to Step 2
Step 1: Prepare environment
Download, the following file, and execute it
http://www.cygwin.com/setup.exe
Click Next
Click "Install from internet" and click Next
Click Next (to accept the default directory to install)
Click Next (to accept the default directory for local Package directory)
Click "Direct Connection", and click Next
Select a "local mirror", and click Next
Now in the search bar, you need to search for the following things to install
gcc
make
git
wget
zip
unzip
Once selected click Next to continue, and Finish
Now you will have an icon for Cygwin on the desktop, double-click this
now in the window that appears, run the following command
Code:
git clone git://github.com/cedesmith/cLK.git
then run the following commands to download the codesourcery toolchain
Code:
wget http://www.codesourcery.com/sgpp/lite/arm/portal/package5354/public/arm-none-eabi/arm-2009q3-68-arm-none-eabi-i686-mingw32.tar.bz2
tar xvfj arm-2009q3-68-arm-none-eabi-i686-mingw32.tar.bz2
wget http://htc-flasher.googlecode.com/files/yang-1.1_win32.zip
cd cLK/bin
rm -rf yang
mkdir yang
unzip ../../yang-1.1_win32.zip yang/yang.exe
mv yang/yang.exe .
cd ..
sed -i s/yang/yang.exe/g compile
Step 2: Change partition sizes
To change your values for cache, system, boot etc... you need to change the following files
lk/target/htcleo/rules.mk
line 8 - system
lk/target/htcleo/init.c
line 28 - misc
line 32 - recovery
line 36 - boot
line 43 - cache
These will be located in c:\cygwin\home\<username>\cLK on your windows machine
Step 3: Compile cLK
Now you can compile by running the following command
Code:
export PATH=$HOME/arm-2009q3/bin:$PATH
cd cLK
./compile clean
Now your RUU_signed.nbh will be located in the following folder
Code:
bin/RUU_signed.nbh
Hopefully that should work, I have just tested this on my machine.
Anyone have any issues, let me know, I will amend the howto

ROMS, HowTOs and Utilities
ROMs
Click to expand...
Click to collapse
HyperDroid-CM7 by pongster
Froyo Sense revolution 2.5 by arif-ali
UD 3.1 by crawlingcity
Revolution HD v2.6 & SL v1.4 by arif-ali
HowTOs
Click to expand...
Click to collapse
cLK for Dummies by stirkac
Utilities
Click to expand...
Click to collapse
CWR with yes/no menu by seadersn
HD2 NAND Toolkit by ksubedi

Convert magldr ROM to cLK HowTO
another one for howto for rom chefs
Coming Soon!!!

Awsome new clk bootloader! It will be interesting to see how stable internet is!

if you find a way to install with clk and recovery at once from sd card method (leoimg.nbh) it would be awesome to be able to change on the road between wm and nand android

It's a shame you're not going to support RMNET. The data stability with PPP seems to a minus. I know cedesmith (at one time) was deving for RMNET support, but I doubt it'll get there now. Still though, cLK is a great bootloader. Keep up the great work (if there is any left).
-Bryan

Can't cotulla provide the source script of RMNET ?

white-energy said:
Can't cotulla provide the source script of RMNET ?
Click to expand...
Click to collapse
This has been already been mentioned in the other thread, He will not provide it, and it was taken apparently by hacking out the radio code.
I think a few people have asked the question, and there is no chance that he will provide his code, this is a similar issue that people are having where Cotulla is developing magldr on other devices, it is all closed-source.
FYI, cedesmith may have said that he was going to do it in the early days when he was doing cLK, but when he had discussions with cotulla, and him not providing the code, and how it was working, he decided not to try to implement even if he could.

arif-ali said:
This has been already been mentioned in the other thread, He will not provide it, and it was taken apparently by hacking out the radio code.
I think a few people have asked the question, and there is no chance that he will provide his code, this is a similar issue that people are having where Cotulla is developing magldr on other devices, it is all closed-source.
FYI, cedesmith may have said that he was going to do it in the early days when he was doing cLK, but when he had discussions with cotulla, and him not providing the code, and how it was working, he decided not to try to implement even if he could.
Click to expand...
Click to collapse
Oh no! alright i have an idea! (shinny lamp =P) lets hijack Cotulla's computer and get everything he has closed-sourced and make it open-sourced =P

HELP
this is the first time I have ever tried to compile a kernel. I know sdk pretty well but compiling this kernel and the directions that have been provided are confusing to me.
Step 3: Compile cLK
Now you can compile by running the following command
Code:
export PATH=$HOME/arm-2009q3/bin:$PATH
cd cLK
./compile clean
I have entered these in Cygwin the first line I am a little lost on? I entered export c:/cygwin/home/HD2/cLK=$HOME/arm-2009q3/bin:$c:/cygwin/home/HD2/cLK
i get bash: export: c:/cygwin/home/HD2/cLK=$HOME/arm-2009q3/bin:$c:/cygwin/home/HD2/cLK
/cLK' not a valid identifier
I have no idea what that means can anyone help?

jhr5474 said:
this is the first time I have ever tried to compile a kernel. I know sdk pretty well but compiling this kernel and the directions that have been provided are confusing to me.
Step 3: Compile cLK
Now you can compile by running the following command
Code:
export PATH=$HOME/arm-2009q3/bin:$PATH
cd cLK
./compile clean
I have entered these in Cygwin the first line I am a little lost on? I entered export c:/cygwin/home/HD2/cLK=$HOME/arm-2009q3/bin:$c:/cygwin/home/HD2/cLK
i get bash: export: c:/cygwin/home/HD2/cLK=$HOME/arm-2009q3/bin:$c:/cygwin/home/HD2/cLK
/cLK' not a valid identifier
I have no idea what that means can anyone help?
Click to expand...
Click to collapse
you need the actual word "PATH", don't replace it
Sent from my HTC HD2 using XDA Premium App

CLK over MAGLDR
I was having problem with my NAND Android phone with MAGLDR bootloader. The problem was my phone is unreachable while it is screen off/sleep mode. There is no problem when the screen is on. I tried different versions of Android with all the recommended settings. There is an exemption for Windows 7 mobile, it was OK even when in sleep mode. Two days ago I started using CLK boot loader, and I never had this problem again. To confirm I tried various versions of android including doubleshot and kingdom with sense 3. The only problem I think is the unstable PPP internet connection. MAGLDR was good with its RMNET connection.
Anybody else observed this? Any comments or advise?

alexkutty said:
I was having problem with my NAND Android phone with MAGLDR bootloader. The problem was my phone is unreachable while it is screen off/sleep mode. There is no problem when the screen is on. I tried different versions of Android with all the recommended settings. There is an exemption for Windows 7 mobile, it was OK even when in sleep mode. Two days ago I started using CLK boot loader, and I never had this problem again. To confirm I tried various versions of android including doubleshot and kingdom with sense 3. The only problem I think is the unstable PPP internet connection. MAGLDR was good with its RMNET connection.
Anybody else observed this? Any comments or advise?
Click to expand...
Click to collapse
Already tested the two ril wrappers? beta4 seems to be the best for most of the people.
Using the beta4 wrapper since its out (end of april) and my data connection didn't drop one time.

so it's arif taking over the wheel now? i hope to c somethin' going on in here...
maybe clk with recovery preinstalled?
i was thinking yesterday, what if we would do a check of partitions on cLK start:
1.so if /recovery is empty, we fire up fastboot and give a hint in last line what to do-after fastboot: processing commands
if it just goes to -suspend- than write a line to say "please connect to usb or install fastboot drivers"
2.and when /system is empty, it drops you to recovery.
i thnk that would be possible in couple of lines (but don't take me 100% because i'm yet to see cLK source..i hate VM's + i don't have much space on regular drive to spare)

Related

[DISCONTINUED][CWM/cLK] Revolution HD v2.6.2 & SL v1.4.2

Notes:
Click to expand...
Click to collapse
This build is a rework/continuation of MDJ Revolution series
I started this thread, as there was some demand for this to get updated. If m-deejay decides to update his original build, I will discontinue this build
Use this at your own risk. I will not be accountable if this causes you phone to fail, or you lose your data. The backup of your data is your responsibility.
I am a newbie to the android development, so please be patient with fixes and releases; and your help and advice will be appreciated.
Finally: If you cannot donate, then Click Thanks if you appreciate the build, and all works.
Kernel Usage
Click to expand...
Click to collapse
The new thread for the kernel is HERE
ROM Links
Click to expand...
Click to collapse
I have tested an upgrade myself to these releases myself, and have not encountered any problems. But everyones setup is different, the upgrade process may work for you. But would recommend to do a NAND backup before you do. FINALLY, I will not be held responsible if you lose any data.
If you experience any boot loops, then expect at least 2, please report if you do get this, and what was your process, so that I can understand where the problem is happening.
DFT releases have been only included for experimental purposes, I will not guarantee that this works.
The build of this ROM is available here, If anyone wants to have play with this build, then feel free to checkout the repository by running the following command in Linux. This will grab the whole repository onto your machine.
Code:
git clone http://git.gitorious.org/android-leo-revolution/revolution-hd.git
Revolution HD 1.4 Super Light NAND CWM MAGLDR, Click or scan the image
Revolution HD 1.4 Super Light NAND CWM cLK, Click or scan the image
Revolution HD v1.4 Super Light NAND DFT (flashable via MAGLDR) MAGLDR 1.13 required
Revolution HD v1.4 Super Light NAND cLK (flashable via cLK using fastboot) cLK 1.3.1 required, attached in this post
Revolution HD v2.6 NAND CWM MAGLDR, Click or scan the image
Revolution HD v2.6 NAND CWM cLK, Click or scan the image
Revolution HD v2.6 NAND DFT (flashable via MAGLDR) MAGLDR 1.13 required
Revolution HD v2.6 NAND cLK (flashable via cLK using fastboot) cLK 1.3.1 required, attached in this post
Updates
Click to expand...
Click to collapse
Revolution HD 1.4.2 Super Light NAND CWM MAGLDR, Click or scan the image
Revolution HD 1.4.2 Super Light NAND CWM cLK, Click or scan the image
Revolution HD 2.6.2 NAND CWM MAGLDR, Click or scan the image
Revolution HD 2.6.2 NAND CWM cLK, Click or scan the image
Forum Links
Click to expand...
Click to collapse
ClockworkMod HowTo
cLK howto
config.txt Howto
Click to expand...
Click to collapse
This file needs to go onto your FAT32/vfat partition of the SD card
ppp_mode - set PPP or not, valid values 1 or 0 (not for cLK)
gps_zone - zone from pool.ntp.org, values may be uk, us, europe etc... check pool.ntp.org, for all possible values
a2sd_mode - set which a2sd mode you want, possible values, apps, dalvik, data (dalvik is default)
- a2sd - app and app-private
- dalvik - app, app-private and dalvik-cache
- data - app, app-private, dalvik-cache and data
- none - none of the above
example config
Code:
ppp_mode=1
gps_zone=uk
a2sd_mode=data
cLK Howto
Click to expand...
Click to collapse
Download the attached cLK1.3.3_system_300M_arif-ali.zip or cLK1.3.3_system_250M_arif-ali.zip for SL
turn phone on with volume down key, so that it is in SPL
install cLK by double-clicking CustomRUU.exe
To install recovery download the correct one from post #2 of cLK thread (link above)
reboot phone into fastboot by keeping the back key pressed
flash recovery by running "fastboot flash recovery recovery.img"
How To SL1.4.2 & 2.6.2 (CWM - MAGLDR)
Click to expand...
Click to collapse
Make sure you have partitioned the SD card correctly (ext partition, and a vfat partition)
Make sure you have followed the ClockWorkMod Howto to add the recovery to the phone (see links in the thanks/credits section)
Download the link above and put it into the vfat partition, maybe in a folder called ROMS
Boot phone into MAGLDR by holding on the Red button/close call
Select AD Recovery (Option 8)
Select Install zip from sdcard
Select choose zip from sdcard
Select the ROM from the SD
Select Yes to install the zip
reboot the phone and enjoy
How To SL1.4.2 & 2.6.2 (CWM - cLK)
Click to expand...
Click to collapse
Make sure you have partitioned the SD card correctly (ext partition, and a vfat partition)
Download the link above and put it into the vfat partition, maybe in a folder called ROMS
Boot phone into fastboot by pressing the back key
flash the recovery using "fastboot flash recovery recovery.img"
reboot phone into cLK recovery by holding on the Home key
Select Install zip from sdcard
Select choose zip from sdcard
Select the ROM from the SD
Select Yes to install the zip
reboot the phone and enjoy
How To SL1.4 & 2.6 (DFT)
Click to expand...
Click to collapse
MAGLDR 1.13 is now required
Connect phone to computer
Reboot phone and press hold the Red (on/off) button, until you get into the MAGLDR menu
Select USB Flasher
Start the DAF.exe application, and press Next until it tries to flash
press green button (call) button on the phone
This will now flash the phone and reboot
How To SL1.4 & 2.6 (cLK - fastboot)
Click to expand...
Click to collapse
Connect phone to computer
Reboot phone and press hold the back key, until you get into fastboot
Run "fastboot flash boot boot.img"
Run "fastboot flash system system.img"
Run "fastboot flash userdata data.img"
Run "fastboot reboot"
This will reboot phone, enjoy!!!
Howto apps2sd
Click to expand...
Click to collapse
By default app, app-private and dalvik-cache are on the SD card, if you need any other option, then follow the below instructions on what you want
data2sd
Code:
adb shell a2sd datasd
no dalvik on sd
Code:
adb shell a2sd nocache
remove a2sd completely
Code:
adb shell a2sd remove
Howto ROM Manager
Click to expand...
Click to collapse
After booting into the phone, you need to create the following file on your sdcard, and reboot the phone. Hopefully after this, your phone should work.
Code:
/sdcard/clockworkmod/.settings
with the following contents
Code:
{"is_clockworkmod":true,"current_recovery_version":"3.0.1.9","readonly_recovery":false,"recovery_timestamp":1300214577721,"flash_recovery":"flash_image recovery %s ; ","reboot_recovery":"","detected_device":"leo"}
I will attempt to get this added in the next release
Please READ!!!
Click to expand...
Click to collapse
make sure that any app that you do install move it back to the phone, and that will automatically reside on the SD card in the ext2/ext3/ext4 partition
For the Revolution 2.6 you need at least 288 MB in /system, so for EU users you need to flash the CWM build with 300MB /system, you can change the flash.cfg from the ClockworkMod and the change it similar to
Code:
system ya 300M
You can use the attached Recovery_300M.zip instead, which has the files changed, and flash using the attached file.
Known Issues / Bugs
Click to expand...
Click to collapse
At first/second/maybe third boot You will get a message "Process system is not responding".
FIX: press the volume up/down key wait 5 seconds, and it will continue to start
Occasional low volume
To Do List / Work in-progress
Click to expand...
Click to collapse
v2.7 & v1.5
Fix AudioFlinger Issue
re-do init process so that config.txt is read from SD card (only works with MAGLDR)
a2sd mode (apps, dalvik, data) - part 2
Add Stock Theme Option
Thanks/Credits
Click to expand...
Click to collapse
m-deejay (ROM & kernel)
Cotulla (MAGLDR, HSPL)
kholk (Radio)
RaiderX303 (ClockworkMod)
birkoffsjunk (img2cwm)
tkirton (dtapps2sd)
cedesmith (cLK)
letama (ril_wrapper)
#htc-linux and #htc-linux-chat
All ROM users
Screenshots
Screenshots in attachements
Changelog
Common ChangeLog
Code:
[B]v1.4.2 and v2.6.2[/B] (22/03/2011)
* new kernel AA 0.5 (see kernel thread for details)
* support for ROM Manager if using cLK
* Add latest ROM Manager to cLK build
* Update to cLK 1.3.3
* cache moved to mtd cache
* Update gmail, youtube, ES Explorer apks
[B]v1.4.1 and v2.6.1[/B] (11/03/2011)
* fix config.txt default value for a2sd_mode to be dalvik (caused issues if no value in config.txt)
* add config.txt support for cLK (excluding ppp_mode)
[B]v1.4 and v2.6[/B] (6/03/2011)
* fixed bug with upgrade and a2sd
* upgrade kernel to 0.3 (see changelog below for details)
* able to change settings dynamically using config.txt (MAGLDR only)
* gps zone
* ppp/rmnet
* a2sd mode (apps, dalvik, data)
* Add PPP support (to use with cLK)
* fix bugs with PPP
[B]v1.3 and v2.5[/B] (18/02/2011)
* fixed a bug with a2sd+
- now upgrade should work without any problems
- switching between 2.5 and 1.3 shouldn't be a problem now
- if data2sd is enabled, then this won't get ruined
* update kernel so that it contains the latest patches from (http://gitorious.org/linux-on-wince-htc/linux_on_wince_htc)
- merge MDJ kernel with current tree
- kernel-aa-0.2
[B]v1.2 and v2.4[/B] (06/02/2011)
* Fixed root issue
* reverted to dtapps2sd-2.7.5.3-beta04 (credit to tkirton)
- app
- app-private
- dalvik-cache
* added ES Explorer
[B]v1.1 and 2.3 [/B](19/01/11)
* S10.4 OC kernel included
* Loading of the relevant modules correctly
* Add apps2sd+
* Fixed data network issue
[B]v1.0 and 2.2[/B](16/01/11)
* Unsquashed
* Initial Release
Revolution HD
Code:
[B]v2.4.1[/B] (09/02/2011)
* Fixed apps2sd issue
* removed bootanimation.zip
[B]v2.4[/B] (07/02/2011)
* added Talk
Previous Changelogs (MDJ)
Code:
[b]v2.2[/b]
- Squashed apps & framework for more userspace
- Removed some media stuff
[b]v2.1[/b]
- Now for all Leo versions (LEO512 & LEO1024)
- New method (only system.img)
- Newest kernel MDJ S9.1 OC
- Fixed root permissions (Superuser)
- Fixed Market
- Removed some gapps (Talk, Facebook, Twitter, Maps, etc) (you can install it from market)
- Removed some wallpapers
- Removed some themes
- Others fixes/tweaks/changes
[b]v2.0[/b]
- Initial NAND release
[b]v1.0 Super Light[/b]
* Initial Release
* Removed 80% HTC Sense
* Newest kernel MDJ S9.2 OC
I only have mgdlr on a tmous.do I have to partition and do all that stuff.or can I just flash normally.
milkoo said:
I only have mgdlr on a tmous.do I have to partition and do all that stuff.or can I just flash normally.
Click to expand...
Click to collapse
Not at the moment. I will have a go with that later date, keep a look out
where dtapps2sd-2.7.5.2-signed.zip file?
add: ok. i find other thread.
I installed them all but stop blank screen. why?
(sorry for english)
Thanks. I really want that calender fixed.for now if I want to update the kernal I just copy the files with root explorer and reboot?
Sent from my HTC HD2 using XDA App
rambetiko said:
where dtapps2sd-2.7.5.2-signed.zip file?
Click to expand...
Click to collapse
check first post, now attached.
milkoo said:
Thanks. I really want that calender fixed.for now if I want to update the kernal I just copy the files with root explorer and reboot?
Click to expand...
Click to collapse
1. Extract the zip
2. mount the /boot on the phone using adb
3. copy the zImage in boot to /boot
4. copy syste/lib/modules/* to /system/lib/modules/.
5. reboot the phone
It is very likely the following may work, but I don't know your environment to be sure
if /dev/block/mtdblock0 is not your boot then, this will not work. You want to check to make sure
The Link in the first post is not meant for installing using manual process. but for CWM, but if you know what you are doing then you can use it
Code:
adb shell mkdir /data/boot
adb shell mount -t yaffs2 -orw,nosuid,nodev /dev/block/mtdblock0 /data/boot
cd boot
adb push zImage /data/boot/zImage
adb remount
cd ..\system\lib\modules
adb push bcm4329.ko /system/lib/modules/bcm4329.ko
adb push tun.ko /system/lib/modules/tun.ko
adb push cifs.ko /system/lib/modules/cifs.ko
adb push fuse.ko /system/lib/modules/fuse.ko
adb push msm_rmnet.ko /system/lib/modules/msm_rmnet.ko
adb push nls_utf8.ko /system/lib/modules/nls_utf8.ko
echo Cleaning up...
adb shell umount /data/boot
adb shell rmdir /data/boot
That's too confusing.I'm just going to wait for a normal flash.thank you.
Sent from my HTC HD2 using XDA App
Thanks for the work arif-ali, I'm sorry but how do I run the command to xfer the dalvik-cache? sorry if its a stupid question.
Won't boot, bootloop, not a noob
Edit: I didn't try or read enough, my favorite build thank you for your hard work. Make sure SYSTEM PARTION is 400MB from clockwork page
follow instructions and walha sweetest build by to date HD2 devs kick ass
neileisenhauer said:
Won't boot, bootloop, not a noob
Click to expand...
Click to collapse
Me too um almost missing SD android
This is all "greek" to me...I'm going to have to wait for a un-squashed normal NAND version.
I appreciate all the work that you have been doing to keep this alive.
Thanks!
Pictures please
if you may send the pictures in this forum to see if it worked for you. Thank you for working for this.
DAP420 said:
Me too um almost missing SD android
Click to expand...
Click to collapse
1. How big are your system partitions?
for the Revolution HD 2.2 it needs to be ~300MB
2. Have you done a factory/data reset from the CWM menu, before installing via CWM? (make sure you are running 1.2 of ClockWorkMod)
calaisxtyo said:
Thanks for the work arif-ali, I'm sorry but how do I run the command to xfer the dalvik-cache? sorry if its a stupid question.
Click to expand...
Click to collapse
The command is in the first post
search the forums on how to get the adb working on your system
In short
1. download adb for your system
2. make sure adb in your path
3. open a terminal/command prompt
4. run the command in the first post
New release
All,
I am building a release for Super Light, i have it all ready, but I am stuck at one problem at the moment.
After every boot I need to press the volume up/down key once for it to boot.
Something about audioflinger. Anyone have any ideas?
Volume buttom?
Are you talk about auto boot?
I'm not sure I understand the question well.
Check this link half way down the page.
jayceooi.com/2010/12/31/how-to-install-nand-android-on-htc-hd2
Keep up the good work.
Eric Br
I flashed CWM 250M, then installed the lite version 1.1, but it won't boot...

[DEV][WIP] xubuntu on tf300tg 0.1.2 (updated 130408)

*** ABOUT ***
This is an attempt to build a completely clean installation of xubuntu for the tf300tg (and probably tf300t). Most notably it does not reuse the ac100 ubuntu package.
I also want it to be as completely documented as possible starting from an official ubuntu repository and kernel source, until everything is working. Which does not mean it is for a complete beginner to reproduce...
It's not (yet) packaged : you at least need to be able to install a blob for the kernel, and a rootfs to a dedicated partition.
It's also not yet as cleaned up and documented as I would for the kernel side of things.
Everything is done on device on (and for) a tf300tg but as been reported to work on tf300t.
Most of the hard work was done by others. I mostly started from rabit's tf700 ubuntu, and added some insight from cb22 work on arch to get something working.
*** STATUS ***
What works :
- it boots into a clean xubuntu dm/desktop, with wifi (improved), 3g
- it also boots into android (stock, didn't try cm)
- 3g also works under android (new)
- touchpad / touchscreen
- 3d acceleration (version 16.3 of nvidia drivers)
- cpu and gpu overclock (respectively to 1,5 GHz and 446 MHz)
What I know doesn't work, isn't there yet :
- sound
- bluetooth
- some key remapping (esc, alt, ...)
Many other things I didn't check (sensors ?).
*** HOWTO install ***
0. of course you can break many things doing that ; you should have access to nvflash (never had to use it though) and with a recovery installed (I'm on twrp 2.4.3.0)
1. unpack xubuntu_tf300tg_rootfs-0.1.2.img.lzma to the internal storage and move / rename to linux/rootfs.img (/data/media/linux/rootfs.img)
1bis. you can change your keyboard layout in /etc/default/keyboard (replace "us" by whatever is your locale)
2. install the kernel blob using fastboot or "dd if=xubuntu_tf300tg_kernel-0.1.2oc.blob of=/dev/block/mmcblk0p4"
You should be able to reboot into xubunfu (or android).
3. log in as guest, from "user and groups" in the "settings manager", add one user, set password, change account type to administrator, add to sudo group (root password wil be asked : root)
4. logout, then login into your newly created user
5. open "language support" from the settings manager, and when it says missing locales, either choose install if you want "en" or "ask me later" if you want something else (in which case you can chose to install your own language, and configure them on the "regional format" page ; don't forget to apply system wide on both pages
6. change root password
Your second reboot should be more satisfying
*** HOWTO improve ***
1. find out what does not work and tell in the thread
2. understand what is documented bellow and propose correction / evolutions in the thread
3. don't hope for frequent updates : I do that alongside a more than full time job and tending to a two years old child. Still I will update.
*** DOWNLOAD ***
rootfs : http://d-h.st/vYf
kernel : http://d-h.st/UAy
misc config files : http://d-h.st/TEZ
nvidia drivers : http://d-h.st/pwQ
md5sum :
4f572c110c3f06f54699c826fed692f4 src-0.1.2.tar.lzma
249826271f4fadff4352217467e4ed2e xubuntu_tf300tg_kernel-0.1.2oc.blob
3263de707c2586d1e2177367f067361a xubuntu_tf300tg_rootfs-0.1.2.img.lzma
cf20b01281be3ef4b6d4631ae5cea67b R16.3.tar.lzma
*** HOW is it done / rootfs ***
I did it from ubuntu (rabits') on my tf300tg. Should be doable from another platform. Definitly doable from self.
As root.
# unset languages / locales
export LANG=C
unset LC_ADDRESS
unset LC_IDENTIFICATION
unset LC_MEASUREMENT
unset LC_MONETARY
unset LC_NAME
unset LC_NUMERIC
unset LC_PAPER
unset LC_TELEPHONE
unset LC_TIME
# mount a cleanly ext4 formated partition (futur root partition)
mount /dev/mmcblk1p2 /media/p1
# install initial minimal system
apt-get install debootstrap
debootstrap quantal /media/p1 http://ports.ubuntu.com/
# prepare to chroot
mv /media/p1/etc/apt/sources.list /media/p1/etc/apt/sources.list.orig
cp src/sources.list /media/p1/etc/apt/sources.list
mv /media/p1/etc/fstab /media/p1/etc/fstab.orig
cp src/fstab_chroot /media/p1/etc/fstab
mkdir /media/p1/run/user
# chroot into the new system and mount all special filesystems
chroot /media/p1
mount -a
# download xubuntu (avoiding unity which is recommended by lightdm)
apt-get update
apt-get upgrade
apt-get install xserver-xorg
apt-get --no-install-recommends install lightdm
apt-get install lightdm-gtk-greeter
apt-get install xubuntu-desktop
# install nvidia drivers and tuned nv.conf
tar xf R16.3.tar
update-alternatives --force \
--install /etc/ld.so.conf.d/arm-linux-gnueabihf_EGL.conf arm-linux-gnueabihf_egl_conf /usr/lib/nvidia-tegra/ld.so.conf 9000 \
--slave /usr/lib/xorg/modules/drivers/tegra_drv.so nvidia_drv /usr/lib/nvidia-tegra/xorg/modules/drivers/tegra_drv.abi13.so
ldconfig -v
update-rc.d ondemand disable
# change root password to something of your chosing and exit chroot
passwd root
# configure touchscreen and touchpad
apt-get install xserver-xorg-input-multitouch
exit
cp src/mtev.so /media/p1/usr/lib/xorg/modules/input
mkdir /media/p1/etc/X11/xorg.conf.d
cp src/50-elan* /media/p1/etc/X11/xorg.conf.d
# change hostname
# edit /media/p1/etc/hostname and replace tf300tg with your chosen hostname
# edit /media/p1/etc/hosts and insert a line (second one) with "127.0.0.1 yourhostname"
# hide the partitions from mmcblk0 (thanks cb22)
echo 'ENV{ID_PATH}=="platform-sdhci-tegra.3", ENV{UDISKS_IGNORE}="1"' > /media/p1/etc/udev/rules.d/80-hide_tf300tg_partitions.rules
# change keyboard defaults
# edit /media/p1/etc/default/keyboard ; replace "pc105" by "asus_laptop" ; you can also change "us" to your locale
# create mountpoints for system and data
mkdir /media/p1/system /media/p1/data
# configure for loading wifi module
echo bcm4329 >> /media/p1/etc/modules
#
cp /media/p1/etc/fstab.orig /media/p1/etc/fstab
*** HOW is it done / kernel ***
The kernel source is default asus 10.4.3.9 from asus' website download section. Patched to add cpu overclock from faux's kernel and gpu overclock from motley's kernel (diff file in src.tar.lzma).
Initial kernel config file is taken from stock 10.4.3.9 android, with options added to support ubuntu and oc. path to the nvram for bcm4329 modified.
Ramdisk is mostly that from rabbits 0.8.0, with some modificaitons to enable modem support under android.
*** Todo ****
- modify config / kernel to use nvidia's R16.3 tool to patch wifi ;
- build initramfs anew from tf300t/tg stock android initramfs (currently rabbits modified tf700) ;
- bluetooth and sound ;
- key remapping.
reserved 2
Sounds promising! Keep it up, hopefully other devs see this and help you out :good:
Re: [DEV][WIP] xubuntu on tf300tg 0.1.0
Good job, I will tray luck to night when I back from work.
P.S. I heave no dock - that means no keabord and mouse
Sent from my GT-I9100 using xda app-developers app
Keshukas said:
Good job, I will tray luck to night when I back from work.
P.S. I heave no dock - that means no keabord and mouse
Sent from my GT-I9100 using xda app-developers app
Click to expand...
Click to collapse
Thanks for your interest.
Although I would be happy to have some feedback, it may be a bit early if you don't have a dock : it's completely functionnal with a dock and mouse (I've been using it for work - and build - for a few days), without a keyboard and mouse, you will not go farther than xubuntu' login screen.
Anyway if you still wan't to try it, tell me if you reach xubuntu blue login screen.
Re: [DEV][WIP] xubuntu on tf300tg 0.1.0
On the rabbit Ubuntu for tf700 are virtual keabord (beside clock switch ) witch I use to login to Ubuntu
Sent from my GT-I9100 using xda app-developers app
Assuming this is a dual boot kernel, how does the kernel know where ubuntu is installed if not installed on internal sdcard? Also what's the minimum size partition that can be used?
Moved the thread for ya...
Yes!!! ) Thanks I wait for it )) Xubuntu is my lovely linux, I have it on PC, Notebook, installed on fathers PC and now for tablet!! :good::good::good:
Keshukas said:
On the rabbit Ubuntu for tf700 are virtual keabord (beside clock switch ) witch I use to login to Ubuntu
Sent from my GT-I9100 using xda app-developers app
Click to expand...
Click to collapse
I know that and it can be reproduced (look at rabits' /etc/X11/xorg.conf ; and needs packages xserver-xorg-input-multitouch and mtev).
But I have not yet abandonned all hope of doing it the ubuntu way (ie. with evdev).
TechyNut said:
Assuming this is a dual boot kernel, how does the kernel know where ubuntu is installed if not installed on internal sdcard? Also what's the minimum size partition that can be used?
Click to expand...
Click to collapse
Rabits modified the boot image so that it checks /dev/sda*, then /dev/mmcblk1p*, then an img file on /dev/mmcblk0p8. The first which looks to be an ubuntu partition is used as root. He also activated vt (having a console during boot) in is kernel configuration. I reproduced both.
NRGZ28 said:
Moved the thread for ya...
Click to expand...
Click to collapse
Thanks. Induced some noise on other threads
Ramdisk initrd.img in your kernel blob file is not a gzip !!!
Ok starting test
1. Yours kernel most start android if no Linux in /dev/sda1 or /dev/mmcblk1p* or on /dev/mmcblk0p8. Some I understand ?
Now making backup of me tablet ( TF300t ) and flashing kernel to test it.
2. I planing Make Linux on me ExtSDcard (MiniSD 8 gb) and plug sdcard in tablet and then reboot tablet. i hope to start Xubuntu
akurpiel said:
Ramdisk initrd.img in your kernel blob file is not a gzip !!!
Click to expand...
Click to collapse
No. It's lzma.
You can check rabits' git for details : https://github.com/rabits/tf700
Keshukas said:
Ok starting test
...
i hope to start Xubuntu
Click to expand...
Click to collapse
I hope too. Thanks for testing.
Can't mount linux
So I thought I'd give this a try. These are the steps I took to install this:
1. Formated 8gig SD card as ext4
2. Extracted rootfs to SD card.
3. Inserted SD in base
4. copy /system/vendor and /system/etc from your tf into /system on that partition ; copy /data/misc from your tf into /data on that partition
5. fastboot -i 0x0b05 flash staging xubuntu_tf300tg_kernel-0.1.0.blob
6. reboot
6. Kernel boots prompting option, select 1 (linux) and fails to mount partition and boots into android with no other problem.
What am I missing?
ColMustard said:
So I thought I'd give this a try. These are the steps I took to install this:
1. Formated 8gig SD card as ext4
2. Extracted rootfs to SD card.
3. Inserted SD in base
4. copy /system/vendor and /system/etc from your tf into /system on that partition ; copy /data/misc from your tf into /data on that partition
5. fastboot -i 0x0b05 flash staging xubuntu_tf300tg_kernel-0.1.0.blob
6. reboot
6. Kernel boots prompting option, select 1 (linux) and fails to mount partition and boots into android with no other problem.
What am I missing?
Click to expand...
Click to collapse
I have had some occurences of hitting return to fast at the prompt and init not detecting correctly the SD card. So maybe let it timeout into trying to boot linux.
If that does not work, you can choose "s" at the prompt, then from there check into /dev/ which disks / partitions are recognized. Provided that your linux partition is the first and only one on the SD card, you should have a /dev/sda and /dev/sda1. What do you see ?
Also remove any usb drive, which could appear as /dev/sda (and make the sd card appear as /dev/sdb).
Some RABIT write "In-device microSD really bad works." :crying:
I heave problems to boot from sd now i think extract xubuntu in /data/media/linux/rootfs.img
-- Update --
MicroSD - /dev/block/mmcblk1p1
schrdlu said:
I have had some occurences of hitting return to fast at the prompt and init not detecting correctly the SD card. So maybe let it timeout into trying to boot linux.
If that does not work, you can choose "s" at the prompt, then from there check into /dev/ which disks / partitions are recognized. Provided that your linux partition is the first and only one on the SD card, you should have a /dev/sda and /dev/sda1. What do you see ?
Also remove any usb drive, which could appear as /dev/sda (and make the sd card appear as /dev/sdb).
Click to expand...
Click to collapse
Well it looks like it's a no go for me. it could be that I used Minitool Partition Wizard to format because I could not get to my linux machine at the time.
I also tried flashing the kernel over 3 different ROM:
1. CROMI 3.4.4 - Keep failing with Encryption error after boot animation prompting me to reset the device.
2. Hydro 7 - Keep failing with Encryption error after boot animation prompting me to reset the device.
3. CM 10.1 - Failed to get pass boot animation.
I'll have to re-flash Asus stock ROM (10.4.2.20) in order to fully test this, I might have to reformat the sd on linux also.
ColMustard said:
Well it looks like it's a no go for me. it could be that I used Minitool Partition Wizard to format because I could not get to my linux machine at the time.
I also tried flashing the kernel over 3 different ROM:
1. CROMI 3.4.4 - Keep failing with Encryption error after boot animation prompting me to reset the device.
2. Hydro 7 - Keep failing with Encryption error after boot animation prompting me to reset the device.
3. CM 10.1 - Failed to get pass boot animation.
I'll have to re-flash Asus stock ROM (10.4.2.20) in order to fully test this, I might have to reformat the sd on linux also.
Click to expand...
Click to collapse
Me to. I can't boot to android at all
I still tray boot to xubuntu with this kernel and I make img on the internal card
Keshukas said:
Me to. I can't boot to android at all
I still tray boot to xubuntu with this kernel and I make img on the internal card
Click to expand...
Click to collapse
Yeah, I did notice that the kernel looks for the /data/media/linux/.img for a last effort. I was thinking on doing the same.

[30/11/2013]aMagldr Partition Wizard v1.20

MANIFEST:
Hi again dear magldr users. We have a superb multi os bootloader, magldr and its OS flashers, DAF and DWI since 2011. They are important tools for our Leos, as you already know. But espacially DAF has limitations about flashing size. For example; if you use tmous hd2 with 1024mb nand memory, you cant create 600 MB system partition. If you use eu (wwe) with 512mb nand memory, you cant access full of your nand memory and you can only use its 400mb.
So I tried to remove this limitations and I success. As I writed detailed before, I understood magldrs mtty partition structure and said "I will write an android flasher with this info" on that thread. The day came You can see this: http://androidforum.tytung.com/understanding-amagldr-s-partition-structure-via-mtty-t56.html
I used batch, vbs, mortscript scripts and created a tool which communicates with magldr via mtty bridge and can partition nand memory without any limitation.
Click to expand...
Click to collapse
FEATURES:
- You can use your full nand on eu (up to 444mb) and tmous (up to 956mb) with use last 24 mb feature(1mb reserved for misc partition)
- You can create system partitions on eu up to 420mb (for dataonext method) and tmous up to 850mb.
- It calculates data partition size automatically. So you only enter recovery, boot, system and cache size. Tool will show you remained free storage every step.
- You can skip partitions. For example, you can remove cache partition and can create only system,data,boot partitions. If you skip all partitions, it adds all size data partition. (WTF, What should I do rather)
- Its partition table like this; misc, recovery, boot, system, cache, data. And this tool doesnt erase your nand memory. So for example you can resize system partition without losing misc, recovery and boot partitions. (You should wipe system, cache and data partitions and restore them from backup)
- Finally this tool totally opened, you can open it with winrar and modify.
Click to expand...
Click to collapse
TEST STAGE:
I tested it for 18 hour with nearly 100 repartition process on my EU HD2. It didnt make badblocks etc...
Click to expand...
Click to collapse
HOW TO USE:
- Well. You should have "mtty-specific wince drivers" This is hardest stage of this. Please look this thread for it: http://forum.xda-developers.com/showpost.php?p=5456461&postcount=2
- I recommend to use aMagldr 1.13.07 above. Older versions will cause problems. Please look this thread for getting lastest aMagldr: http://androidforum.tytung.com/amagldr-v1-13-07-t183.html
- Run tool and select your Leo model from menu.
- Enter your sizes for each partitions and press Ok button. You can skip partitions with Cancel button.
- After these it will prompt for connecting phone to PC.
- Run aMagldr and select USB Mtty option.
- Connect phone to PC.
- Press Continue button ready and wait. Tool does all things automatically.
- If mtty app stops with error, please try again. It isnt caused by my tool and it wont hurt anything.
Click to expand...
Click to collapse
HOW TO INSTALL ANDROID OR RESTORE BACKUPS
aMagldr's mtty utility hasnt any command to write any type data on nand. So you should use a "SD Recovery" for flashing a nand recovery on nand partition, installing rom and wiping partitions. I recommend to use kokotas extwrp sd version to flash recovery and/or rom and wipe partitions. You can install sd and nand version of this recovery from: http://androidforum.tytung.com/extended-twrp-2-6-0-0-touch-recovery-for-the-hd2-leo-t42.html
-Copy sd recovery's initrd.gz and zimage files to your memory cards root directory.
-Run amagldr and select Boot AD SD option to run recovery
- If it gives "SD kernel open failed" error;
* You should move this 2 files on sdcard/twrp folder (if twrp folder not there, create it manually)
* Run amagldr and select SD directory from Services>Bootsettings>AD SD dir option firstly. (Select twrp from here)
* After that, select Boot AD SD from amagldr's main menu.
Click to expand...
Click to collapse
CHANGELOG:
v1.20
- improved general speed and stability
- added checking phone connection feature
- attempting to fix mtty startup problem
- added use last Partition Table feature
- fixed invalid commands actions
- changed color scheme
- codes cleaned
v1.11
- fixed remained size calculation
- fixed some strings
- fixed userdata flag
v1.10
- added use and dont use last 24mb option
- added changelog menu
- fixed some strings
v1.00
- Initial release
Click to expand...
Click to collapse
SCREENSHOTS:
http://n1311.hizliresim.com/1h/t/uvrl6.png
http://k1311.hizliresim.com/1h/p/urq7u.jpg
http://t1311.hizliresim.com/1h/p/urq87.jpg
Click to expand...
Click to collapse
WHAT WILL BE NEXT VERSIONS?:
Who knows?
Click to expand...
Click to collapse
DOWNLOAD LINK: http://androidforum.tytung.com/amagldr-partiton-wizard-v1-0-t185.html
symbuzzer said:
DOWNLOAD LINK: http://androidforum.tytung.com/amagldr-partiton-wizard-v1-0-t185.html
Click to expand...
Click to collapse
1 st. thanks super work.
2nd thanks
thanks. this is revolution.
thank you very much, super convenient !
Tool updated to v1.10. Changelog and download link on first post.
Tool updated to 1.11. Please look first post for changelog and download links.
Hi symbuzzer,
I just wanted to wake up my good old HD2 with a new ROM. But to install Slimrom I needed a larger Nand Partition. At the moment i have just 120 MB and that is too small.
I tried to use your wizard but I always get a problem with the mtty connection to my PC. The phone seems to freeze and nothing happens. After a while the tool shuts down without doing anything.
Do you have an idea of a solution? I would be very happy to reactivate that good old piece.
Thanks
Frank
frankhell said:
Hi symbuzzer,
I just wanted to wake up my good old HD2 with a new ROM. But to install Slimrom I needed a larger Nand Partition. At the moment i have just 120 MB and that is too small.
I tried to use your wizard but I always get a problem with the mtty connection to my PC. The phone seems to freeze and nothing happens. After a while the tool shuts down without doing anything.
Do you have an idea of a solution? I would be very happy to reactivate that good old piece.
Thanks
Frank
Click to expand...
Click to collapse
Hi, probably you didnt install correctly mtty specific wince drivers. Please look 1st post again for right drivers.
symbuzzer said:
Hi, probably you didnt install correctly mtty specific wince drivers. Please look 1st post again for right drivers.
Click to expand...
Click to collapse
Thanks for your help. I cant get it to work.
I took the good old HD2 Toolkit and it worked fine.
Tool updated to v1.20. Changelog and download link in first post. Probably this is final version.

[ROM][ICS] sediROM - current inside - stable - smooth - rooted or not-rooted

|
|
| sediROM - or why I created a new ROM based on good old (ancient) ICS
|
|
| Read the background and the whole story and all the discussions about sediROM here:
| http://forum.xda-developers.com/showthread.php?t=2789119
|
|____________________________________________________________________________________________
Some first words:
A lot has changed since I forked LiteROM v0.9 in May 2014 and therefore started sediROM. sediROM has grown up in the meanwhile to a standalone ROM with some mods coming from LiteROM but in comparison to the current state of sediROM they are not many anymore.
LiteROM was a very good starting point for me to dive into ROM development and doing my first steps here so many thanks going to thegreatergood, of course.
As a result of that learning process I will change the base of sediROM in one of the next major releases (see Roadmap) to remove the rest of LiteROM stuff which I do not need/use anymore.
Summary:
Debloated, Partially De-odexed, Zip-aligned, SuperSU, Busybox, Init.d Support, Tons of Memory and Build.prop Tweaks, Sysctl Tweaks, 14 toggles Mod, Power Menu, Tethering fix and more...
Aroma Install
Customizable Apps, Tweaks, Mods
BLN Support
Selectable Kernel, Modem, Bootanimation
No Samsung backdoor inside!
Full Feature List:
Explanation: Default values in "Easy Installation" mode are marked in the following lists in RED
Installer:
sediROM flashing will be done by AROMA installer which gives you 2 selectable modes when starting:
Easy Installation:
This will do all the hard stuff for you and installs besides the ROM itself well tested preselected apps & enhancements.
You need to choose this mode when you install sediROM the first time or want to install an upgraded version of sediROM.
Default values in "Easy Installation" mode are marked in the following lists in RED
.
Modify Installation:
This mode needs an existing sediROM installation first. So you can choose the Easy Installation mode first and after that has finished simply choose this mode to modify things like the Kernel, Modem whatever. This mode can be choosen whenever you want - e.g. you can test a Kernel X and after a while you want to test another one - no problem - simply restart the Installer and choose the Modify Installation mode!
Available Kernels:
sediKERNEL v1.0 (Kernel 3.1.10) (see changelog for details)
CM11 based (Kernel 3.1.10)
JB 4.2 LiteKernel release-20130222 (see changelog for details)
JB 4.2 LiteKernel release-20130221 (see changelog for details)
LiteKernel v1.2.2 GPU not OverClocked and with UnderVoltage
LiteKernel v1.2.2 GPU OverClocked and with UnderVoltage
LiteKernel v1.2.2 Original LiteRom v0.9 Kernel.Tweaked - LiteKernel v1.2.2 overclocked with UnderVoltage
LiteKernel_l2hsicpatched-bubor-r20150506 with L2_HSIC patch based on code of 2014-04
Stock ICS Kernel UCLJ3 (Kernel 3.1.10)
Enhanced UCLJ3 stock Kernel
enhancements:
- init.d support (this enables sediROM bluetooth fix for this kernel)
- added custom boot animation support
Stock ICS Kernel UCLH2 (Kernel 3.1.10)
Available Modems:
UCLJ3
UCKL1
UCLH2
UCKI3
RUXKJ5
Some meaningful Apps & Tools:
ATOM launcher
Several other launchers available in "modify" mode (Apex, Nova, ADW, Stock)
Ghostery, Quickpic, ES File Explorer, AndroidTerm, Vodoo Sound Control
Camera apps: Open Camera, HD Camera Ultra, Stock, ICS, JB)
Kii Keyboard, Samsung Keyboard (default enabled), Go Keyboard, Stock Keyboard
"Under the hood" - Integrated Features:
The possibility to execute shutdown scripts (and for boot-up but every Kernel in sediROM supports that out-of-the-box)
The possibility to choose a non-rooted mode! If you're running Apps which detects root (and hiding is not possible) or if you want to be most secure than this mode is for you. Enterprise users may want this to be complain with their security policy e.g.
(Major) Bugfixes (related to ICS and/or LiteRom):
That was driving me nuts and costs WEEKS to fix -> BT fix (better a fully working workaround) for loosing paired devices after a reboot!!!
Lags/waits when pressing the power button to switch the display on
Within Aroma installer: Many many fixes and enhancements when modifiying or/and installing the ROM to get the most out of it
There are many other fixes which can be found in the full changelog
Device encryption was not working in LiteROM. That was fixed in sediROM since v1.1.
Known issues:
Check the open bug reports for a complete list: Click
HOW-TO flash & Download:
Disclaimer:
sediROM is not fully finished nor bugfree (yet).
[*]But is has less bugs and more features then it's fork "LiteROM" and fixes bugs within stock ICS as well.
[*]I use it continuesly since 1th of May 2014 and sporadically developing / enhancing sediROM since then.
Installing sediROM may result in several explosions in your garden (or in that of your neighbour) .. you have been warned!
DO NEVER USE OPTIONS WHICH ARE MARKED AS "TESTING" IN THE INSTALLER!
I'M NOT RESPONSIBLE IF YOU BRICK YOUR PHONE (nor the things that happens to your house and/or car!)
Requirements:
Do a nandroid backup and ensure you have an EFS backup, too !! EFS: (http://forum.xda-developers.com/showthread.php?t=2019540)
COPY THAT BACKUP TO AN EXTERNAL DEVICE TOO !!!! --> SAVED MY DAY TODAY BECAUSE OF MD5 MISMATCHES THAT CAN HAPPEN.. (I cannot recommend that "fixes" cursing around to simply workaround MD5 sum checking! If the md5sum mismatch you should NOT restore IMO. That may simply not work or can result in bad behaviour etc minutes later or some days later)
Check your backup! (e.g. md5sum -c nandroid.md5) in BOTH places (on the Glide AND on your external ressource)
Install TWRP(!) or migrate to it! DO NOT USE CWM - flashing may fail with CWM (and is besides that not recommended).
DL- Link CWM: CWM v6 (click) (several users reported CWM will not work! use TWRP!)
DL- Link TWRP: twrp v2.7.1 (click)
You should have a windows box running Odin + TWRP near - just for the case.
Flashing Guide:
I'M NOT RESPONSIBLE IF YOU BRICK YOUR PHONE (nor the things that happens to your house and/or car!)
Copy BOTH the sediROM zip AND the sediROM md5 file to your Glide!!
Boot into Recovery mode (Poweroff the device then Power on while holding Volume Down)
Ensure that you use TWRP and that the MD5 sum file is in the same directory as the sediROM zip! Only then TWRP will automatically check the MD5 !
Flash the latest sediROM zip file
Choose "Easy Installation" mode
Answer the few questions and wait until the flashing finishes
When finished - reboot and wait until it has fully started up
The Android setup wizard should come up (if not -> flash again
Go through the wizard and reboot once again afterwards
Enjoy
Please read the FAQ (click)!
Please file a bug if you encounter problems: File a bug (click here)
Download:See above in the Download Menu (click here to open it)http://forum.xda-developers.com/devdb/project/?id=4942#downloadshttp://forum.xda-developers.com/devdb/project/?id=4942#downloads
Mirror:
Use this ONLY when the above xda DL does not work!! Mirror Downloads may be outdated or not available all the time! Mirror-Link <-- DOWN. Write me a PM if the xda download does not work and I will upload it for you
Take also a look on:
Changelog
FAQ
Roadmap
Trouble
File a bug
Request a feature
Best regards
xdajog
Special THANKS (please give them a Thanks-Click ! That costs you nothing but 2 seconds (for each)!!)
thegreatergood for LiteROM v0.9 and LiteKernel builds --> Give a "Thanks" here
bartito for Shutdown-Script option (and therefore the possibility to fix the BT issues!!) --> Give a "Thanks" here
PS: Happy for every single click on my "thanks" button (you are free to do that on the changelog, roadmap and faq post again... )
And as an absolutely premiere I want to say thank you to maddbomber83 for the donation.
You're the first one (until now the only one ) who say thx this way. Highly appreciated and motivating.
Sources:
sediROM --> https://github.com/xdajog/android_i927_sediROM
sediKERNEL --> https://github.com/xdajog/kernel_samsung_i927
.
XDA:DevDB Information
sediROM, ROM for the Samsung Captivate Glide
Contributors
xdajog, bubor (for all his work! highly appreciated!), maddbomber83, organic2 (for heavy testing!)
Source Code: https://github.com/xdajog/android_i927_sediROM
ROM OS Version: 4.0.x Ice Cream Sandwich
ROM Kernel: Linux 3.1.x
ROM Firmware Required: sediTWRP or TWRP >= v2.7
Based On: STOCK, LiteROM
Version Information
Status: Stable
Current Stable Version: v2.1 (2.1.2)
Stable Release Date: 2016-01-04
Current Beta Version: ---
Created 2014-07-11
Last Updated 2016-07-26
FAQ
Frequently Asked Questions (FAQ)
Why another ROM and why build on ICS?
Please read the full story here: http://forum.xda-developers.com/showthread.php?t=2789119
[*]Do you need to network unlock the Glide?
Follow the excellent guide here: >Click here<
And also take a look on my additions to it here: >Click here<
[*]When version [FILL-IN-WHATEVER-YOU-LIKE] will be released?
Please keep in mind that this project is not a full time job so questions about a release date is something I will / can not reply to.
This is not because I don't like you but it is because I cannot promise anything. RL is my priority and this can not be controlled (fully) as you may know
[*]Is device encryption supported?
Yes, device encryption is supported since sediROM v1.1
You may want to check out a working TWRP version to be able to still do nandroid backups here sediTWRP with decrpytion support (click)
Hint: Device Encryption is fully supported when choosing the easy installation mode while installing.
That means if you choose the modify mode afterwards be careful what to choose within the TWEAK section (kernel optimization/swap internal to external sdcard/...). Those are not all tested yet so do a backup before choosing them. ALSO for /sdcard! because that gets encypted to.
If you choose the easy installation method and change only apps/kernel/modem etc you will be safe though.
[*]Can I upgrade from a previous version of sediROM?
basic* --> will be explained some lines later (pls look for: "What does "tested (basic)" means?" in this FAQ)
v2.0 ----> v2.1
Yes: tested (basic + full)
basic --> pls look for: "What does "tested (basic)" means?" in this FAQ
full -----> tested on my production device, too
v1.7 ----> v2.0
Yes: tested (basic + full)
basic --> pls look for: "What does "tested (basic)" means?" in this FAQ
full -----> tested on my production device, too
v1.6 ----> v1.7
Yes: tested (basic --> pls look for: "What does "tested (basic)" means?" in this FAQ)
v1.5 ----> v1.6
Yes: tested (basic --> pls look for: "What does "tested (basic)" means?" in this FAQ)
v1.1 ----> v1.6 (this is the last upgrade test for v1.1. I will not test upgrading to higher releases from v1.1!)
Yes: tested (basic --> pls look for: "What does "tested (basic)" means?" in this FAQ)
v1.1 ----> v1.5
Yes: tested (basic --> pls look for: "What does "tested (basic)" means?" in this FAQ)
The same pre-requirements necessary as in v1.0 ---> v1.1 !
v1.0 ----> v1.1 (this is the last upgrade test for v1.0. I will not test upgrading to higher releases from v1.0!)
Yes: tested (basic --> pls look for: "What does "tested (basic)" means?" in this FAQ).
Manual pre-requirements necessary! To upgrade from v1.0 to v1.1 you need to wipe /system partition manually before you start the upgrade because there is a bug in v1.1 and v1.5 preventing from doing the partial wipe which normally will do that for you.
These are the steps:
Within TWRP choose the wipe menu and then "advanced". Afterwards select only "system" !
Go on and afterwards start the sediROM installer again and choose "partial wipe". Because you have wiped /system manually the installation should run fine afterwards.
This way you will NOT wipe any configs or apps or something as long as you leave /sdcard and /data untouched in step 1.
That workaround should work even when you already tried the partial wipe in "Easy Installation" mode.
If you use L2SD here a special note: from @maddbomber83:
maddbomber83 said:
Just as a note; upgrading an install that has a lot of symlinks (such as L2SD) does not appear to be working properly. If your install includes any of these then as the Developer has stated, MAKE SURE TO DO A NANDROID BACKUP!
On mine at least, the phone had a lot of FC errors focused around the PHONE APK. If you did do a data wipe and can get back into your phone but are missing your linked apps then:
Q. I upgraded/changed my ROM and I can not see my linked apps, their files are on the 2nd partition but the system can not see the apps. How can I make them available, do I need to reinstall and relink them again?
No, if you didn't wipe data when updating ROM the only thing you need to do is to run "Recreate mount scripts" from "menu -> more" within Link2SD and do a normal (not quick) reboot.
If you wiped data, after executing "Recreate mount scripts" and rebooting, run "Relink all application files" from "menu -> more" and then reboot. All of your linked apps should be available again after reboot.
If you also wiped dalvik-cache, in addition to the above step run "Link dalvik-cache files".
Click to expand...
Click to collapse
What does "tested (basic)" means?
When I test upgrades I do that very basic. As the system is still the same (ICS 4.0.4) and normally no android related things changed I strongly believe that doing upgrades shouldn't harm anything. Even all the apps should work as long as you don't played around with system apps (In Titanium Backup and other tools you can make an app a system app which means it will also be copied to the /system area which will be overwritten due to the upgrade. If you have converted a user app to a system app it will be lost then). Normally you wouldn't do such a conversion but as it is possible I need to add that hint here..
When I state an upgrade path as "tested (basic)" it means that it SHOULD work but as always no guarantee
My Test setup is always as follows:
a custom wallpaper (Home + Lock Screen)
added some icons to the launcher
set a lock screen password
system settings for screen timeout and screen off
WiFi settings for my WLAN
Installed Titanium Backup app
acquiring root permission (ES File Explorer and after "adb shell")
Upgrade guide:
do a nandroid backup! <-- sigh this is VERY important do not skip that step!!
copy that backup to your pc just to be sure!
choose to install sediROM
choose easy installation
then (the upgrade magic): choose "partial wipe" !
complete the rest of the installation and you're done.
[*]Screen wakeup delay?
I have a screen wakeup delay when using sediROM! AND I use sediROM < v2.0 (e.g. v1.7).
The problem here is the default used kernel in sediROM before v2.0.
All smaller versions uses "Litekernel" as the default kernel which is the root cause for this problem.
Before v1.7 there is no really option for fixing this other than installing another kernel manually.
In v1.7 you are able to switch to the CM11 kernel in the modify mode within the sediROM installer but the shipped version has issues with MTP (connecting storage to PC).
So that is also not a workaround for everyone unfortunately but if you do not use MTP (USB mass storage works btw) this may an option for you.
Well so what is the solution?
Install sediROM v2.0 and use the latest sediKERNEL (default in easy installation mode) or the CM11 kernel (including the MTP fix) provided by bubor or the modified STOCK UCLJ3 kernel by xdajog (me).
All of them have no screen wakeup delay issues and working fine.
All are available in v2.0 and you can switch between them in the modify mode as always (sediKERNEL is default since v2.0)
[*]What is that "Bluetooth HSP fix"?
Bluetooth HSP (HeadSet Profiles) is buggy in ICS 4.0.4. All paired devices gets lost after a reboot. In sediROM there is a fix for this implemented. To be honest that fix was the reason why I started sediROM..!
It is implemented in two steps:
a shutdown script which backups the bluetooth pairings and settings
an init.d script on boot which restores those pairings
The problem that pairings go to hell after a reboot is kind of special. The first thought was to simply backup the correct folders and restore them again when boot up. That alone won't work - the pairings will not shown up when enabling BT afterwards because they are deleted right when BT gets enabled. I tried to find out why but without success. Then I found a way by simply protecting the BT config file. That said when BT starts up it can not delete it anymore and stops trying that and that means the restored pairings will be read and shown.. A little bit crazy I know but it works very great (in my case).
Further Readings (they may related to this issue):
Kenneth Thorman's discoveries
Google Issue 34161
Some suggestions at stackoverflow (5885438)[/MENTION]
Another one from StackOverflow: 5102549
There are different caveats depending on which sediROM version you are using with the current implementation:
sediROM >= v1.7
Since v1.7 the BT fix is very stable and the caveats we have are absolutely minor:
Bluetooth will from now on always beeing OFF after a restart. That is wanted and nothing really bad and is a protection that things goes right.
After sediROM is up'n'running you can switch on BT and/or off again - only when rebooting BT will be always off again.
The system needs to be fully started in order to get BT working. As this is only a couple of seconds (about 10-20 sec) and starts while in boot process this has no impact for the user.
sediROM < v1.7
If you change the name in BT settings that will not be restored atm so it is sticked at "SGH-I927"
Under some circumstances the BT fix hasn't worked. check out the details at the bottom to find out the reason.
sediROM = v1.5 OR sediROM < v1.5
If you want to delete a pairing it was restored in sediROM <v1.5 when you reboot - to completely delete a pairing you need to:
in sediROM = v1.5:
You don't need to do anything. If you delete a pairing or add a pairing both will be saved and no need to do anything else then reboot.
In case you have problems you can delete /sdcard/.sediROM/btfix/00_btbackup.tar and/or check the logs in /sdcard/.sediROM/btfix/ . But that is normally not needed anymore.
in sediROM < v1.5:
delete "/data/local/tmp/00_btbackup.tar" and then reboot
Detailed background information
and the reason why before v1.7 it may haven't worked for everyone:
"rm" will delete the directory and I'm not able to find out which file will be deleted first and therefore I can't prevent the deletion of the pairings as I do before!
Background:
/system/bin/bluetoothd will remove the whole directory /data/misc/bluetoothd (well that is known and at the end the reason why the pairings gets lost in ICS)
I "fixed" that by making the config file immutable so Android is not able to delete the directory anymore which results in the fact that the pairings will stay!
Unfortunately it is not such easy as thought. On my second device I saw that my pairings still get lost..
Well ... As mentioned bluetoothd wants to remove and it uses "rm -r" for this. Exactly it will call "rm -r /data/misc/bluetoothd/".
.. and "rm" uses the C function "readdir()" when it parses the directory and readdir() will give you the result randomly (it depends on several not predectivable things).
There is no chance to know the exact order and even when it would be the case then mine would be different from yours!
... but that's not all. Some docs said that subdirs will be deleted first when using "rm -r" but in fact that is NOT true! If it would be true then the solution would be very easy.
The question stays why it happens on my productive phone and the previous fix still working fine on my DEV device. I believe that it is because I restored a previous made BT backup after I installed sediROM v1.6.
The command "tar" uses the same behaviour as readdir() so it is also randomly when it comes to restoring a backup. That would explain it maybe but I'm not totally sure.
You can test that readdir() behaviour very easily. If you execute a "find . -type f -print" you will see what readdir() see.. The result is obviously unsorted.
Execute it again and the result stays the same but that changes when files are deleted or other things happens to the filesystem!
In my case the problem occured after enabling encryption because that changes also things related to readdir() obviously.
Further readings:
- http://linux.die.net/man/3/readdir
- http://utcc.utoronto.ca/~cks/space/b...x/ReaddirOrder
- http://stackoverflow.com/questions/8...antee-an-order
The way of finding a solution:
- I tried to find out the root cause again (means bluez Java code).
- I tried to port the latest v4 of the bluez stack which contains a lot of fixes.
- I tried to re-compile bluetoothd in order to remove the whole folder deletion.
- I tried to save/restore the settings.db sqlite3 database (alone and together with the BT files)
- I tried some other stupid things.
The solution:
At the end I found a working solution (again). Instead of protecting a single file only which readdir() accesses randomly I switched over to protect the whole directory.
This way the order within the directory doesn't matter anymore
That alone wasn't enough. I needed to completely restructure the way of handling that fix.
That means:
- the bluetooth main.conf was changed to set InitiallyPowered=false !
- I stop all bluetooth related processes when booting
- I restore the previous BT settings and pairings
- I make the BT dir(!) immutable
- Then I give rfkill0/state the info (add a "1") that bluetooth is able to start
- Then I start all BT processes in correct order
- Then I remove the immutable bit from the BT dir
(Minimal) Caveats:
- Bluetooth will from now on always beeing OFF after a restart. That is wanted and nothing really bad and is a protection that things goes right.
After sediROM is up'n'running you can switch on BT and/or off again - only when rebooting BT will be always off again.
- The system needs to be fully started in order to get BT working. As this is only a couple of seconds (about 10-20 sec) and starts while in boot process this has no impact for the user.
[*]What is that "adb" thing??
adb stands for: Android Debug Bridge and can help a lot when it comes to work with your device. It is not for developers only but they use it a lot of course.
But a normal user can use this to exchange files without the need of mounting, backing up the device, reboot the device and use it as a very comfortable way of having a terminal emulator.
Normally adb itself is not available as a standalone application - it comes with the Android SDK which is very big and heavy if you want to use adb and/or fastboot (another great tool) only.
But we live in a great world with many people wanting to make things easy so here you go when you want/need only adb and fastboot:
download & install adb at lifehacker
(Direct link for Windows users: Got to easy ADB install thread)
[*]What is a "nandroid" backup?
nandroid means essentially: "a full image of all your partitions" so it is a full snapshot of your ROM including all your apps and contents.
The name NANDroid is a portmanteau of "NAND" (as in Flash memory - NAND flash) and "Android." (Source)
[*]How to create a "nandroid" backup?
(See above for the meaning of "nandroid backup")
You have several options on how to do that.
The normal and absolutely recommended way is to do that "offline" (from within recovery mode) but you can also do it "online" (while Android is running).
.
Offline nandroid backup by using TWRP recovery: Guide
If you have no custom recovery installed read on.
.
Online nandroid backup:
by using an app:
There is 1 (known to me) "online" nandroid backup tool available which will backup from within your running Android: PlayStore.
I tested it and still using it since a while and I really like it but I would not fully resist on it.
I had no problems backing up but sometimes an app is lost when restoring. This may have been fixed but well it is like imaging a running Windows or Linux system:
Do not do it online if you can - it may/will work but there could be problems/inconsistencies later!!
If you never made a nandroid before doing it online will not harm anything and should be your first start. So install the Online Nandroid backup tool and begin.
Check out this guide for some hints: Guide
(If you like the Android app do not hesitate to buy the unlock key to support the developer!)
by using commandline tools:
First of all you need "adb" installed (check out the FAQ #8 above).
Then you need someone who is telling you the device partition table and you need a big sized SD card to hold the images.
The reason is that you will use a special command named "dd" which images the whole partition (not the content only!).
dd is a VERY dangerous tool because if you use it wrong your device may get bricked so it is essential that you are using the
correct command and check that twice!
Check out the next FAQ on how to do this for the i927.
[*]How to create a "nandroid" backup for the i927/cappy - WITHOUT having a custom recovery?
The whole process will take a big amount of time but it is worth to follow each step including the md5sum checks at the end.
Please read the previous FAQ first because there you will find more information about background and other options you may have.
Ensure you have a SD card inserted which is big enough and having enough free space available (4GB at least! I recommend at least 8 GB but this depends on the size of your current data partition. A completely stock ROM with nothing installed and unused will need 3 GB space).
.
Install "adb" on your pc (check out the FAQ #8 above).
root your device (check out FAQ #12)
connect with adb to your (running) i927:
adb shell
(you should see a prompt)
su
(you need to grant permission if you haven't yet)
Then backup your current ROM and data:
dd if=/dev/block/mmcblk0p2 of=/storage/external_SD/system.2015-07-20.img
dd if=/dev/block/mmcblk0p9 of=/storage/external_SD/boot.2015-07-20.img
dd if=/dev/block/mmcblk0p6 of=/storage/external_SD/userdata.2015-07-20.img
dd if=/dev/block/mmcblk0p8 of=/storage/external_SD/recovery.2015-07-20.img
# If you never backed up your EFS you really should do that once:
dd if=/dev/block/mmcblk0p1 of=/storage/external_SD/efs.img
Click to expand...
Click to collapse
Just to be sure you can do an online backup now, too ( Guide ) Online Nandroid backup App
.
copy the backup(s) to your device (connect USB cable - open your external storage and drag&drop) <--- DO NOT SKIP THIS STEP!!!! It is absolutely essential!
Check your copy on your device:
md5sum /storage/external_SD/system.2015-07-20.img
md5sum /storage/external_SD/boot.2015-07-20.img
md5sum /storage/external_SD/userdata.2015-07-20.img
md5sum /storage/external_SD/recovery.2015-07-20.img
md5sum /storage/external_SD/modemst1.img
md5sum /storage/external_SD/modemst2.img
Click to expand...
Click to collapse
Download a md5sum checker like this one Windows MD5 and load each file you copied to it (on Linux the "md5sum" command can be used of course).
compare the md5sums from the above output and ensure that they are all matching.
[*]How to root the i927/cappy?
There are several guides on this here are 2:
- First or
- Second
[*]"efs" backup and/or restore?
There are several guides on this but here is mine.
Backup efs:
1) open a terminal
2) type in su --> now you may need to give root permissions
3) type in tar zcvf /sdcard/efs-backup.tar.gz /efs
4) type in dd if=/dev/block/mmcblk0p1 of=/sdcard/efs-dd.img
5) connect your device to a PC and copy both the efs-backup.tar.gz and efs-dd.img to your PC
6) now you have a full backup of your efs and therefore your phone unlock state
Step 2 is essential you need root for this in order to work.
Normally you can see a change from a dollar $ sign to a hash # one after root has been achieved like this:
xxxxxx:/ $ > su (answering the request for root permissions with yes)
xxxxxx:/ # >
Restore previously saved efs:
1) open a terminal
2) type in su --> now you may need to give root permissions
3) connect your device to a PC and copy your dd-image backup "efs-dd.img" to /sdcard of your device
optional: do the same for the tar archive "efs-backup.tar.gz". This is just needed for the case the dd image is corrupt.
4) type in the terminal dd if=/sdcard/efs-dd.img of=/dev/block/mmcblk0p1
optional: if that step fails ensure you have mounted /efs (ls -la /efs should show you several files) and execute (press Enter after each line):
su
cd /
tar xvzf /sdcard/efs-backup.tar.gz
5) reboot your device
6) now your efs is fully restored and therefore your phone unlock state, too
Step 2 is essential you need root for this in order to work.
Normally you can see a change from a dollar $ sign to a hash # one after root has been achieved like this:
xxxxxx:/ $ > su (answering the request for root permissions with yes)
xxxxxx:/ # >
.
Changelog
Changelog of sediROM
v2.1.0 - v2.1.2 (Release date: 2016-01-04)
--------------------------------------------------
Bugfix Release
Github detailed changelog (compared with the previous version):
https://github.com/xdajog/android_i927_sediROM/compare/v2.0...v2.1
Github tag for this version:
https://github.com/xdajog/android_i927_sediROM/tree/v2.1
Enhancements
introducing sediROM testsuite: /system/xbin/sediROM_testsuite.sh
execute it like this to test if your sediROM version is fully working:
adb push sediROM_testsuite.sh /sdcard/ && adb shell "su -c sh /sdcard/sediROM_testsuite.sh"
Fixes
issue #25 (https://github.com/xdajog/android_i927_sediROM/issues/25)
YES ALL THE FOLLOWING IS > 1 < SINGLE RELEASE
v2.0.68 -v2.0.1 (Release date: 2015-12-29)
--------------------------------------------------
Major Release
Github detailed changelog (compared with the previous version):
https://github.com/xdajog/android_i927_sediROM/compare/v1.7...v2.0
Github tag for this version:
https://github.com/xdajog/android_i927_sediROM/tree/v2.0
Enhancements
first sediROM app (sediROM_boot.apk) inside.. the app itself is extremely simple: a text and a button thats all. When
sediROM boots the first time a new added init script will detect if this is the first boot and if this is the case it will open
the sediROM_boot app. Read & follow carefully the hints there!
you to reboot. May be annoying but due to douzends of changes in v2.0 it is really necessary to point to a clean reboot.
All scripts related to run sediROM on github now !!!! Starting from v1.7.
Introduced the first version of sediKERNEL (v1.0) a customized kernel optimized for STOCK ICS so as for sediROM.
sediKERNEL is based on CM11 kernel made by bubor (so l2_hsic patched, no wakeup delays, OC etc) enhanced by:
- adding MTP support for STOCK ICS!
- less battery drain
default kernel = sediKERNEL v1.0
Upgraded AROMA from v2.56 to v2.70-RC2 (means compiling 2.70rc2 from the sources!)
Go DIRECTLY from the installer to the MODIFY mode!
That means when you choosen the easy installation mode and everything went fine you will get the
offer to open the modify mode instead of rebooting
No adb debugging from initial ram disk (security fix)
No adb debugging as default (security fix)
Integrated LiteKernel_l2hsicpatched-bubor-r20150506 with L2_HSIC patch included (hopefully fix battery drain)
The kernel is based on code of 2014-04 afaik also maded by bubor
Integrated enhanced UCLJ3 stock Kernel (option in modify mode)
enhancements:
- init.d support (this enables sediROM bluetooth fix for this kernel)
- added custom boot animation support
Migrated and integrated JB 4.2 LiteKernel release-20130221 to sediROM (option in modify mode) which comes with the following changelog:
(all changes between v1.2.2 to 20130221)
- Interactive set as default governor ... Wheatley lags on AOSP
- Added FM Radio Driver
- Fixed Mic for AOSP
- Fixed/Added 1.4ghz frequency
- Fixed/Added Smartassv2
- Removed USB Whitlists
- Recoded BLN myself so that there is no need for an app... has in kernel blinking ...
- Tons of Cleanup
- XZ Kernel Compression
- Removed Wake Lag
- Fixed and increased Charging Current
- Tweaked Ondemand for better performance
- New Storage Setup
Migrated and integrated JB 4.2 LiteKernel release-20130222 (option in modify mode) which comes with the following changelog.
HINT: MTP does not work with this kernel. I will not fix that! If you need MTP use release-20130221 or sediKERNEL!
(all changes between r20130221 to r20130222)
- Entropy Tweaks inspired by lambgx02s Seeder (for silky smoothness)
- Memory Managment Tweaks
- Added Dynamic vsync
- Zipaligning and Fix permissions at boot (zeppelinrox script)
- Tons of Kernel Tweaks for Battery life and Performance...
- IO tweaks...
- Auto EFS Backup...
- New Experimental WIFI Management battery saving feature: If at screen off, WIFI is inactive and or using very little traffic, it gets turned off
and then on again once you wake device, if battery level is below 50% it will no longer turn wifi on again, if you disable WIFI it will be left alone...
- Decreased Vibration Intensity (when you boot up device you will feel a slight vibration)...
- New Experimental CPU Management feature: Frequency get changed according to battery level....
- No more laggy lock screen drawing ...
- Instant wake to lock screen
- Removed Increase Charging Current mod till more testing can be done
- Improvements for better battery life
- Stability
- Option to Disable WIFI and CPU Control
- Clear Memory after boot
- Massive Improvements to: Performance, Battery Life
- Fixed Battery leak with CPU + WIFI manager
- Memory Management Improvements
- SD card Speed Tweaks
- Reduced Wake Lag
- Reduced Stuttering when playing music on screen off
- CPU-Manager is now enabled by default ... it boosts wake speed manages sleep speed and reduces max speed as your battery diminishes ... the profiles are fully modifiable and all with no battery drain ...
- MTP is now the default pc connection ... if you want mass storage change /data/LiteKernel/MTP to "0"
- Memory management improved .... should also help for battery life
- frequency with Interactive governor will now stay a little lower ... should help with screen on battery life ....
crond (provided by busybox) activated to automatize things like in Linux
init script 00sediROM will prepare the settings, paths etc for crond to start
and init script 99sediROM will start the crond
Open Camera will be the only camera app installed by default. HD Ultra camera stays an option in modify mode.
added this changelog to AROMA installer screen
added modify option after easy install in README of the installer zip
updated sqlite3 binary to v3.8.7.4 (THANKS to user tech128 details: http://forum.xda-developers.com/showpost.php?p=52174054)
Removed all my own copyright hints and licensed all sediROM scripts under CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0) license! Freedom for everyone ;o)
New script header including new version concept of all sediROM scripts
Updated SuperSU app and binaries to v2.46
Installation of SuperSU is now completely based on the original installer to avoid any problems while installing
Added a new minimalistic terminal app AndroidTerm (https://play.google.com/store/apps/details?id=jackpal.androidterm) which replaces connectbot as default installed terminal app.
Connectbot will not being installed by default anymore but you can still install it in modify mode.
Connectbot has many advantages but 1) updating within a ROM is harder then with AndroidTerm and 2) I want to keep it minimal so no ssh, telnet. only a local console.
BACKUP Connectbot before upgrading when you still want to use it.
If you want to continue using CB you can upgrade and at the end of the installer select "Start sediROM modify mode"
and install Connectbot directly after installation (Screen "Main Features" - Section "Tools"). Nevertheless you still need to restore your settings as they are lost.
Added Ghostery (v1.2.1) - a very tiny (around 2 MB installer files), fast, stable and anonymous browser (https://www.ghostery.com/en/how-it-works). Will be installed by default!
Removed Google Chrome to save disk space (the installer files are 64 MB!)
Chrome is VERY slow on our phone in comparison to other browsers (try to open several tabs & browsing) and last but not least updating it within sediROM is harder then with other browsers.
BACKUP Google Chrome before upgrading when you do not want to loose settings.
Started to use a common function file for the init scripts in sediROM (/system/etc/sediROM/init.func)
Several new boot logs are written to /cache/*.debug which makes debugging easier (commit b053e738 and commit e3fe9332).
After sediROM is booted fully up everything will be moved to: /preload/.sediROM/boot/.
Added commandline aliases/shortcuts for remounting any mountpoint as read-write (remountrw) or read-only (remountro) - handled by commit 41fcc3c6.
Added automatic /efs backup !!!
- The backup is a full image dump made by dd
- backup will be saved to /sdcard/efs_[current-date].dd
("[current-date]" will be replaced by the current date+ unix timestamp)
- if somehow no timestamp could be generated the sediROM version number will be used instead
- if the backup fails we will CONTINUE! That means the installer will not abort to ensure that you will not end with an unused device
That also means that you should not rely on that efs backup it is a help for those not familar with the CLI only.
Added a "getdate.sh" script in aroma installer to filter tzdata errors
Added a sediROM bootanimation (NSA) and made it default
Removed facebook installer files from sediROM zip (was unused since the beginning) which frees some space of the ZIP
Fixes
on first boot bluetooth will be enabled once. This is needed to ensure that /data/misc/bluetoothd/MAC-ADRESS will be created.
That directory is device specific and will be created by Android when not existent. As the bluetooth fix from this version on
depending on a indicator file within this directory it is necessary to enforce its creation by enabling bluetooth once.
This is done within the init script 00sediROM_1stbootDT.
(!) whenever a soft reboot or system force close has happened bluetooth has stopped working. The only workaround was to
reboot the device. A fix was added which checks every minute if the bluetooth indicator file is there and if not the init
script for fixing bluetooth will be restarted. This way in worst case scenario of a soft reboot crash after 1 minute latest
Bluetooth becomes usable again (so no reboot anymore needed).
Changes:
- /etc/cron.d/root
Added:
- /system/xbin/sedi_btFCdetect.sh
fixing some problems with encrypted storage detection
due to a timing issue some early logfiles of sediROM were not got written to /sdcard. The fix was to use /preload instead:
When sediROM boots the init script 00sediROM_first will try to mount /preload.
If mounting /preload was successful it will be used for all logs and existing data will be moved to /preload.
It would be nive to have a symbolic link here but this is not possible across different filesystem types. So there will be
an indicator created in /sdcard/.sediROM with the hint to goto the /preload for logs instead.
All scripts within sediROM were modified to check for the existence of this indicator file and dependending on that they use
/preload or /sdcard for their logging data.
(!) when a soft reboot occured the bluetoothd directory gets trashed, too. If you then rebooted the empty bluetooth settings gets
backed up and therefore you boot with emtpy BT settings. This was fixed by using an indicator file (btfix.indicator) which
will be added after booting the first time. When a system shutdown is initiated sediROM will check for this file and as a
soft reboot would also delete that indicator file it will detect this and backup when this indicator file is still there.
In other words: when a soft reboot has occured you can safely reboot now and your settings will be there on the next reboot and
not lost.
cosmetics within updater-script output and AROMA
(!) Extreme battery drain caused by Google Play Framework Service.
This fix is a big one and splitted into 3 parts:
1) When system booting up /system/xbin/sedi_fix-gplay-drain will be triggered by /system/etc/init.d/00sediROM_first
2) /system/etc/init.d/00sediROM_first will also enable the cron daemon crond (coming with busybox) so we can automatize things
"enable" crond means several things need to be setup first:
a) creating a /etc/passwd
b) creating /etc/cron.d/
c) starting crond as a process
3) With the now introduced crond we can run the script /system/xbin/sedi_fix-gplay-drain every 8 minutes.
This is to ensure that even when Google updates (this will be done SILENTLY! by Google) it's app(s) it will be fixed again on the next cron run.
/system/etc/cron.d/root contain's the magic line for that.
For details checkout the original thread here:
http://muzso.hu/2014/09/18/how-to-f...yanogenmod-11-with-google-play-services-and-o
http://forum.xda-developers.com/showpost.php?p=53881089
http://www.imoseyon.com/2011/02/cron-on-android-is-awesome.html
init.d scripts cleanup. 00sediROM_tweaks in the installer package under /system was never used because always replaced by the BTfix one.
I moved the both scripts 00sediROM_first and 00sediROM_last to /system/etc/init.d/ instead of havin them within BTfix.
All this is firstly cosmetic only but becomes more and more important to have things clear for coding.
Removed the option to install Cranium & IcePop Bluetooth (was for testing purposes only)
compat linkage when coming back from JB now respecting it's existence. That means it will check first and do the links when needed only.
RNGD's init script was blocking for 30s the next boot scripts (changed to 3s intervalls)
changed order for the BT fix init script (from 99 to 92)
the 00 sediROM init script was not respecting encryption state which itself is not a problem but as the switch to /preload is happening in this
version this has result in problems. The fix was to check for encryption state and /data/misc before proceeding
fixing enhancing databases coming with init script 16sqlite:
- sqlite3 binary was not working (since literom days....!) and therefore replaced!
- when /data and/or /sdcard is encrypted no enhancements had taken place (now respecting encryption state and wait until decrypted)
installer: When FULL-wiping all init scripts were not executed because of missing /preload/.sediROM and /sdcard/.sediROM. Those directories are
created by the installer now or when they exist the following files gets deleted instead:
- /preload/.sediROM/.initialized
- /preload/.sediROM/dir-moved-2-preload.txt
- /sdcard/.sediROM/.initialized
- /sdcard/.sediROM/dir-moved-2-preload.txt
installer: When PARTLY-wiping all init scripts were not executed because of missing /preload/.sediROM and /sdcard/.sediROM. Those directories are
created by the installer now or when they exist the following files gets deleted instead:
- /preload/.sediROM/.initialized
- /preload/.sediROM/dir-moved-2-preload.txt
- /sdcard/.sediROM/.initialized
- /sdcard/.sediROM/dir-moved-2-preload.txt
BETA-related (fix affects BETA release only): litekernels in modify mode could not be installed (therefore may soft bricked the phone!)
RFKILL switch desc added inside 92sediROM_btfix, slightly modified the log output too
(!) Not everything was cleaned/removed when UN-ROOT was selected. The uninstallation/unrooting will remove all related parts now including dalvik cache etc.
daemon mode in install-recovery.sh makes no sense in sediROM as it is not SDK 18+ and no selinux forced therefore removed
When switching the kernel the modules within /system/lib/modules/ were not deleted (e.g. dhd.ko) which could had caused trouble in rare situations.
The installer now deletes all modules when switching to another kernel
BETA-related (fix affects BETA release only): new sediKERNEL version (v1.0 build 50). Change: wifi as kernel module instead builtin.
On encrypted devices the installer was not able to mount /data and /sdcard. Now it will:
- check for the existence of dm-0 and dm-1 which are the unlocked /data and /sdcard partitions
- when they can be found they will be mounted and used accordingly and correctly
- when they can NOT be found an abort is raised to avoid data loss - 3 hints are given to solve the situation
- you N--E--E--D sediTWRP - Clockworkmod cannot unlock encrypted devices and "normal" TWRP versions are not able to unlock STOCK ROM encryption!!
--> sediTWRP can be downloaded here: http://forum.xda-developers.com/showthread.php?t=3007035
installer: When upgrading / partial wiping the system partition will be deleted at the END now. This is to avoid data loss e.g. when you have an encrypted
device and not unlocked the partitions in sediTWRP (or when using CWM or other "normal" TWRP versions)
installer: When normal installing / full / recommended wiping the system partition will be deleted after successful mount of /data and /sdcard first.
This is to avoid data loss e.g. when you have an encrypted device and not unlocked the partitions in sediTWRP (or when using CWM or other "normal" TWRP versions)
installer cosmetics:
- Easy installation description changed
- "Recommended Wipe" renamed to "Clean install / Recommended Wipe"
- "Partial Wipe" renamed to "Upgrade mode / Partial wipe"
fixes an issue where Android goes into a boot loop in rare circumstances (issue #11). In rare cases several XMLs will be zeroed out by Android when not shutdown cleanly.
Those XML files still be there but they are empty! When Android boots up it tries to open those XMLs and as they are empty the whole boot process will hang!!!
I fixed this by:
- adding a new function which searches for all opened /data/system/.*xml files after a given period of time
- after this time period a file size check will be made: if the open xml is 0 it will be renamed
- when a renaming happened the parent process will be killed to ensure the boot process will not stop
moved the first boot detector to the near end of the boot process instead! That may fixes other issues as well regarding displaying the first boot app
better integration of the wait for system readiness while booting up (commit d0970abf6ec6c65af9999e2428b96fe293a55f17).
bluetooth file exchange was not working since a change in audio.conf
content in installer welcome screen
modify mode: when no kernel was selected the radio/modem force selection dialog appears
modify mode: removed several hard coded preselections
modify mode: modifying failed under some circumstances which resulted in aborting and may have left you with an unusable device
For older releases see attached file (View attachment CHANGES.log) !
Click to expand...
Click to collapse
Dev facts
sediROM v2.1 (Bugfix Release)
Development duration: about 8 hours
Finished on: 2016-01-04
Builds taken: 3
Changes: 2
sediROM v2.0 (Major Release)
Development duration: about 304 hours
Finished on: 2015-12-29
Builds taken: 69
Changes: 64
sediROM v1.7 (Important Bugfix Release)
Development duration: about 68 hours
Finished on: 2015-02-02
Builds taken: 7
Changes: 6
sediROM v1.6 (Important Bugfix Release)
Development duration: about 24 hours
Finished on: 2015-01-08
Builds taken: 22
Changes: 11
sediROM v1.5 (Big Maintenance Release)
Development duration: about 67 hours
Finished on: 2014-12-24
Builds taken: 24
Changes: 21
sediROM v1.1 (Bugfix Release)
Development duration: about 28 hours
Finished on: 2014-10-21
Builds taken: 15
Changes: 8
sediROM v1.0 (First Stable Release)
Development duration: about 640 hours!
Finished on: 2014-09-02
Builds taken: 58
Changes: more than 82
Click to expand...
Click to collapse
Trouble?
Trouble after flashing?
For EVERY request you have to upload the install log:
after every installation an automatic logfile will be saved to /sdcard/install_sediROM_vX.x.x.log where vX.x.x is the sediROM version number. Upload that log to pastebin and give me the URL.
Flashing failed? or Download mode always coming up?
Download rooted stock ICS http://forum.xda-developers.com/showpost.php?p=30421243&postcount=1
Go in download mode
Open Odin in Windows
Select Auto-Reboot and nothing else and add in the PDA section the above ROM (unzip first - you need the tar.md5 inside)
When it finishes your Glide should reboot (and Odin should say PASS). You do not need to wait if it is fully booting up and you can reboot once again in the download mode
Open Odin in Windows again
Flash TWRP (pretty nice gui, better handling, charging while active) or CWM (ugly gui, more robust, will NOT charge while active) over the PDA slot again (see flashing guide above for DL links)
(I use TWRP and several reflashings etc and it is working fine for me - but keep in mind that Nandroid backups are NOT compatible between those both recovery tools so choose the one you had before. I can highly recommend that you switch to TWRP when you currently using CWM because the handling and features are great (besides flashing probs of course)
For those who need more details and screenshots etc: http://unbrick.itcse.com/unbrick-soft-bricked-samsung-captivate-glide-sgh-i927/
"no recovery kernel" displayed when trying the recovery menu?
That is easy to solve when you know the correct partition name.. That is for the glide "LNX".
On Linux: Start heimdall or heimdall-frontend and simply flash a kernel back. For this you need a pit file which need to be catched first:
Download PIT:
Code:
$> heimdall download-pit --output mycurrent.pit
Flash the kernel with that catched PIT info: (Click to see an image of the heimdall frontend)
Flashing itself failed? Corrupted image message or /cache mount failures?
Flash with TWRP instead of CWM! See the OP for the DL Link (section Howto & Download)
loosing signal / bad signal ?
In my case I had sometimes problems with my baseband (loosing signal / bad signal) which was silly.
I found out that this was not ROM related because happens with several ROMs and total random.. Because of that randomness it was first hard to say if it is ROM/Modem based or not.
So if you come in such a situation and a modem change does not help I can recommend to open you Glide's back and check the SIM..
Sometimes (not often) it can be easy: In my case a little tape fixed my problems with that because the SIM is hanging very lax in it's case..
Maybe that little trick helps others, too
Roadmap
ROADMAP FOR sediROM
I never promise that a requested feature will be in a specific version or even added!
But you can add your ideas and wishes here if you like:
Open a Feature request (click here)
If you find a bug then it is your absolute responsibility to file a bug.
You can do it here: >CLICK HERE<
Version X.x
The Roadmap has been completely moved to github:
Github Milestones
upcoming features/enhancements need to fulfill at least one of those:
Fixing a (real) bug or serious problem
Performance optimization
Battery optimization
System optimization or stability
Even if your request met one ore more of those requirements I will decide on my own if it will be added or not.
If you don't like that you're free to create your own ROM
On the roadmap the base of sediROM was planned as UCLJ3 but to be honest according to the thread poll () I will look into the base question before starting v3 again.
The poll result is clear: It has to be stable - I don't care about the base
So I'm free to decide I will look into the issues CM9 has and compare them with UCLJ3 and then I will decide which will be the base at the end.
If someone is willing to help - let me know your results, analysis!
sediROM BETA download area / file exchange
http://tinyurl.com/pv7utvl
(password protected - PM me to get access)
Great!!! :laugh: Downloading tonight! :fingers-crossed::fingers-crossed::fingers-crossed:
It's great to have so many choices for people to choose from
I've added this to the guide of course ;D People would love using this ROM because you can be close stock and have the stability of a custom ROM!
Also I would like to remind people if you cant post bugs in the dev section,post what ROM your using and bug in my thread so we can figure it from there
Waiting for the link:thumbup:
Sent from my HTC6435LVW using XDA Premium 4 mobile app
I believe sediROM's installer is the main show stopper atm.
but as now it is good enough to state as alpha because it is working fine in my tests (tested preseleted config only) and therefore if someone wants to help me - even when it is still a risc - write me a PM.
... and I cannot say it often enough:
DO A NANDROID BACKUP
COPY THAT BACKUP TO AN EXTERNAL DEVICE TOO !!!! --> SAVED MY DAY TODAY BECAUSE OF MD5 MISMATCHES THAT CAN HAPPEN..
ENSURE THAT YOUR BACKUP IS FULLY OK (e.g. md5sum -c nandroid.md5) in BOTH places (on the Glide on on your external ressource)
You should have a windows box running Odin + CWM6) near - just for the case. TWRP is not such bulletproof then CWM in my case..
regards
xdajog
This is great! Thank you all for the continuing support for our Glide!
Sometimes ancient is better when it was made with at least some support from the manufacturer. I'm still running GB based OsiMood as I haven't found a better alternative (because of Samsung's non-existant support for our great devs).
Yeah today I shot a used Cappy. That will be much easier for development when not needing to use my productive device. Will be here in 2 weeks..
Sent from my SGH-I927 using XDA Free mobile app
THat Rom can install in Roger?
Sorry My English Not good
joedeng said:
THat Rom can install in Roger?
Click to expand...
Click to collapse
yes it will work on Rogers variant, too. But I cannot recommend to use sediROM when you do not have good enough english skills to understand what you need to do in case of trouble.. You need to know how you can rescue your system in case of error or problems.
I wrote a very basic troubleshooting guide in the original post of this thread.
If you still want to try write me a PM and I provide you the download link to the current testing version (v1.0.18) of sediROM.
regards
xdajog
xdajog said:
yes it will work on Rogers variant, too. But I cannot recommend to use sediROM when you do not have good enough english skills to understand what you need to do in case of trouble.. You need to know how you can rescue your system in case of error or problems.
I wrote a very basic troubleshooting guide in the original post of this thread.
If you still want to try write me a PM and I provide you the download link to the current testing version (v1.0.18) of sediROM.
regards
xdajog
Click to expand...
Click to collapse
I do not generally write good English but I can understand. That the rom of your development from LiteRom v0.9 rom right? On the status bar has percent battery and 14 toggle it? If the trial is still okay, right? just as there were some errors when spending alone is not
p/s Finally i will try it, you get me your link, i will test it ^^
joedeng said:
I do not generally write good English but I can understand.
Click to expand...
Click to collapse
ok just wanted to be sure that you know what you're doing
That the rom of your development from LiteRom v0.9 rom right?
Click to expand...
Click to collapse
Yes it is based on LiteROM v0.9 as stated in the OP. (Well atm I'm currently re-thinking this and testing a complete new build on stock ICS instead of LiteROM).
On the status bar has percent battery and 14 toggle it?
Click to expand...
Click to collapse
yes to both
p/s Finally i will try it, you get me your link, i will test it ^^
Click to expand...
Click to collapse
You have a PM
Hey i have already install your rom. It awsome, but you can add some more app. Example click Volume Up or Down wake phone. Get some launcher LG, Samsung, Sony...More theme. recent app, status bar add slide brightness......
Today i have test, it can not share file via bluetooth...Stock ROm can do it. But Your Rom can not share file via Bluetooth....
joedeng said:
Today i have test, it can not share file via bluetooth...Stock ROm can do it. But Your Rom can not share file via Bluetooth....
Click to expand...
Click to collapse
From your device to another one or
from another one to your one or
in both direction?
Call for enhancements for sediROM v2
My idea for the upcoming version v2 is:
Keep as close as possible to Stock, fix known issues, remove bloatware and enhance it by features coming from apps - and not by re-compiling sensitive things like framework etc. The only reason for touching system components would be if that would fix something but not to add features into it. An example is the Quick settings bar which is not workin as expected in LiteROM. There are apps out there (e.g. a well configured Widgetsoid bar or one of the others) who can do the same but they do not touch system files. the sames goes to Bluetooth which seems to not working (as joedeng reported) like expected but it do work in Stock.
One another very important thing to mention:
I do not want to be a full-feature-blown-containing-everything-what-is-available-ROM!
upcoming v2 features/enhancements need to fulfill at least one of those:
Fixing a (real) bug or serious problem
Performance optimization
Battery optimization
System optimization or stability
So I hope you got the idea
So as I'm currently developing both directions it would be possible to hear your thoughts about that way.
This is your chance to be part of sediROM v2
So: If you have features you want to have or if know about issues within ICS STOCK Rom let me know!
Send me your link v2 in my box...Whay u don't post link down in top? I think your rom it good...

[MOD][15-NOV-2016] MultiROM 33 + TWRP_3.0.2-6_MultiROM_Edition_2016-11-15 [TestBuild]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You use this tool at your own risk!!
I have tried to put as many safeguards as I can,
but I cannot be held accountable for any soft-bricks, hard-bricks, loss of data and/or information,
or anything else going wrong.​
Introduction
MultiROM is one-of-a-kind multi-boot mod for HTC 10. It can boot any Android ROM as well as other systems like Ubuntu Touch, Plasma Active, Bohdi Linux or WebOS port. Besides booting from device's internal memory, MultiROM can boot from USB drive connected to the device via OTG cable. The main part of MultiROM is a boot manager, which appears every time your device starts and lets you choose ROM to boot. You can see how it looks on the left image below and in gallery. ROMs are installed and managed via modified TWRP recovery. You can use standard ZIP files to install secondary Android ROMs, daily prebuilt image files to install Ubuntu Touch and MultiROM even has its own installer system, which can be used to ship other Linux-based systems.
Features:
* Multiboot any number of Android ROMs
* Restore nandroid backup as secondary ROM
* Use for example Ubuntu Touch or Desktop alongside with Android, without the need of device formatting
* Boot from USB drive attached via OTG cable
​
Warning!
It _is_ dangerous. This whole thing is basically one giant hack - none of these systems are made with multibooting in mind. It is messing with boot sector and data partition. It is no longer messing with data partition or boot sector (actually the no-kexec workaround is messing with your boot sector), but it is possible that something goes wrong and you will have to flash factory images again.
Make backups. Always.​
Now seriously: HTC 10 Warnings!
Beware of Dragons, Goblins, Gremlins and lingering primary_boot.img(RIP)
Due to lack of kexec-hardboot kernel support, I am messing with your boot partition!​
Since we lack kernels with kexec-hardboot patch, I'm using a workaround to bypass that restriction, and although tested successfully on the HTC One M7, M8, M9, and HTC 10, as well as several other devices I'm not involved with, things can still go wrong, since I'm directly flashing your boot partition.
I have yet to see any negative effect of that, and version 4 of the no-kexec workaround is much more robust, you should still be aware that I'm "temp-flashing" your real boot partition.
If you are in doubt, either ask, or avoid it completely; MultiROM has always been a huge hack to begin with, and this is even more of a hack.
Always have a backup ready. Possibly even RUU! ... I have not had to, I have also not encountered any loss whatsoever, but better be safe!
Current problems on the HTC 10
* OTG is untested and unsupported at the moment
* exFAT partitions are not supported currently
^^ those haven't worked for quite a while, so it's not really HTC 10 specific
Encrypted devices: Your secondary ROMs do not know your device is encrypted, do not (again: do not) try to encrypt your device while booted into a secondary ROM.​
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to @Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
​
Please bear in mind, that some ROMs (particularly Sense based ROMs), will take a long time to boot up, well above 10minutes, so patience!​
Installation
Not supported at this time: 1. Via MultiROM Manager app
This is the easiest way to install everything MultiROM needs. Install the app and select MultiROM and recovery on the Install/Update card. If the Status card says Kernel: doesn't have kexec-hardboot patch! in red letters, you have to install also patched kernel - either select one on the Install/Update card or get some 3rd-party kernel here on XDA. You are chosing kernel for your primary ROM, not any of your (future) secondary ROMs, so select the version accordingly.
Press "Install" on the Install/Update card to start the installation.
​
2. Manual installation
MultiROM has 3 parts (well, it should, but in this case it only has 2) you need to install:
Modified recovery (TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img) - download the IMG file from second post and use
TWRP itself to flash newer TWRP to recovery partition:
TWRP->Install-> select Images -> TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img -> to Recovery -> Reboot to Recovery
.
or
.
"fastboot flash recovery TWRP_3.x.x-x_multirom_pme_YYYYDDMM-pp.img"
(in download mode, for example)
Code:
C:ADBADB_10>adb reboot download
C:ADBADB_10>fastboot devices
FAxxxxxxxxxx fastboot
C:ADBADB_10>fastboot flash recovery TWRP_3.0.2-6_multirom_pme_20160917-02.img
target reported max download size of 800000000 bytes
sending 'recovery' (25700 KB)...
OKAY [ 2.001s]
writing 'recovery'...
(bootloader) HOSD CL#761759
(bootloader) [email protected]
(bootloader) [email protected]%
(bootloader) Update partition OK
(bootloader) [email protected]
OKAY [ 2.872s]
finished. total time: 4.878s
C:ADBADB_10>fastboot reboot-bootloader
rebooting into bootloader...
OKAY [ 0.004s]
finished. total time: 0.005s
MultiROM (multirom-YYYYMMDD-vXXd-UNOFFICIAL-pme.zip) - download the ZIP file from second post and flash it in the MultiROM Recovery.
.
.
Patched kernel - You can use either one of the stock ones in second post or third-party kernels which include the patch, you can see list in the second post. Download the ZIP file and flash it in recovery.
We don't have a patched kernel, so I'm using a workaround.
You current rom will not be erased by the installation.
Download links are in the third post.​
Adding ROMs
1. Android
Go to recovery, enter the MultiROM section of TWRP (by clicking the icon in to top right corner) -> Add ROM. Select the ROM's zip file and confirm. As for the space, clean installation of stock 4.2 after first boot (with dalvik cache generated and connected to google account) takes 676mb of space.​
2. Ubuntu Touch this is NOT SUPPORTED
Use the MultiROM Manager app to install Ubuntu Touch.
Ubuntu Touch is in development - MultiROM will have to be updated to keep up with future changes in Ubuntu, so there's a good chance this method stops working after a while and I'll have to fix it.
Using USB drive
During installation, recovery lets you select install location. Plug in the USB drive, wait a while and press "refresh" so that it shows partitions on the USB drive. You just select the location (extX, NTFS and FAT32 partitions are supported) and proceed with the installation.
If you wanna use other than default FAT32 partition, just format it in PC. If you don't know how/don't know where to find out how, you probably should not try installing MultiROM.
If you are installing to NTFS or FAT32 partition, recovery asks you to set image size for all the partitions - this cannot be easilly changed afterward, so choose carefully. FAT32 is limited to maximum of 4095MB per image - it is limitation of the filesystem, I can do nothing about that.
Installation to USB drives takes a bit longer, because the flash drive is (usually) slower and it needs to create the images, so installation of Ubuntu to 4Gb image on my pretty fast USB drive takes about 20 minutes.
Enumerating USB drive can take a while in MultiROM menu, so when you press the "USB" button in MultiROM, wait a while (max. 30-45s) until it searches the USB drive. It does it by itself, no need to press something, just wait.​
Updating/changing ROMs
1. Primary ROM (Internal)
Flash ROM's ZIP file as usual, do factory reset if needed (it won't erase secondary ROMs)
Go to the MultiROM section of TWRP (by clicking the icon in to top right corner) and do Inject curr. boot sector.
2. Secondary Android ROMs
If you want to change the ROM, delete it and add new one. To update ROM, follow these steps:
Go to the MultiROM section of TWRP (by clicking the icon in to top right corner) -> List ROMs and select the ROM you want to update.
Select "Flash ZIP" and flash ROM's ZIP file.
In some cases, you might need to flash patched kernel - get corresponding patched kernel version from second post and flash it to the secondary ROM sama way you flashed ROM's ZIP file.
Explanation of recovery menus
Main menu
- Add ROM - add ROM to boot
- List ROMs - list installed ROMs and manage them
- Inject boot.img file - When you download for example kernel, which is distrubuted as whole boot.img (eg. franco kernel), you have to use this option on it, otherwise you would lose MultiROM.
- Inject curr. boot sector - Use this option if MultiROM does not show up on boot, for example after kernel installation.
- Settings - well, settings.
Manage ROM
- Rename, delete - I believe these are obvious
- Flash ZIP (only Android ROMs) - flash ZIP to the ROM, for example gapps
- Add/replace boot.img - replaces boot.img used by this ROM, this is more like developer option.
- Re-patch init - this is available only for ubuntu. Use it when ubuntu cannot find root partition, ie. after apt-get upgrade which changed the init script.​
Screenshots
Special Thanks
@Tasssadar: Original author of MultiROM.
@Captain_Throwback: For testing, giving me a hard time, and warning you guys about the secure boot (ie require Password/Pattern/PIN on boot) issue.
zhuowei: For the fake properties idea.
Source code
MultiROM - https://github.com/Tasssadar/multirom (branch master)
Modified TWRP - https://github.com/Tasssadar/Team-Win-Recovery-Project (branch master)
Device files - ....
Everything is here:
https://github.com/multirom-htc
https://github.com/nkk71​
XDA:DevDB Information
MultiROM, Tool/Utility for the HTC 10
Contributors
nkk71
Version Information
Status: Stable
Current Stable Version: 33testbuild
Stable Release Date: 2016-11-15
Created 2016-09-18
Last Updated 2016-11-15
FAQ and other notes
HTC 10 - Peculiarities / Bugs
There are no kexec-hardboot kernels for the HTC 10, so you need to have the no-kexec-workaround enabled. Please refer to post 4 for details.
.
A few notes about enabled adb in MultiROM boot menu: having adb enabled in MultiROM boot menu (TWRP->MultiROM->Settings->Enable ADB) may interfere with the ROMs "connection" (MTP, etc), possibly even prevent the ROM from booting (rarely, but I've seen it happen). Since this option is usually only used for debugging, I recommend to keep this option disabled.
.
Secure boot (ie require Password/Pattern/PIN on boot): Thanks to Captain_Throwback who found out, that under certain circumstances (yet to be determined), your primary (possibly secondary as well) may loose the ability unlock your LockScreen using your Password/Pattern/PIN.
The same thing has been observed in TWRP restores, and although your password is correct and does decrypt your device, it breaks at the lockscreen for some reason.
I recommend you disable Password/Pattern/PIN on boot until / IF the issue is resolved, but in case you do find yourself in that situation, please go ahead and follow the instruction posted in the TWRP thread:
10. After I restored my Data backup and boot back to Android, I'm entering the correct PIN/password, but it's telling me the password is wrong. What happened, and how do I fix it?
It appears that sometimes after restoring a backup of Data where security was enabled (such as a PIN or password lock), the device does not recognize the correct password. There are two ways to avoid this issue:
Disable security in Android before making a backup of data.
After restoring Data, while still in TWRP, use the TWRP File Manager to navigate to /data/system and delete all the locksettings.* files (such as locksettings.db, etc). When you reboot, the password will be gone.
​
Something not working, or you need help debugging
Please provide the following information:
a detailed explanation of the problem
.
the recovery.log (found in /tmp/recovery.log or by copying it to the sdcard and then copying it to PC)
.
the logs from /sdcard/multirom-klogs (zip those up, before uploading). that option needs to be enabled in TWRP->MultiROM->Settings
.
the link to the thread and name of file (+ which version) you are having problems with
.
due to the large size of some of these ROMs, I may not have time to download and test them, so please also upload the updater-script (found in ROM.ZIP under /META-INF/com/google/android/)
Supported File Systems for secondary ROMs
Currently only the following partitions can boot secondary ROMs:
Internal Storage
.
An external sdcard, properly partitioned with an ext4 partition (see below)
Partitioning your External SD Card
Warning: You will loose all information on your external sdcard!!
There is no way of retrieving that information, so copy everything to your PC before proceeding!!
In order to make a decent assessment of the size of your ext4 partition, below is a small table of some of the ROMs I've installed to my ext4 partition:
Code:
[U][B]2.5G BeanStalk-6.20-20160905-pm[/B][/U]
1.1G BeanStalk-6.20-20160905-pm/data
1.3G BeanStalk-6.20-20160905-pm/system
[U][B]1.4G cm-13.0-20160915-UNOFFICIA[/B][/U]
396M cm-13.0-20160915-UNOFFICIA/data
960M cm-13.0-20160915-UNOFFICIA/system
[U][B]3.8G ice-2.1.1_PERFUME_UHL_M60_[/B][/U]
1.7G ice-2.1.1_PERFUME_UHL_M60_/data
2.0G ice-2.1.1_PERFUME_UHL_M60_/system
[B][U]4.0G Viper10_3.1.0[/U][/B]
1.8G Viper10_3.1.0/data
2.1G Viper10_3.1.0/system
Please bear in mind, those installs have none or very few extra downloaded apps, which would also be using the data partition; if you need a reference for comparison, you can select Backup in TWRP, which will show you the size of your current /data partition (this excludes "Internal Storage")... mine is about 8GB !
FYI: I'm using a 200GB sdcard, and have it setup with a 30GB ext4 partition... but that's just me
Step 1: Partitioning
TWRP Main Menu
-> Advanced
-> Partition SD Card
-> selected Micro SDCard
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
-> swipe to proceed with repartitioning
go back to the main menu.
Example Screenshots:
TWRP Main Screen
Select Advanced
Select Partition SD Card, Micro SDCard is selected, press OK
Set the EXT Size to the size of your choice
Set Swap Size to zero
Set File System to ext4
then swipe to begin
Partitioning complete
Step 2 (optional, but recommended): Changing the first partition to exFAT
The repartitioning in step 1, has formatted your card with two partitions, the first one (used by ROMs as external storage) being FAT32 formatted. Since FAT32 has certain limitations, in particular the 4GB file size limit, it's recommended to reformat it as exFAT.
TWRP
-> Wipe
-> Advanced Wipe
-> select external_sd or Micro SDCard (whichever is shown in the menu)
-> Repair or Change File System
-> Change File System
-> select exFAT
-> swipe to reformat the first partition to exFAT
Example Screenshots:
Wipe Menu, select Advanced Wipe
Advanced Wipe Menu:
select external_sd or Micro SDCard (whichever is shown in the menu)
and click Repair or Change File System
Select Change File System
Select exFAT
Swipe to reformat to exFAT
Formatting complete
​
Device encryption
Since v32, MultiROM supports encryption on this device (it has to be added for each device separately). It works only with Android-based secondary ROMs and the secondary ROMs don't know the device is encrypted, so they would allow you to encrypt the device again - do not do that. If you're using password, pin or pattern for the encryption, MultiROM will ask you for the password on boot. If you're booting the primary ROM, then Android will ask you for the password _again_ - unfortunately, there is no way for me to pass the "unencrypted" status to Android. If you're booting secondary ROM, MultiROM will ask you for the password again after the reboot - that's because I have to unencrypt the /data partition after the ROM's kernel is loaded.
I could omit the second password prompt when booting secondary ROM by temporarily saving the password somewhere, but that's obviously unsafe. So is using encryption with unlocked device though, so I might add this later.​About security
In order to make multi-booting possible, MultiROM has to sacrifice some security measures. Firstly, on secondary Android ROMs, /system is not mounted read-only. While there are other things preventing malicious software from messing with /system, this might potentialy make it easier for such software to attack that system.​
What do the ROMs share?
All ROMs are separate, except /sdcard, which is shared between all Android ROMs.​
How many ROMs can I have?/Where are the ROMs stored?
You can have as many ROMs as you can fit in your /sdcard. All the ROMs are stored in /sdcard/multirom/roms or on an USB drive. This folder is unaccessible in Android, to prevent mediascanner from scanning it. You can either in recovery, or obtain root and go to /data/media/0/multirom/roms.​
The menu with all the ROMs won't show up during boot, how to fix it?
Either re-flash the MultiROM zip or go to recovery, Advanced -> MultiROM -> Inject curr. boot sector.
The reason for this is that something rewrote your boot.img, which happens for example when you flash a kernel. MultiROM's boot menu is part of the boot image, so it has to be added into it again.​
My secondary ROM(s) no longer boot up, after I flashed a new primary ROM / Kernel / boot.img, and the MultiROM menu (as mentioned above) no longer appears
Please issue a restorecon on the particular ROM:
TWRP -> MultiROM -> select ROM in question -> Run Restorecon
Technical explanation
Usually most init.rc scripts will run a restorecon_recursive on /data and /mnt(also cache, but that's not too important for us)
Code:
restorecon_recursive /data
restorecon_recursive /mnt
this will supposedly restore file contexts (permissions if you prefer the older term) on all your data partitions, it will however break all your secondary ROMs as their system partition actually lives there, but the "permissions" have been overwritten to make it look like just normal data.
This is also why so many Android 7 (Nougat) MultiROM people (in other threads) are having so much trouble, as the file_contexts format has changed, and that hasn't been updated for the new format yet.​
Downloads
Current Test Builds
All Current Test Builds can be found on androidfilehost under MultiROM TEST BUILDS
You should be using these, not the ones mentioned below!
Definition of Test Builds: These are stable builds which I have and am using (and testing). They contain the most up to date fixes as mentioned in the changelog under <tba>.
The main reason I'm calling them "Test Builds", is because they have not gone through extensive testing as what I would usually do for a "release version". I think most people would call them release versions, but I tend to be more conservative.
.
The second reason, they get uploaded to AFH instead of directly here, is two fold:
I'm maintaining the M7, M8, M9 and HTC 10 MultiROM versions, and uploading to AFH is easier and faster for me.
Updating the actual threads and posts, is too time consuming every time I want to push an update.
1. Main downloads
Modified recovery (based on TWRP): TWRP_3.0.2-6_multirom_pme_20160920-04.img
MultiROM Main ZIP: multirom-20160920-v33b-UNOFFICIAL-pme.zip
Not supported at this time MultiROM Manager Android app: Google Play or link to APK
AndroidFileHost (mirror & old versions): https://www.androidfilehost.com/?w=files&flid=114470
​
2. third-party kernels with kexec-hardboot patch
None exist at the moment, hence the use of the workaround.​
3. Uninstaller
MultiROM uninstaller: multirom_uninstaller
Flash this ZIP file to remove MultiROM from your device. It will erase all secondary ROMs. If you don't want MultiROM menus in recovery, re-flash [RECOVERY][pme] TWRP touch recovery, but it is not needed - those menus don't do anything if MultiROM is not installed.​
Changelog
MultiROM Managar App:
Code:
2016-11-11 MultiROM Manager App[-debug] version
=====================
* Add support for external storage
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Highlight currently running ROM first
(also disallow deletion of it)
* Show ROMs in order of location (Current, then Internal, etc.)
* Allow duplicate ROM names if on separate partition
* Fix Widget
* Support for HTC 10 (pme)
* Support for HTC One M9 (hima)
* Support for HTC One M8
* Support for HTC One M7 (m7univ)
MultiROM:
Code:
2017-10-27 MultiROM v33
=====================
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Fix sdcardfs gid derivation ([URL="https://github.com/nkk71/multirom/commit/e0b749567f4ad976a5aabcdbd944f44f9c68b399"]technical details[/URL])
* vold_decrypt (Decryption on the HTC One M9 and HTC 10)
* trampoline511 (aka trampolineMk2)
* New default icons for Android ROMs when not set in app
* Code fixes and cleanups
2016-11-15 MultiROM v33
=====================
* Preliminary support for Android 7 (Nougat)
* Add support functions for MultiROM Manager App
(allows listing, manipulating, and booting secondary ROMs on external storage)
* Update no-kexec to version 4.1
+ changes to second boot detection
+ no-kexec versioning to allow auto-updating when needed
+ code cleanup
* Reboot to recovery on failed data partition mount
(avoids potentially being stuck in bootloop)
* Add reboot to recovery button on decryption screen when in second boot
* Code fixes
MultiROM v33b
=====================
* Fix [possible] boot img truncation when used in daisy-
chaining [older] systemless SuperSU, [B][U]and[/U][/B] rebooting
directly from AROMA Installer (info to follow later)
* Fixed mr_init_devices for certain devices (better fix will follow)
* Fix the auto-boot issue to properly fall back to primary
when secondary is deleted
MultiROM v33a
=====================
* Initial port for the HTC 10 (pme)
* Updated no-kexec to version 4
* autoboot: "Use last booted ROM" now works with external ROMs
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
Recoveries:
Code:
2017-10-27
=====================
* Fully merged with official TWRP 7.1 branch
* New 'System Partition Mode' ROMs ([URL="https://github.com/nkk71/multirom/commit/dfb1a294ab55374b80bb6f14c2422850610c986d"]technical details[/URL])
* Android 8.0 compatibility
* Auto detect possible use of legacy props
* vold_decrypt (HTC decryption on the M9 and 10)
* Install from backup using a System_Image
* libbootimg: Updated to support AnyKernel2
* Fixes for some boot.img patchers
* Block mount/unmount of secondary partitions
* Use own loop devices to avoid conflicts with other installers
* Code fixes and cleanups
2016-11-15 (33e)
=====================
* Fix restorecon for secondary ROMs
* Rebased on android-7.0 branch
* Preliminary support for Android 7 (Nougat)
* Fix no-kexec restore primary_boot.img on devices
with PIN/Pattern/Password encryption
* Fix flashing of certain gapps zip's which are
missing the updater-script file
[STRIKE]* Add warning on failed injection[/STRIKE]
* Minor code cleanup
2016-09-20 (33b)
=====================
* Fix some installer scripts using certain mount/unmount commands
* Wake up screen before starting flash (fixes AROMA installer issues)
* Changed fstab so external ext4 won't get wiped with a factory reset
2016-09-17 (33a)
=====================
* initial port for the HTC 10 (pme)
* Based on TWRP 3.0.2 android-6.0 tree & branch
* Includes official TWRP commits up to Aug 23, 2016
previous changelogs are in M7/M8/M9 threads
i'll consolidate at some point hopefully
No-kexec workaround (version 4)
As of this version you need to manually enable the no-kexec workaround.
Actually, depending on the developer, (s)he may have already enabled it. Nonetheless, you can still choose to override the settings:
Go to TWRP -> MultiROM -> Settings
and enable the No-KEXEC workaround option
once you do you'll also have the option for ADVanced settings, please see below for a detailed description, though in most cases the default should suffice.​
Explanation of the no-kexec workaround advanced options
(the Info page is supposed to provide the same information as here, but I haven't added that yet)
1- Use no-kexec only when needed
This should be the default for most users, the other options are more intended for advanced uses (kernel debugging, and such).
If MultiROM detects a kexec-hardboot enabled kernel in primary slot, it will use the standard kexec method to boot the secondary. If on the other hand it does not detect that the kernel supports kexec-hardboot then it will use the workaround.​
2- ... but also ask for confirmation before booting
Same as option 1 above, but in addition you will be presented with a confirmation message, if the workaround is about to be used:
3- Ask whether to kexec or use no-kexec on booting
If the kernel in primary slot does support kexec-hardboot'ing then you will be presented with a choice of which method to use
If the kernel does not support kexec-hardboot then you'll be informed as in option 2 above​
4- Always force using no-kexec workaround
Forces the no-kexec workaround to be used, even if the kernel in primary slot has kexec-hardboot support​
Options 2 and 3, always present the user with a GUI confirmation, whereas option 1 and 4 will act as instructed without prompting the user.​
Visual feedback provided by the Booting... card
Regular kexec-hardboot boot
Booting using no-kexec-workaround
​
How does all this work, etc
The workaround:
MultiROM TWRP recovery works, and is able to flash ROMs to secondary
MultiROM in essence works (in particular, able to change the mount points during bootup)
what does not work is being able to use the secondary ROM's kernel (due to the lack of kexec-hardboot kernel and tools)
So how do we deal with booting any ROM if we can't use the proper kernel for the ROM?
Easy :
Upon selection of the ROM during MultiROM boot menu, we do the following:
"flash" secondary boot.img to primary partition slot
initiate a full reboot (secondary boot.img is in primary slot)
let the ROM auto-boot up on second boot
The good part:
It works.
.
Every secondary ROM has a boot.img file we can easily access to use the workaround; when you flash a ROM in MultiROM TWRP, not only are the "virtual" system, data, and cache partitions created, but also the boot.img.
The secondary ROMs' boot.img will be found /data/media/0/multirom/<name of rom>/boot.img or if it's on your external ext4 in the appropriate rom folder
We use that file and flash it to primary real boot partition and then upon second boot, the correct boot.img is in place for the correct ROM.
The bad part:
Unlike secondary ROMs, the primary ROM does not have a boot.img file... since it is the primary ROM, the boot.img should always be in the real boot partition, since MultiROM expects the primary kernel to have kexec-hardboot capability, but it does not, so I just go ahead and mess with your primary boot partition.
Since we have no "boot.img" file for the primary, my workaround makes a backup of the boot partition and names it primary_boot.img
In version 4 of the workaround, this backup is created and used only when booting a secondary ROM. When a secondary ROM is selected it's boot.img is flashed to primary slot, upon booting into the secondary ROM, the primary_boot.img is restored.
Long story short: the difference between kexec and no-kexec-workaround
Usual kexec-hardboot MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM reads the secondary boot.img into memory
MultiROM initiates a kexec second boot but into the secondary boot.img from above
MultiROM continues
No-kexec-workaround MultiROM
Select secondary ROM
MultiROM detects a boot.img
MultiROM flashes the secondary boot.img into the primary boot partition
MultiROM initiates a normal second boot but with the secondary boot.img in the real boot partition
MultiROM restores the primary_boot.img and continues as usual
so the difference is in point 3... whereas normal kexec'ing loads the secondary boot.img into memory and goes from there, the workaround, actually flashes it to the real primary boot partition... and continues normally from there
Devices using the no-kexec-workaround successfully
MultiROM threads for:
HTC One M7
HTC One M8
HTC One M9
.
Moto G 2015 by GtrCraft
Moto X Play by GtrCraft
OnePlus One (starting here) by KINGbabasula
OnePlus 3 by martinusbe
OnePlus X by martinusbe
Sony Xperia Z5 by Myself5
Sony Xperia L by STRYDER~007
Sony Xperia SP by Adrian DC
Xiaomi Redmi 2 by premaca
Wileyfox Swift by @beroid
.
(possibly Samsung Note 4, unsure if that was continued or not)
Others; unofficial builds? (if you are, kindly let me know, and I'll add you to the list)
reserved for @Captain_Throwback
Oops
files are in the download section, the posts need some editing, bug gonna be a bit busy tomorrow
so enjoy
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
azZA_09 said:
Ok,ok,you will say that im noob,but i flashed both files,flash the RR ROM,but the multirom menu doesnt show and it boots me directly to primary rom
Click to expand...
Click to collapse
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
nkk71 said:
That's not a "bug report"
Please provide detailed information, and logs... BTW, I didnt add the advanced kernel logging feature "by mistake", it's so you can get "easier" logs... but if those exist, then you still need to pull a kmsg
Code:
adb pull /sys/fs/pstore/console-ramoops
No boot menu, normally means that trampoline (if it's in the above log), wasnt able to mount data... or it's not even there
Click to expand...
Click to collapse
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
azZA_09 said:
Sorry dude,Im at work atm and I think too slow ). I will provide logs tomorrow,but maybe somebosy can provide them since then. Once again,great job and im sure you will fix every problem
Click to expand...
Click to collapse
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
nkk71 said:
open a terminal emulator on your phone, and
Code:
cat /sys/fs/pstore/console-ramoops | grep tramp
then you'll see if trampoline is even in there
Click to expand...
Click to collapse
It shows only the # after that
Download links are not working.
azZA_09 said:
It shows only the # after that
Click to expand...
Click to collapse
then probably the log is way after trampoline & multirom, so you need to enable "kernel logging"... I didnt add that by mistake
http://forum.xda-developers.com/devdb/project/?id=17079#downloads
Tab isn't showing up for me, but that link should work.
jsaxon2 said:
Download links are not working.
Click to expand...
Click to collapse
They're supposed to be here
If you can't access them, I've uploaded them to AFH as well
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
jsaxon2 said:
Got it installed and booted up cm13 as secondary. Working good so far. Thanks for this. I'm back on Viper running from primary.
Click to expand...
Click to collapse
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
BeanStalk-6.20-20160905-pme
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
nkk71 said:
hmm is that a complaint? ... sounds rather positive, so i'm unsure. i usually only hear complaints
Well, if it's not, thanks for reporting back :good:
I currently have an old version of Viper10 as primary / daily
and as secondaries:
ice-2.1.1_PERFUME_UHL_M60_SENSE80GP_HTC_Europe_1.90.401.3
cm-13.0-20160915-UNOFFICIAL-pme
and some other weird stuff
Click to expand...
Click to collapse
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
jsaxon2 said:
Lol, not a complaint, it's a compliment. You have done excellent work. Just wanted to report that it is working. I'm too tired to mess with it anymore, but awesome that I can test CM builds and get right back to my daily driver.
Job well done.
Click to expand...
Click to collapse
Thank you, I do enjoy positive feedback, Hope you enjoy it
as well as comments, thoughts and ideas.
@ all, If something is wrong, please be as descriptive as possible... please no "it doesn't work" posts.

Categories

Resources