[23 Nov 12] cLK

Search This thread

g.andy

Senior Member
Dec 21, 2010
916
204
Catania
Thank you kokotas, you can have one or a modified startup.txt sboot and a tboot with the startup.txt change alone can not.

Inviato dal mio HTC HD2 con Tapatalk 2
 

kaiserlein

Senior Member
Jul 14, 2009
318
54
Using android terminal app

flash_image lk /sdcard/lk.img

(assuming that lk.img is on the root of the sd card)

I don't know why, but this didn't work for me. No error it just did nothing.
I've been using the build in terminal of twrp-recovery.

Here are the steps:

Boot into twrp-recovery (assuming you already have it instead of cwm)
hit "Advanced"
hit "Terminal Command"
navigate to /system/bin
hit "Select"
type:
flash_image lk /sdcard/lk.img (assuming that lk.img is on the root of the sd card)
hit enter on the keyboard
 

bojanbl

Senior Member
Feb 5, 2010
633
200
I don't know why, but this didn't work for me. No error it just did nothing.
I've been using the build in terminal of twrp-recovery.

Here are the steps:

Boot into twrp-recovery (assuming you already have it instead of cwm)
hit "Advanced"
hit "Terminal Command"
navigate to /system/bin
hit "Select"
type:
flash_image lk /sdcard/lk.img (assuming that lk.img is on the root of the sd card)
hit enter on the keyboard

maybe you have to type su to get super user privileges? ;)
 

Magic2010

Senior Member
Oct 26, 2010
372
150
Well had to go via twrp.
Via android terminal was a no go even with SU privileges.
Rearange partition table and boot fine to sboot.
 

ph03n!x

Senior Member
Dec 18, 2010
2,177
1,615
With 1.5.1.0, did anyone notice the first boot logo fading into what looks like a blank screen before the second logo (logo.rle from initrd) is displayed?

Swyped from my HTC HD2 using XDA Premium
 

dertester123

Senior Member
Oct 11, 2008
960
202
With 1.5.1.0, did anyone notice the first boot logo fading into what looks like a blank screen before the second logo (logo.rle from initrd) is displayed?

Swyped from my HTC HD2 using XDA Premium

Hi, i noticed this effect since the last 2-3 versions i think. :)
First i was surprised as it looked like some kind of grafic crash on older phones(where the phone turned off and the pixels faded slowly) :D
 

ictimai

Senior Member
Apr 20, 2012
171
20
ictimai said:
I've just flashed the new version through nbh (without recovery), reset settings beforehand, and the menu is indeed "squeezed" in the top left corner in the way menu items are overwritten one upon another - completely unintelligible. Must flash back to 1.5.0.8 which behaved well...
Did you use v1.5.0.9? I believe that in v1.5.1.0 it is fixed
You missunderstood me, the menu was ok in v1.5.0.8 but in the latest v1.5.1.0 it's messed because the order was distroyed - could it be because, after manually restoring partitions (sboot, tboot), returned the previous size of recovery and tboot (6MB) and then all previously installed ROMs and recoveries became available without flashing which I just run?
 
  • Like
Reactions: kokotas

ictimai

Senior Member
Apr 20, 2012
171
20
One more question please, is it possible to back up installed NAND ROM and after resetting, flashing new cLK, then restore this NAND into boot, system (where else?)?

This question is because I've got problems to arrange back previous partitions and their sizes in such way that all their content could be used again without reflashing... (Is it achievable at all between new cLK installs? I tried to manually restore partitons layout but after it just one 'boot' kernel succeeded, and others: sboot, tboot, recovery failed. Whats more after flashed recovery anew then this mess with menu occured. Has the menu anything to do with partitions layout?)
 

seaman2k

Senior Member
Jul 19, 2010
543
968
suez
One more question please, is it possible to back up installed NAND ROM and after resetting, flashing new cLK, then restore this NAND into boot, system (where else?)?

This question is because I've got problems to arrange back previous partitions and their sizes in such way that all their content could be used again without reflashing... (Is it achievable at all between new cLK installs? I tried to manually restore partitons layout but after it just one 'boot' kernel succeeded, and others: sboot, tboot, recovery failed. Whats more after flashed recovery anew then this mess with menu occured. Has the menu anything to do with partitions layout?)

no no..i face it it is silly bug ...just try to reboot recovery after every time u install native sd rom+boot ..it will work with u:eek:
 

kokotas

Senior Member
Oct 23, 2007
714
1,570
Athens
You missunderstood me, the menu was ok in v1.5.0.8 but in the latest v1.5.1.0 it's messed because the order was ...
...Has the menu anything to do with partitions layout?
Thanks for the feedback! When you referred to the order of the partitions I finally got your issue. Changed the way it loops through ptable(partitions layout) and I hope it's finally fixed now. Will upload it later for you all to test.
One more question please, is it possible to back up installed NAND ROM and after resetting, flashing new cLK, then restore this NAND into boot, system (where else?)?
I don't see a problem in any of the above.
  1. Back up your NAND Rom.
  2. Flash new cLK
    Code:
    if(flash-file == LE0IMG.nbh) {
    //All settings are reset because the area which holds that info
    //is overwritten by the default ones, so one more step is required
    Manually_set_all_your_partitions_settings_to_your_previous_choice();
    } else if(flash-file == lk.img){
    //All settings are left untouched because the area which holds that info
    //is NOT overwritten, so there is no need to set any partitions's settings
    return;
    }
  3. Code:
    if( (installation==messed_up)
    || (user_wants_to_restore_NANDROID_Backup==TRUE) ) {
    Restore_NANDROID_Backup();
    } else {
    Enjoy_the_best_phone_ever_made(;));
    }
I tried to manually restore partitons layout but after it just one 'boot' kernel succeeded, and others: sboot, tboot, recovery failed. Whats more after flashed recovery anew then this mess with menu occured.
Maybe that's probably because the partition table you created is not the same as before.
An example of what I mean..
Before v1.5.1.0 you had a working setup like this:
Code:
...
userdata:0
sboot:4
tboot:3
vboot:5
cache:5
after installing v1.5.1.0 and adding 3 extra boot partitions you have:
Code:
...
userdata:0
vboot:5
tboot:5
sboot:5
cache:5
In order to go back to your previous setup and have a functional phone without restoring a nandroid backup you should try:
  1. Enter SETTINGS/RESIZE PARTITIONS
  2. Make sboot size = 4, tboot size = 3, vboot size = 5
  3. Up to SETTINGS
  4. Enter SETTINGS/REARRANGE PARTITIONS
  5. Select sboot => move it from #9 to #7
  6. COMMIT CHANGES => APPLY
    [YES I know this ^ will mess up menus, but hopefully it is fixed now]
If after that, the 'boot','sboot','tboot','vboot' don't load, then just reflash each kernel to the boot partition you want.
i.e. If you want to boot ParanoidAndroid from 'sboot' and CYANX from 'tboot', flash ParanoidAndroid kernel to 'sboot' partition and CYANX kernel to 'tboot' partition.

Regards!
 
Last edited:

Magic2010

Senior Member
Oct 26, 2010
372
150
I am having also that issue, after adding tboot and rearrange partitions, the menus are compressed in the left corner and had to remove tboot to make it work again.

Keep up the nice work kokotas and lets test the new version.
 

kokotas

Senior Member
Oct 23, 2007
714
1,570
Athens
lets test the new version.
It's been uploaded at my [mediafire folder].

Also I've uploaded a script (flash_xboot.sh) there for flashing any boot partition .
I'll post its contents here too. Just read the comments and you'll understand how to use it.
Code:
#!/sbin/sh

# flash_xboot.sh

#####################################################################
# Script arguments reference:										#
#																	#
# 1		<==	The name of the boot partition to update	[OBLIGATORY]#
#			{boot, sboot, tboot, vboot, wboot, xboot, yboot , zboot}#
# 2		<== The name of the Rom							[OPTIONAL]	#
#			{IF NOT given, startup.txt will be used to get it}		#
# 3		<== Force procedure if Rom is pre-installed		[OPTIONAL]	#
#			{force}													#
#####################################################################
# Script return reference :											#
#																	#
# 0		<== No errors												#
# 1		<==	Rom already installed OR Tool's error					#
# 2		<== File(s) not found										#
#####################################################################

# Print messages function
OUTFD=$(ps | grep -v "grep" | grep -o -E "update_binary(.*)" | cut -d " " -f 3)
ui_print() {
	if [ "$OUTFD" = "" ]; then
		echo "${1}"
	else
		echo "ui_print ${1} " 1>&$OUTFD
		echo "ui_print " 1>&$OUTFD
	fi
}

# Forgot first argument ?
if [ "$1" = "" ]; then
	ui_print "Usage: flash_xboot [arg1] [arg2] [arg3]"
	ui_print "     1)boot-partition's name(required)"
	ui_print "       one of {boot,sboot,tboot,vboot,"
	ui_print "              wboot,xboot,yboot,zboot}"
	ui_print "     2)rom's name(optional)"
	ui_print "     3)-force(optional)"
	ui_print "       to force installation,if the same"
	ui_print "       Rom was previously installed"
	exit 1
fi

# Set mkbootimg base arg
base=0x11800000
# Set mkbootimg output arg
output=/sdcard/$1.img
# Set remaining mkbootimg args
cmd="nand_boot=0 rel_path=NativeSD"
zImg=zImage
rdisk=initrd.gz

#####################################################################
# NativeSD dir structure reference:									#
#																	#
#/sdcard/NativeSD/$Rom				<==	Contains the kernel			#
#										we want for mkbootimg		#
#						/											#
#						zImage										#
#						initrd.gz									#
#/sdcard/NativeSD													#
#						/											#
#						zImage		<==	Copied from the $Rom folder #
#										for magldr or haret			#
#						initrd.gz	<==	Copied from the $Rom folder	#
#										for magldr or haret			#
#						startup.txt	<==	Contains the cmdline arg	#
#										we want for mkbootimg		#
#####################################################################
# This script will add:												#
#						.cLK_entries<== File to keep track of		#
#										which Rom is installed and	#
#										at which boot partition		#
#####################################################################

# Objectives :
# The dir with the startup.txt is '/sdcard/NativeSD'
# The dir with the Rom's kernel is '/sdcard/NativeSD/$Rom'
# which we'll have to find from 'startup.txt' later

# Check if everything is in place, otherwise exit
if [ ! -d "/sdcard/NativeSD" ]; then
	ui_print "NativeSD directory not found"
	exit 2
fi
if [ ! -f "/sdcard/NativeSD/initrd.gz" ]; then
	ui_print "NativeSD ramdisk not found"
	exit 2
fi
if [ ! -f "/sdcard/NativeSD/zImage" ]; then
	ui_print "NativeSD kernel not found"
	exit 2
fi
if [ ! -f "/sdcard/NativeSD/startup.txt" ]; then
	ui_print "NativeSD startup.txt not found"
	exit 2
fi
	
# Responsible for a correct cmdline in startup.txt should be
# either the Rom that was installed (by extracting the right
# startup.txt in NativeSD folder) or the application 'NativeSDBoot'
# (by replacing the "relpath" in startup.txt with the new Rom's name)

# No Rom name was given - We will find it using startup.txt
if [ "$2" = "-force" ] || [ "$2" = "" ]; then		
	# Get the cmdline from startup.txt
	cd /sdcard/NativeSD
	sed -rn '
			/^$/ {
				d
			}
			/#.*/ {
				d
			}
			/[ ^I]*$/ {
				s/[ ^I]*$//
			}
			/set cmdline/ {
				s/set cmdline //
				P
				q
			}
		}
	' "startup.txt" > commandline
	# Set mkbootimg cmdline arg
	cmd=`sed -e 's/\"/nand_boot=0 /' -e 's/\"\r//g' "commandline"`
	Rom=`sed -e 's/\"rel_path=//' -e 's/\"\r//g' "commandline"`
	if [ "$cmd" != "" ]; then
		# Set remaining mkbootimg args
		zImg=`sed -e 's/\"rel_path=//g' -e 's/\"\r/\/zImage/g' "commandline"`
		rdisk=`sed -e 's/\"rel_path=//g' -e 's/\"\r/\/initrd\.gz/g' "commandline"`
	else
		ui_print "Attention: Using NativeSD contents"
		cmd="nand_boot=0 rel_path=NativeSD" 
	fi
	
	# Clean up
	rm -rf commandline
	
# Rom name was given
else
	if [ "$2" != "-force" ]; then
		Rom=$2
			
		# Set mkbootimg cmdline arg
		cmd="nand_boot=0 rel_path=$Rom"
		# Set remaining mkbootimg args
		zImg=$Rom/zImage
		rdisk=$Rom/initrd.gz
	fi
fi

ui_print "cmdline: $cmd"
ui_print "kernel: $zImg"
ui_print "ramdisk: $rdisk"

# From this point we have got a Rom name
# and we can do some checks :
# 1)Check if the Rom's kernel exists
	if [ ! -f "$zImg" ]; then
		ui_print "Kernel not found"
		exit 2
	fi
	if [ ! -f "$rdisk" ]; then
		ui_print "Ramdisk not found"
		exit 2
	fi
# 2)Check if it was previously installed
	if [ -f "/sdcard/NativeSD/.cLK_entries" ]; then
		if grep -Fxq "$Rom" "/sdcard/NativeSD/.cLK_entries"
		then
			# Rom entry was found
			ui_print "Rom already installed"
			if [ "$2" = "-force" ] || [ "$3" = "-force" ]; then
				# Delete the line with the previous entry
				ui_print "Forced removal of previous entry from list"
				sed -i '/'${Rom}'/d' "/sdcard/NativeSD/.cLK_entries"
			else 
				# If we do not force installation exit
				ui_print "Aborted"
				exit 1
			fi
		fi;
	fi
	
# Write the partition and the Rom name
# to a file called .cLK_entries so that
# we use it as reference to keep track
# of the Roms that have been installed
# In case we want to reinstall the same Rom,
# we should have passed '-force' arg to this script
echo "$1=$Rom" >> /sdcard/NativeSD/.cLK_entries
	
# Make an image file from zImage and initrd.gz
# with the correct command line arg
# in order to be flashed later
if [ "`which mkbootimg`" ]; then
	chmod 0777 "`which mkbootimg`"
	`which mkbootimg`	--kernel /sdcard/NativeSD/$zImg \
						--ramdisk /sdcard/NativeSD/$rdisk \
						--cmdline "$cmd" \
						--base $base \
						--output $output
	[ $? -eq 0 ] || exit 1
	ui_print "$Rom's kernel created"
else
	ui_print "mkbootimg was not found"
	exit 2
fi

# Flash the output image to the boot partition entered as 1st arg
if [ "`which flash_image`" ]; then
	chmod 0777 "`which flash_image`"
	`which flash_image` $1 $output
	[ $? -eq 0 ] || exit 1
	ui_print "$Rom's kernel installed to /$1 partition"
else
	ui_print "flash_image was not found"
	exit 2
fi

ui_print "All operations completed"
exit 0
I have tried it by running it from ScriptManager with su permissions and the required tools (mkbootimg,flash_image) in /system/bin
and it worked ok.
I just wonder why it doesn't work when it is called from an updater-script (?)

Regards!
 
Last edited:

clio94

Senior Member
Jan 17, 2007
1,195
321
Kozani
For all the roms startup.txt has the same name,because it is the same for all roms.It writes rel_path=NativeSD so we cant take from it the different name of the rom.This is good for magldr users,because after using Nativesdmultiboot app the desired zimage and initrd.gz are copied to Nativesd folder so after reboot,it will boot to the other rom without the need to go to magldr--->services-->ad sd dir and change it.For clk we cant use this kind of startup.txt to take the name of the rom.The new nativesd multiboot app with support for clk sboot it has a rom_name.txt to recognise the rom the user runs and then write to sboot partition the rel_path= by using this name.So i think for tboot,vboot partitions we need a script that reads a txt file in which will be the correct rom name
 
  • Like
Reactions: kokotas

kokotas

Senior Member
Oct 23, 2007
714
1,570
Athens
For all the roms startup.txt has the same name,because it is the same for all roms.It writes rel_path=NativeSD so we cant take from it the different name of the rom.
Somehow, I had the wrong impression that the startup.txt includes a different "rel_path=..." for every different Rom... I must have mixed up this
with what applied in the old SD Roms. Thanks for the clarification.
The new nativesd multiboot app with support for clk sboot it has a rom_name.txt to recognise the rom the user runs and then write to sboot partition the rel_path= by using this name.So i think for tboot,vboot partitions we need a script that reads a txt file in which will be the correct rom name
So it is something like this?
Code:
Running CYANX => /sdcard/NativeSD/CYANX.txt
And is it an empty text file or it contains the name of the 'boot' partition(in this case sboot)?
 

jwchips

Senior Member
Apr 16, 2007
545
159
Redmi Note 9 Pro
Xiaomi Poco F3
With 1.5.1.0, did anyone notice the first boot logo fading into what looks like a blank screen before the second logo (logo.rle from initrd) is displayed?

Swyped from my HTC HD2 using XDA Premium

I've experienced this on the two handsets I installed clk on. Horizontal black bars appear and the image 'fades out'. I thought (or hoped) it was an intentional feature and that I just missed the post saying it had been implemented.

It appears when:

*Booting to Android from power off (the nrg energize screen or the HTC screen showing radio info depending on if you ever used nrg's roms)

*Booting from power off to recovery (at the same screen as above)

*Booting from clk to recovery (after the command-line bit)

Should this be happening?

Sent from my GT-I9300 using xda app-developers app
 
Last edited:
  • Like
Reactions: kokotas

zach.antre

Senior Member
Mar 29, 2010
242
69
41
Athens
kokotas Format nand is not working properly with 1.5.1.1
also bad blocks are not alocated.

edit: after reboot bad blocks showed in info...
 
Last edited:
  • Like
Reactions: kokotas

clio94

Senior Member
Jan 17, 2007
1,195
321
Kozani
Somehow, I had the wrong impression that the startup.txt includes a different "rel_path=..." for every different Rom... I must have mixed up this
with what applied in the old SD Roms. Thanks for the clarification.

So it is something like this?
Code:
Running CYANX => /sdcard/NativeSD/CYANX.txt
And is it an empty text file or it contains the name of the 'boot' partition(in this case sboot)?
Inside the folder NativeSD the app creates a file called rom_name.txt which contains only the name of the rom.For example it writes only Cyanx or cm9ight.Every time we use the app to change to another rom the file rom_name.txt will contain the name of the rom we switched.This also helps when we press delete in the app to hide the rom we running and prevent us of deleting it.This works for magldr
if you want install the app from here http://xdaforums.com/showpost.php?p=31798651&postcount=832 to see the logic that works
 
Last edited:
  • Like
Reactions: kokotas

kokotas

Senior Member
Oct 23, 2007
714
1,570
Athens
Horizontal black bars appear and the image 'fades out'. I thought (or hoped) it was an intentional feature and that I just missed the post saying it had been implemented.
It is intended to do so before loading any kernel or recovery. I will add that info to the change log too.
kokotas Format nand is not working properly with 1.5.1.1
also bad blocks are not alocated.

edit: after reboot bad blocks showed in info...
I tested booting 'without filling bad block table at startup' and THEN format - [OK]
I tested booting with 'filling bad block table at startup' and THEN format [OK]
I didn't test booting 'without filling bad block table at start up', THEN select fill BBT @ STARTUP and THEN format without rebooting [?] <=DO NOT TRY IT UNTILL I CHECK!
Inside the folder NativeSD the app creates a file called rom_name.txt which contains only the name of the rom.For example it writes only Cyanx or cm9ight.Every time we use the app to change to another rom the file rom_name.txt will contain the name of the rom we switched.This also helps when we press delete in the app to hide the rom we running and prevent us of deleting it.This works for magldr
if you want install the app from here http://xdaforums.com/showpost.php?p=31798651&postcount=832 to see the logic that works
Thanks again for making it clear. I will eventually try this app even if it was made for MAGLDR users and then adjusted for clk.

Regards!

EDIT:
Me said:
I didn't test booting 'without filling bad block table at start up', THEN select fill BBT @ STARTUP and THEN format without rebooting [?] <=DO NOT TRY IT UNTILL I CHECK!
This is ok! Rechecked the code, even did a format (an excuse to try another Rom except for my daily one) and all went well.
 
Last edited:

g.andy

Senior Member
Dec 21, 2010
916
204
Catania
Good morning everyone. Sorry for the stupid question. I clk 1.5.1.0 with a rom in nand, a rom aokp in sboot and a rom PA in tboot. I would be grateful if you would tell me how to update the aokp rom that I have in sboot without losing applications and settings.

PS: I suppose that I have to flash the new version of aopk rom from recovery choosing the 'nativesd' option, but then I do the flash to file 'flash_sboot_v2.zip'?

Inviato dal mio HTC HD2 con Tapatalk 2
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 67
    Timeline for experimental builds [Latest version: 1.5.2.1 @ 6/May/2013]

    ALWAYS make a backup before installing any of these test versions and try them at your own risk!

    • Installation:
    • Links:
      1. Compiled binary
      2. Source code
    • Related Projects (WIP):
    • Timeline:
      1. 19/Jan/2012 - FIRST alternative suggestion
        Link
      2. 25/Jan/2012 - UPDATE #1
        Link
      3. 26/Jan/2012 - UPDATE #2
        1. 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.
        2. Set userdata as 'auto-size' partition . So default partition table is:
          "recovery:5"
          "misc:1"
          "boot:5"
          "userdata:0"
          "system:150"
          "cache:5"
        3. 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 .
      4. 28/Jan/2012 - UPDATE #3
        1. Cleaned some code that was not used .
        2. Added option to convert 'auto-size' partition to 'fixed-size' .
        3. Added option to set a partition as 'auto-size' if one doesn't already exist (just decrease its size to zero).
        4. Small fixes to some features I previously added.
      5. 29/Jan/2012 - UPDATE #4
        1. 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"
          And we want to change it to:
          1."recovery"
          2."misc"
          3."boot"
          4."cache"
          5."system"
          6."userdata"
          1. Enter 'REARRANGE PARTITIONS'
          2. 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.)
          3. 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.
        2. Clean up some code
      6. 01/Feb/2012 - UPDATE #5
        1. Added new info when booting
          After the partition table you should see a list with the existing bad blocks IF ANY. (CONFIRMED)
        2. 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.
        3. Changed some output messages
      7. 02/Feb/2012 - UPDATE #6
        1. 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)
        2. Changed some output messages
        3. Default partition table is:
          "recovery:5"
          "misc:1"
          "boot:5"
          "system:150"
          "userdata:0"
          "cache:5"
      8. 06/Feb/2012 - UPDATE #7
        1. Minor fixes/changes
        2. Changed some output messages
      9. 08/Feb/2012 - UPDATE #8
        1. 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
          1. Boot the device in cLK pressing [BACK] button, having the sdcard inserted
          2. Go to MAIN MENU/SETTINGS - Select ADD sBOOT
          3. Select BOOT RECOVERY from MAIN MENU
          4. Select 'install zip from sdcard' and use something like this(this is an example) flash_sboot.zip
          5. Select 'reboot system now' and press&hold [MENU] button to directly boot Android (emmc)
        2. 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.
      10. 14/Feb/2012 - UPDATE #9
        1. Changed cpu speed to 998MHz.
        2. Added option to show/hide info(ptable and bbtable) at start-up under MAIN MENU/INFO.
        3. If you invert screen colors, the change will remain after rebooting.
        4. The speed of reading/writing or erasing is improved a bit.
        5. Cleaned up some code.
      11. 22/Feb/2012 - UPDATE #10
        1. Removed showing bad block info during startup. Bad blocks can be checked from SETTINGS/PRINT BAD BLOCK TABLE(if any bad blocks exist).
        2. Added chipset info in header.
        3. Cleaned up more unused code.
      12. 13/Apr/2012 - UPDATE #11
        1. Ported Rick's latest commit.
        2. 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.
        3. 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.
        4. Cleaned up more unused code. (EXPERIMENTAL)
      13. 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
        1. Added CID, IMEI , BT Mac Addr and WiFi Mac Addr under Device Info (Getting WiFi Mac doesn't work correctly:( ).
        2. 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 .
        3. 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
        4. 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)
        5. Added option to enable/disable usb detection ("USB" mark at the bottom of the screen if device connected to pc) .
        6. Changed version to LK_1.5black to avoid confusion regarding latest version of main cLK.
      14. 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
        1. 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.
        2. Bug fixes
      15. 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
        1. Added option to reset ANY settings you have modified.
          (RESET SETTINGS under SETTINGS MENU = 'fastboot oem reset' ,previously cmd was 'fastboot oem format_vptable')
        2. Fixed errors caused by some partition changes, so it should be stable now!
      16. 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
        1. 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)
        2. 2nd attempt at fixing errors caused by some partition changes.
        3. Edited nbgen so that it is possible to add recovery as a second partition.
      17. 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
        1. Added option to set the default boot partition. At start default is 'boot', but you can change it.
        2. Added option to show or not a MULTIBOOT MENU at startup. Default behavior is to be hidden.
        3. 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.
        4. 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 :p).
        5. 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
        6. 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. 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
        1. acpuclock that Rick wrote and I managed to break:eek:, works again. So you have a new option under SETTINGS: SET MAX/DEFAULT CPU FREQ.
        2. Changed the menus. Rearranged SETTINGS and INFO and their entries.
        3. 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.
        4. 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.
        5. Fixed some errors regarding add/remove %x%boot.
        6. Changed how the countdown in multiboot menu works. If you interact then the countdown is canceled.
        7. 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.
        8. 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.
        9. Removed the function regarding auto-resizing small partitions which have bad blocks.
        10. Added a fading animation before booting any kernel or recovery.
      19. 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
        1. Fixed messed up menus if more than one extra boot partition exists.
      20. 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
        1. Fixed messed up menus if the order of the extra boot partitions is changed from default.
      21. 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
        1. Increased default size of 'recovery' partition to 6MB and changed layout.
        2. Removed fading effect.
        3. Added back option to enable/disable usb detection ("USB" mark at the bottom of the screen if device connected to pc).
        4. Some platform code changes.
      22. 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
        1. 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.
        2. Screen brightness can be adjusted. Added option under SETTINGS. The selected level will be the default at each boot.
        3. Entering cLK menu is slightly slower than before.
        4. 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...
        5. When in cLK menu you can select items with the [MENU] button too(added this for those with broken [CALL] button).
      23. 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
        1. Changed some options under SETTINGS.
        2. 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).
        3. 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.
        4. 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:eek:. I just hope that someone may find it useful and make the best out of it.
      24. 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
        1. 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.
        2. 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.
        3. Added some code for another project, a multiboot android app. More info here.
        4. Small fixes.
      25. 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
        1. Voltage threshold for inbuilt off-mode charging can be set from 3.7 to 4.2 V.
        2. First attempt to fix problem with suspend mode.
        3. 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).
      26. 05/Feb/2013 - UPDATE #25
        Code:
        [U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
        [U]Included recovery:[/U] Extended TWRP 2.4.1.0.r1
        [U]ExtRom:[/U] Disabled
        1. Fixed output for option to make an 'autosize' partition 'fixed-size'.
        2. If set to do so, fill bad block table before any flash_write will be called(like in set_recovery_message()).
        3. Add ability to change ptable according to values passed from recovery_msg.
        4. Ported commits from mainline lk.
      27. 06/Feb/2013 - UPDATE #26
        Code:
        [U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
        [U]Included recovery:[/U] Extended TWRP 2.4.1.0.r1
        [U]ExtRom:[/U] Disabled
        1. Changes relevant to memory offsets:
          Code:
          RAMDISK_ADDR     		:= "(BASE_ADDR+0x01000000)"
          SCRATCH_ADDR     		:= "(BASE_ADDR+0x02000000)"
      28. 11/Feb/2013 - UPDATE #27
        Code:
        [U]Default partition table:[/U] recovery=6,boot=5,misc=1,system=150,userdata=0,cache=5
        [U]Included recovery:[/U] Extended TWRP 2.4.1.0.r2
        [U]ExtRom:[/U] Disabled
        1. Added ability to wake the device while off-mode charging by pressing the middle [MENU] button (for those with power button problem).
        2. Updated the change_ptn_layout() function to be compatible with new Extended-TWRP.
      29. 14/Mar/2013 - UPDATE #28
        Code:
        [U]Default partition table:[/U] recovery=8,boot=5,misc=1,system=150,userdata=0,cache=5
        [U]Included recovery:[/U] Extended TWRP 2.4.4.0.r1
        [U]ExtRom:[/U] Disabled
        1. Increased default size of recovery partition to 8MB.
        2. Updated the change_ptn_layout() function to be compatible with new Extended-TWRP.
      30. 6/May/2013 - UPDATE #29
        Code:
        [U]Default partition table:[/U] recovery=8,boot=5,misc=1,system=150,userdata=0,cache=5
        [U]Included recovery:[/U] Extended TWRP 2.5.0.3
        [U]ExtRom:[/U] Disabled
        1. Update get_rom_name_from_cmdline(): return NAND if cmline = "no_console_suspend=1 console=null".
        2. Update included version of recovery in nbh file.
    64
    Posts have been re-ordered, Look above.
    63


    Drivers and Utilities
    The following tools are provided here, for linux(ubuntu 64bit binaries), windows and mac:
    • adb
    • fastboot
    • mkbootimg (not windows)
    • unpackbootimg (not windows)

    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

    • RMNET does not work.

    57
    [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


    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)
    50
    cLK v1.5
    Check first post for information.

    You're free to mirror it, but possibly include a link to this thread incase of future updates.