[Recovery] ClockworkMod Official and Advanced Builds - Verizon HTC Droid Incredible 4G LTE

The HTC Droid Incredible 4G LTE is officially supported by ROM Manager. ClockworkMod recovery can be downloaded from within the ROM Manager application, or from clockworkmod.com/rommanager. In addition to the official builds, I also publish CWMR Touch by gweedo767 and PhilZ Touch by Phil3759, both highly recommended.
Official ClockworkMod Builds
Download ClockworkMod 6.0.3.3 Official
MD5: cf0eac6d3c111e92ce5e4581d1059865
This is the stock ClockworkMod recovery. Navigation is done through volume-up/down and power to select.
Download ClockworkMod Touch 6.0.3.3 Official
MD5: 6f5110757380ac685f9d0191062dec8c
This is the touch driven ClockworkMod recovery. Navigation is done through a touch interface.
Advanced/Modified ClockworkMod Builds
PhilZ Touch 5 - based on CWM 6
Information about PhilZ Touch recovery, along with numerous screenshots, can be found in the master thread. This is a very feature complete recovery with many extras. Please report issues related to the device in this thread and general issues related to PhilZ Touch in the master thread. Note: if you prefer to flash recoveries through fastboot, simply extract recovery.img from the zip file.
Download CWMR Touch 6.0.3.7
MD5: 82a6ead49ce1f2831f3cbc1c22b318d9
This is a gesture enabled build of ClockworkMod recovery. Navigation is done through swiping up/down/left/right. Volume and power navigation still work as well. This is not to be confused with the official ClockworkMod Touch, which has a different interface.
Automated Installers
Automated installation will only work if you have the su binary (root access) on your ROM. If you have just performed unlock or S-OFF, you must use the manual installation method for the first recovery installation.
Official ClockworkMod builds: ROM Manager
CWMR Touch builds: CWMR Touch Installer
Manual Installation:
Requirements: you must have fastboot set up: Windows Guide, Mac Guide, Ubuntu Guide
1) Reboot your phone to the bootloader:
Method 1: Disable fast boot under Settings > Power > Fast boot. Shut down the phone. Hold Volume-Down and Power simultaneously until the phone vibrates. Continue holding volume down, but release the power button. When you reach the bootloader, choose the FASTBOOT menu option using the volume keys to move up/down and the power key to select.
Method 2: If you have adb installed, then with your phone fully booted up, type: adb reboot-bootloader
2) Flash the recovery image using fastboot. Open a terminal and navigate to the directory with the downloaded image. Type:
Code:
fastboot flash recovery recovery-clockwork-6.0.2.9-fireball.img
where the filename should be replaced with that of the version you downloaded. When the image has finished flashing (usually less than 10 seconds), issue the command
Code:
fastboot reboot-bootloader
3) Use the volume keys to navigate to BOOTLOADER and then select it with the power key. After the phone finishes scanning for PJ____.zip images, choose RECOVERY from the menu. This will start ClockworkMod recovery.
Additional Information:
The boot image comes from RUU 2.17.605.2
Credits:
utkanos for putting in the original effort to build CWM on the Inc 4G and building assistance
gweedo767 (@unstableapps on twitter) for the gesture enabled modifications to CWM
Phil3759 for PhilZ Touch
KemoNine for building assistance
Shaaan for his CWM building guide
Koush for writing ClockworkMod and officially supporting this device
CyanogenMod for way too many reasons
Release History:
Official 6.0.3.1 - Allow cancellation of adb sideload
Official 6.0.2.9 - USB mount support and some text corrections
Official 6.0.2.8 - Builds now officially supported
Beta 1.2 - Enable charging support
Alpha 1.1 - Enable both internal and external sdcards
Alpha 1.0 - Initial Release
Known issues / Workarounds / To Do
In the stock version, there is no support for the capacitive back/home/recent buttons on the phone.
The charging status LED does not turn on when the phone is charging, though charging does work.
If the phone is powered off while plugged into USB, it will temporarily reboot into recovery then shut down 20-30sec later.
Source
The device tree is at github.com/cyanogenmod/android_device_htc_fireball.

Build Guide
This guide is a historical account of how ClockworkMod was built for the fireball before a CyanogenMod device configuration existed for it. Obviously, all this work has been done for you now, and you can easily build ClockworkMod from the github source. If you're curious to know how configuration was done though, this post is for you! On the other hand, don't expect this to be your comprehensive guide to building recoveries. It's more an example to guide you. A brain and willingness to utilize said brain are still requirements. Furthermore, this guide ONLY focuses on the htc fireball. Don't expect direct translation to other devices. Finally, this thread is not a discussion zone for building recovery; please visit #koush on freenode if you need assistance.
Another more general resource that you should familiarize yourself with is XDA University: Porting ClockworkMod Recovery to a New Device. Some distinctions: the following uses cm-10.1 and mka instead of make -j4.
Prepare the build environment
ClockworkMod is distributed as part of the CyanogenMod source. Follow a guide for a device similar to fireball to set up a build environment. This HTC Evo 4G LTE guide should work well. Go all the way through Get pre-built apps, but stop before Prepare the device-specific code since we will be writing the device configuration from scratch.
Sun Java JDK 6 is necessary to build using Android sources. This Paranoid Android guide has a nice section on how to replace an existing Java installation on your computer. Do this.
Amend these directories as you see fit and set the variables:
Code:
export INC4G=~/inc4g
export CMHOME=~/android/system
$INC4G is our working directory and $CMHOME is the CyanogenMod source. If you close the terminal at any point, remember to re-set these (if you actually use them).
If you plan to upload your work to github at some point, give git some basic information:
Code:
git config --global user.name "Your Name"
git config --global user.email [email protected]
You should replace the name and e-mail with real(ish) values.
Some additional tools we will need throughout are abootimg and unpackbootimg. You can install abootimg through the package manager:
Code:
sudo apt-get install abootimg
unpackbootimg needs to be compiled from the CyanogenMod source. Go to $CMHOME and type
Code:
. build/envsetup.sh
mka otatools
Then copy unpackbootimg to a directory in your path, for example:
Code:
cp $CMHOME/out/host/linux-x86/bin/unpackbootimg ~/bin/
I put together a script that cleans up the output of unpackbootimg. Copy the below text into a file called unpack_image.sh, copy it to a directory in your path (~/bin/) and make it executable with chmod +x unpack_image.sh:
Code:
#!/bin/bash
strip() {
cp [email protected] out.img
unpackbootimg -i out.img > image_info.txt
BIT=`grep "Android magic found at:" image_info.txt | cut -d ':' -f 2 | cut -c 2-`
if [ $BIT -gt 0 ]; then
dd bs=$BIT skip=1 if=out.img of=unsigned.img
fi
}
extract() {
mkdir ramdisk
cd ramdisk
gunzip -c ../out.img-ramdisk.gz | cpio -i
cd ..
}
cleanup() {
rm out.img out.img-base out.img-cmdline out.img-pagesize
mv out.img-zImage zImage
mv out.img-ramdisk.gz ramdisk.gz
}
if [ -f [email protected] ]; then
strip [email protected]
extract
cleanup
else
echo "No image specified"
fi
Start the device configuration
CyanogenMod has a few built-in tools to help setup a bare-bones device configuration based on a stock ROM's recovery image. Download recovery_signed.img from RUU 2.17.605.2 to $INC4G. Then, navigate to $CMHOME and type:
Code:
build/tools/device/mkvendor.sh htc fireball $INC4G/recovery_signed.img
The following files have been created at $CMHOME/device/htc/fireball:
Code:
AndroidBoard.mk
AndroidProducts.mk
BoardConfig.mk
cm.mk
device_fireball.mk
kernel
recovery.fstab
system.prop
File descriptions
AndroidBoard.mk - (no changes needed) is setup to pull in pre-built and proprietary files. Since there are so few proprietary files needed by recovery, we will just drop them in a sub-directory of the device tree instead of utilizing the vendor directory called by this file.
AndroidProducts.mk - (no changes needed) calls the config file specific to your device
BoardConfig.mk - kernel specifications, device specifications, and internal memory layout are defined here
cm.mk - (no changes needed) includes device name, and pulls in some CyanogenMod resources used by ClockworkMod
device_fireball.mk - this file pieces together all of the parts into a recovery
kernel - (binary file - do not modify) this is the linux kernel extracted from recovery_signed.img
recovery.fstab - defines the file system layout on the internal memory
system.prop - parameters used by the kernel at boot time to play nicely with the device
BoardConfig.mk - Link to final BoardConfig.mk
We can benefit from the work that has already been done on similar Qualcomm MSM8960 based HTC devices to configure settings in BoardConfig.mk. These devices share a common device configuration: CyanogenMod/android_device_htc_msm8960-common. Analyze BoardConfigCommon.mk and amend the following chipset capabilities:
Code:
TARGET_ARCH := arm
TARGET_NO_BOOTLOADER := true
TARGET_BOARD_PLATFORM := [B]msm8960[/B]
[B]TARGET_BOARD_PLATFORM_GPU := qcom-adreno200[/B]
TARGET_CPU_ABI := armeabi-v7a
TARGET_CPU_ABI2 := armeabi
TARGET_ARCH_VARIANT := armv7-a-neon
[B]TARGET_ARCH_VARIANT_CPU := cortex-a9[/B]
ARCH_ARM_HAVE_TLS_REGISTER := true
[B]TARGET_CPU_SMP := true[/B]
[B]TARGET_USE_KRAIT_BIONIC_OPTIMIZATION := true[/B]
Next, we can fill in the partition values under # fix this up by examining /proc/mtd on a running device. Connect your phone to the computer and type:
Code:
adb shell "cat /proc/emmc"
The output will look like:
Code:
dev: size erasesize name
mmcblk0p23: 000ffa00 00000200 "misc"
mmcblk0p22: 00fffe00 00000200 "recovery"
mmcblk0p21: 01000000 00000200 "boot"
mmcblk0p33: 47fffc00 00000200 "system"
mmcblk0p30: 00140200 00000200 "local"
mmcblk0p34: 13fffe00 00000200 "cache"
mmcblk0p35: 49fffe00 00000200 "userdata"
mmcblk0p26: 01400000 00000200 "devlog"
mmcblk0p28: 00040000 00000200 "pdata"
mmcblk0p36: 109c00000 00000200 "fat"
mmcblk0p31: 00010000 00000200 "extra"
mmcblk0p17: 02d00000 00000200 "radio"
mmcblk0p18: 00a00000 00000200 "adsp"
mmcblk0p16: 00100000 00000200 "dsps"
mmcblk0p19: 00500000 00000200 "wcnss"
mmcblk0p20: 007ffa00 00000200 "radio_config"
mmcblk0p24: 00400000 00000200 "modem_st1"
mmcblk0p25: 00400000 00000200 "modem_st2"
Convert the hex sizes to decimal for needed partitions:
Code:
boot: (hex) 01000000 --> (decimal) 16777216
recovery: (hex) 00fffe00 --> (decimal) 16776704
system: (hex) 47fffc00 --> (decimal) 1207958528
userdata: (hex) 49fffe00 --> (decimal) 1241513472
Then, fill in the values:
Code:
[B]TARGET_USERIMAGES_USE_EXT4 := true[/B]
BOARD_BOOTIMAGE_PARTITION_SIZE := [B]16777216[/B]
BOARD_RECOVERYIMAGE_PARTITION_SIZE := [B]16776704[/B]
BOARD_SYSTEMIMAGE_PARTITION_SIZE := [B]1207958528[/B]
BOARD_USERDATAIMAGE_PARTITION_SIZE := [B]1241513472[/B]
BOARD_FLASH_BLOCK_SIZE := 131072
TARGET_USERIMAGES_USE_EXT4 was added because the data partition is formatted as ext4. Discovery of partition types is discussed when we get to the recovery.fstab section.
We only have a recent apps button, not a select button, so the following is correct:
Code:
BOARD_HAS_NO_SELECT_BUTTON := true
These options allow the device to be mounted to a computer as a USB disk drive while in recovery:
Code:
[B]BOARD_VOLD_MAX_PARTITIONS := 36[/B]
[B]TARGET_USE_CUSTOM_LUN_FILE_PATH := /sys/devices/platform/msm_hsusb/gadget/lun%d/file[/B]
The LUN file path is general to msm-based ICS and Jellybean devices. The max partitions value comes from analyzing the output of
Code:
adb shell "ls /dev/block/mmcblk*"
The board name and kernel location are obviously correct:
Code:
TARGET_PREBUILT_KERNEL := device/htc/fireball/kernel
TARGET_BOOTLOADER_BOARD_NAME := fireball
We can verify the kernel options using unpackbootimg and abootimg. Navigate to $INC4G and execute the following command:
Code:
unpack_image.sh recovery.img
The script will unpack the recovery image, resulting in the following files:
image_info.txt - kernel information used in BoardConfig.mk
ramdisk.gz - compressed archive of the ramdisk
unsigned.img - the same recovery image with the 256bit signature stripped so it can be read by simpler programs like abootimg
zImage - the kernel
ramdisk/ - the unpacked ramdisk
The contents of image_info.txt can be compared to the following items in BoardConfig.mk:
Code:
BOARD_KERNEL_CMDLINE := console=ttyHSL0,115200,n8 [B]androidboot.hardware=qcom[/B]
BOARD_KERNEL_BASE := 0x80400000
BOARD_KERNEL_PAGESIZE := 2048
[B]BOARD_MKBOOTIMG_ARGS := --ramdisk_offset 0x01400000[/B]
A couple differences (in bold) are obvious. androidboot.hardware=qcom lets us identify the hardware through ${ro.hardware} in init scripts. The ramdisk_offset line is calculated from the difference (as in subtraction) between the hex addresses for the ramdisk and kernel. To find the ramdisk address, run
Code:
abootimg -i unsigned.img
and take note of the load address for ramdisk (ignore the kernel address which is different than KERNEL_BASE above). Then, subtract the two:
Code:
<ramdisk address> - <kernel base> = <ramdisk offset>
0x81800000 - 0x80400000 = 0x01400000
Often times, other devices define a custom init script using TARGET_RECOVERY_INITRC. By not specifying one, we will inherit the default init script which we can supplement rather than replace.
device_fireball.mk - Link to final device_fireball.mk
It's advisable to include charging support while in recovery. This amounts to copying a few charging specific binaries and calling them as services at startup. device_fireball.mk is the best place to put file copy commands. Find the lines for the kernel copy and piggy-back PRODUCT_COPY_FILES:
Code:
PRODUCT_COPY_FILES += \
$(LOCAL_KERNEL):kernel [B]\
$(LOCAL_PATH)/recovery/init.recovery.qcom.rc:root/init.recovery.qcom.rc \
$(LOCAL_PATH)/recovery/choice_fn:recovery/root/sbin/choice_fn \
$(LOCAL_PATH)/recovery/power_test:recovery/root/sbin/power_test \
$(LOCAL_PATH)/recovery/offmode_charging:recovery/root/sbin/offmode_charging \
$(LOCAL_PATH)/recovery/detect_key:recovery/root/sbin/detect_key[/B]
Of course, we need to supply these files. Notice I have specified a new recovery sub-directory which should be created under $CMHOME/device/htc/fireball. The needed binary files are in the ramdisk directory from our earlier unpacking of the recovery image. Navigate to $INC4G/ramdisk/sbin and copy choice_fn, power_test, offmode_charging, and detect_key to $CMHOME/device/htc/fireball/recovery.
init.recovery.qcom.rc is inherited by the default init script (notice the first line). Open $INC4G/ramdisk/init.rc and copy the service definitions related to the above charging binaries to a text file. Save it as $CMHOME/device/htc/fireball/recovery/init.recovery.qcom.rc:
Code:
service choice_fn /sbin/choice_fn
oneshot
service power_test /sbin/power_test
disabled
oneshot
service offmode_charging /sbin/offmode_charging
oneshot
service detect_key /sbin/detect_key
disabled
oneshot
Notice that disabled has been removed from the offmode_charging service. This ensures the service actually gets called at startup without relying on other processes to enable it.
system.prop - Link to final system.prop
We can directly copy/paste the contents of system.prop. You should still have the extracted files from recovery.img (see just above). Open $INC4G/ramdisk/default.prop and copy everything between
Code:
#
# system.prop for surf
#
[COLOR="Red"](Copy all of this)[/COLOR]
#
# ADDITIONAL_BUILD_PROPERTIES
#
This is your system.prop.
recovery.fstab - Link to final recovery.fstab
recovery.fstab is constructed by examining two sources. First, fix-up the device paths (column 3) by examining the output of
Code:
adb shell "cat /proc/emmc"
Then, fix-up the file-system types by examining the stock recovery.fstab in $INC4G/ramdisk/system/etc/recovery.fstab. Go ahead and add the missing /devlog line as well. The storage paths from stock recovery are not consistent with those used by ClockworkMod; rename
Code:
/sdcard --> /external_sd
/internal_sdcard --> /sdcard
Finally, we should leave 16kb of unformatted space at the end of the /data partition to allow for encryption in supported ROMs. This amounts to appending the following code to the end of the data partition line:
Code:
length=-16384
In the end you should have
Code:
# mount point fstype device [device2]
/boot emmc /dev/block/mmcblk0p21
/cache ext4 /dev/block/mmcblk0p34
/data ext4 /dev/block/mmcblk0p35 length=-16384
/misc emmc /dev/block/mmcblk0p23
/recovery emmc /dev/block/mmcblk0p22
/external_sd vfat /dev/block/mmcblk1p1 /dev/block/mmcblk1
/system ext4 /dev/block/mmcblk0p33
/devlog ext4 /dev/block/mmcblk0p26
/sdcard vfat /dev/block/mmcblk0p36
Compare your work
This is enough to compile a functional recovery. Compare your device tree with this recovery-only tree and tell me I did everything wrong!
It's time to build! Navigate to $CMHOME and type:
Code:
. build/envsetup.sh
croot
lunch cm_fireball-eng
. build/tools/device/makerecoveries.sh cm_fireball-eng
Ignore the warnings about using a pre-built kernel. This is standard practice for recoveries. After compilation, reboot your phone to the bootloader and flash the recovery.img:
Code:
adb reboot-bootloader
fastboot flash recovery $CMHOME/out/target/product/fireball/recovery.img
fastboot reboot-bootloader
To clean-up:
Code:
mka clobber
After clobber, you will need to run lunch before compiling again.

Awesome job man!
Glad someone is working on this, I've been in touch with some guys that are really good with the CWM recoveries and getting the soft buttons to work seems to be a huge issue, would love to have that. Koush has it working in his touch CWM versions, perhaps he could be of assistance.

Thanks
Sent from my ADR6410LVW using Tapatalk 2

Bump for beta build! Love classic cmw

This is greatly appreciated. While TWRP is working just fine for me, I like Classic CWM - probably because I used it on my OG Dinc. I'm good with the volume/power keys to navigate.
Would you please add an MD5 to the OP for the downloaded file? I'd like to make sure it came down completely before flashing it.

Does a "back" button not exist for our phone?
Thanks for building this, I am most familiar with CWM.
Sent with my Dinc4G

DavDoc said:
Does a "back" button not exist for our phone?
Click to expand...
Click to collapse
The capacitive back/home/recent buttons do not currently work, this is a known issue. I uploaded a gesture enabled build today that gets around this problem.

Testing the gesture enabled version (cwmr-touch-6.0.2.7-fireball-beta1.2) now. So far so good.
Flashed the recovery without any issues
I started with the "classic" vol-up/vol-down/power - all working fine as per the classic method
I then tried the gesture method - very nice :good:
(Re)booted into recovery from menu without any problem
Made Nandroid backup without any problems
Appears to work well with ROM Manager Premium - it recognized the backup I just made
ROM Manager auto-scheduled Nandroid backup feature worked flawlessly! (auto scheduled reboot into recovery, auto backup, auto reboot to system)
Restored my first backup from within recovery (not ROM Manager) without any problem
I will play more with it later, but so far it is working great.:good:
Outstanding work, mdmower!
Thanks for this! I will be nice to have auto-scheduled Nandroids again

junkmail9 said:
Testing the gesture enabled version now. So far so good.
Flashed the recovery without any issues
I started with the "classic" vol-up/vol-down/power - all working fine as per the classic method
I then tried the gesture method - very nice :good:
(Re)booted into recovery from menu without any problem
Made Nandroid backup without any problems
Appears to work well with ROM Manager Premium - it recognized the backup I just made
ROM Manager auto-scheduled Nandroid backup feature worked flawlessly! (auto scheduled reboot into recovery, auto backup, auto reboot to system)
Restored my first backup from within recovery (not ROM Manager) without any problem
I will play more with it later, but so far it is working great.:good:
Outstanding work, mdmower!
Thanks for this! I will be nice to have auto-scheduled Nandroids again
Click to expand...
Click to collapse
I appreciate the extensive testing. I'll tone down the warning in the OP.

mdmower said:
I appreciate the extensive testing. I'll tone down the in the OP.
Click to expand...
Click to collapse
My pleasure
mdmower said:
There are two versions available, differentiated by their filenames
cwmr-touch: (Recommended) This is a gesture enabled build of ClockworkMod recovery. Navigation is done through swiping up/down/left/right. Volume and power navigation still work as well. This is not to be confused with ClockworkMod Touch by Koush which is closed source.
Click to expand...
Click to collapse
Maybe call yours cwmr-swipe. The swipe navigation is really nice.

junkmail9 said:
Maybe call yours cwmr-swipe. The swipe navigation is really nice.
Click to expand...
Click to collapse
That was the name I was originally going to use, but the source modifications to clockworkmod were not done by me, so I want to respect the developer's choice of name. He's been using it for a while, check out the marketplace app: CWMR Touch Installer. I don't want to put the cart before the horse, but I'm hoping to get this recovery included in the installer.

mdmower said:
That was the name I was originally going to use, but the source modifications to clockworkmod were not done by me, so I want to respect the developer's choice of name. He's been using it for a while, check out the marketplace app: CWMR Touch Installer. I don't want to put the cart before the horse, but I'm hoping to get this recovery included in the installer.
Click to expand...
Click to collapse
Its included in the installer now. Had to update the app for support so it might take an hour or so for the update to hit all the Play servers.

mdmower said:
That was the name I was originally going to use, but the source modifications to clockworkmod were not done by me, so I want to respect the developer's choice of name. He's been using it for a while, check out the marketplace app: CWMR Touch Installer. I don't want to put the cart before the horse, but I'm hoping to get this recovery included in the installer.
Click to expand...
Click to collapse
Fair enough. Regardless of what its called, it works very well
Looks like you got your wish, too:
gweedo767 said:
Its included in the installer now. Had to update the app for support so it might take an hour or so for the update to hit all the Play servers.
Click to expand...
Click to collapse
Congrats

mdmower said:
I appreciate the extensive testing. I'll tone down the warning in the OP.
Click to expand...
Click to collapse
I missed this earlier, but the backup time appears to be wrong. If possible, can this be fixed? Not a big deal though, but slightly annoying.
One nice thing about the TWRP recovery is that it uses the external SD card for backups. However, the CWM uses the internal SD for backups. Is it possible to automatically swap the internal/external SD cards and use the external for backups by default?

junkmail9 said:
I missed this earlier, but the backup time appears to be wrong. If possible, can this be fixed? Not a big deal though, but slightly annoying.
Click to expand...
Click to collapse
The time stamps do seem to be janky. In my tests:
issue backup from rom manager: filename with local timestamp but rom manager 'manage backups' reports UTC time
issue backup from cwm (started from bootloader): filename with UTC and rom manager reports UTC
This seems a little inconsistent since the rom manager initiated backup uses local time.
I'm passing word along to the CWM folks to see if this is a bug on their end (don't expect a miracle though, I don't exactly have much "reputation").
junkmail9 said:
One nice thing about the TWRP recovery is that it uses the external SD card for backups. However, the CWM uses the internal SD for backups. Is it possible to automatically swap the internal/external SD cards and use the external for backups by default?
Click to expand...
Click to collapse
ROM Manager: Settings > Use External Storage
Recovery: Backup and Restore > backup to external sdcard
These don't seem any more difficult than backing up to internal. Am I missing something?

mdmower said:
The time stamps do seem to be janky. In my tests:
issue backup from rom manager: filename with local timestamp but rom manager 'manage backups' reports UTC time
issue backup from cwm (started from bootloader): filename with UTC and rom manager reports UTC
This seems a little inconsistent since the rom manager initiated backup uses local time.
I'm passing word along to the CWM folks to see if this is a bug on their end (don't expect a miracle though, I don't exactly have much "reputation").
ROM Manager: Settings > Use External Storage
Recovery: Backup and Restore > backup to external sdcard
These don't seem any more difficult than backing up to internal. Am I missing something?
Click to expand...
Click to collapse
I'm not terribly concerned about the timestamp, as it should be consistent within itself and the latest will be obvious even if several are done during the same day.
I missed the backup to external option. The "original" CWM recovery I was remembering from my OG Dinc automatically used the external SD because it was the only option (i.e. no internal SD card). It would be nice to use the external SD Card by default if possible and back up to internal if desired.
Still very happy with this recovery so far!

Finally got around to trying this and the gestures very cool bro working well, much appreciated!
Sent from my ADR6410LVW using xda app-developers app

Any chance of this making its way to goo.im? It'll make flashing this a breeze

Linch89 said:
Any chance of this making its way to goo.im? It'll make flashing this a breeze
Click to expand...
Click to collapse
I don't really have experience with goo manager, so you can test and be my guinea pig:
GooManager: devs/mdmower/htc-fireball/recovery
They're uploaded in img format, not sure if the manager requires zip flashable recoveries. Perhaps you can let me know?
IMG installation isn't supported in CWM. Will try flashable zips later.

Related

[DEV] Custom MTD Partitions for the N1

With the advent of Blackrose custom HBOOT which gives us S-OFF, we can now resize the MTD partitions of our N1. This method is the one used by lbcoder in the Desire thread where you patch the recovery and boot in order to pass modified MTD partition information which supersedes the one provided by the SPL. Using this, I've managed to increase my userdata partition by ~50 MB by taking ~50 MB from the cache partition.
These instructions are for advanced users only. This will involve hex calculations and command line instructions that are not for the faint of heart. I don't believe it's dangerous though so anyone could still try since I will try to make these instructions as detailed as I possibly can.
What you need:
N1 with Blackrose HBOOT (I'm not sure this is needed though after I read more in-depth about the patch)
hex calculator (or a pencil & paper if you want to do it manually)
adb
fastboot
unpack-bootimg.pl
mkbootimg
recovery.img <- in my case I used ClockWorkMod 5.0.2 from here
boot.img <- taken from CM zip (in my case my KANG)
Partition Layout:
0x000003ee0000-0x000003fc0000 : "misc"
0x000004240000-0x000004640000 : "recovery"
0x000004640000-0x0000049c0000 : "boot"
0x0000049c0000-0x00000dac0000 : "system"
0x00000dac0000-0x0000139c0000 : "cache"
0x0000139c0000-0x00001fe00000 : "userdata"
Partition Sizes in Hex:
0x0000000e0000 : "misc"
0x000000400000 : "recovery"
0x000000380000 : "boot"
0x000009100000 : "system"
0x000005f00000 : "cache"
0x00000c440000 : "userdata"
Step-by-step Instructions:
A>Backup your current system: (OPTIONAL)
*I'm assuming you're using CWM 5.0.2 for the backup step since I tried using 3.X and the restore didn't work
1.) Boot your N1 into recovery using either adb reboot recovery or through the bootloader
2.) Backup your current system (I'm going to assume you know how to use your recovery for this)
B>Calculate new MTD parameter values:
*For this example I'm going to transfer ~50MB of cache space to my userdata partition:
1.) Since I know the cache partition is ~100MB in size, I'll just divide the hex size in 2:
0x5f00000 / 2 = 0x2f80000 <= this will be our new cache size
**Note that there is a minimum of 0x20000 (128k) for a partition and the size must be divisible by it which is why I'm playing safe and just dividing the original number in order to get an easier value for this example.
2.) Add the new cache partition size to the original cache partition starting address to get the new starting address of the userdata partition:
0xdac0000 + 0x2f80000 = 0x10a40000 <= this will be the new starting address for userdata
3.) Get the new userdata size by subtracting the new starting address of userdata with the ending address:
0x1fe00000 - 0x10a40000 = 0xf3c0000 <= this will be the new userdata size
C>Create a new recovery.img file which uses the new values:
1.) Breakdown the recovery.img file into it's kernel and ramdisk components using unpack-bootimg.pl:
.\unpack-bootimg.pl recovery.img
*This will yield 2 files and 1 directory. You can delete the directory since we only need the files.
2.) Rename the kernel from the recovery.img-kernel.gz made from unpack-bootimg.pl to recovery.img-kernel.
3.) Create the recovery-new.img file using mkbootimg with the new MTD command embedded:
mkbootimg --cmdline 'no_console_suspend=1 console=null mtdparts=msm_nand:[email protected](misc),[email protected](recovery),[email protected](boot),[email protected](system),[email protected](cache),[email protected](userdata)' --kernel recovery.img-kernel --ramdisk recovery.img-ramdisk.cpio.gz -o recovery-new.img --base 0x20000000
*Note that the values for cache starting address, userdata starting address and userdata size have been changed to the newly calculated values in the previous step.
**This will yield recovery-new.img which will be used in the next steps.
D>Create a new boot.img file which uses the new values:
1.) Breakdown the boot.img file into it's kernel and ramdisk components using unpack-bootimg.pl:
.\unpack-bootimg.pl boot.img
*This will yield 2 files and 1 directory. You can delete the directory since we only need the files.
2.) Rename the kernel from the boot.img-kernel.gz made from unpack-bootimg.pl to boot.img-kernel.
3.) Create the boot-new.img file using mkbootimg with the new MTD command embedded:
mkbootimg --cmdline 'no_console_suspend=1 wire.search_count=5 mtdparts=msm_nand:[email protected](misc),[email protected](recovery),[email protected](boot),[email protected](system),[email protected](cache),[email protected](userdata)' --kernel boot.img-kernel --ramdisk boot.img-ramdisk.cpio.gz -o boot-new.img --base 0x20000000
*Note that the values for cache starting address, userdata starting address and userdata size have been changed to the newly calculated values in the previous step.
**This will yield boot-new.img which will be used in the next steps.
E>Flash the recovery-new.img:
1.) Boot into bootloader and use fastboot command to flash the new recovery:
fastboot flash recovery recovery-new.img
F>Make system operational:
1.) Boot into recovery mode.
2.) Erase everything (factory reset)
3.) Either:
- Flash the ROM you took the original boot.img from OR
- Restore the backup you made previously (this only works (or has been tested) on CWM 5.0.2)
4.) DO NOT REBOOT YET!!!
G>Flash modified boot.img:
1.) Use adb to reboot to bootloader directly from recovery: (this is for safety since if you boot from an unmodified boot.img you'll have to start from F again.
adb reboot bootloader
2.) Use fastboot to flash the new boot image:
fastboot flash boot boot-new.img
3.) You may restart normally.
For those who've read this far, everything above has been rendered obsolete! Here's an editor for the SPL itself for the partition sizes:
http://intersectraven.euroskank.com/tools/SPLHexEditor.exe
*Instructions are in dla5244's thread 2nd post.
Try it at your own risk though!
Credits:
dla5244 - for bringing S-OFF to our N1 even after a looong time since its release
Firerat - for the original patch idea
Lbcoder - for coming up with the idea in the Desire thread
Reserved!
(I'm learning to reserve now... )
2 Questions:
Is the userdata space where downloaded apps go?
why didn't you choose any other partition to transfer empty space from?
drzplaya1121 said:
2 Questions:
Is the userdata space where downloaded apps go?
why didn't you choose any other partition to transfer empty space from?
Click to expand...
Click to collapse
1.) Yes.
2.) This is a sample. If you want to transfer from system or to system from cache, this example will show you how to do so.
thank U. Now I have no need to buy a new phone because of constantly running out of memory
Does it mean that every time I flash a new kernel, the whole effort will go waste?
Also, can I use the same procedure for Amon RA recovery??
rjmohit said:
Does it mean that every time I flash a new rom (which obviously has a different boot.img), the whole effort will go waste?
Also, can I use the same procedure for Amon RA recovery??
Click to expand...
Click to collapse
For that you need to do only steps D, F and G. If you flash only a kernel which uses koush's anykernel updater, you don't need to do anything.
intersectRaven said:
For that you need to do only steps D, F and G. If you flash only a kernel which uses koush's anykernel updater, you don't need to do anything.
Click to expand...
Click to collapse
Thanks.
One more silly question
Will the following procedure work.
1. Flash any ROM.
2. Then flash the modified boot.img (which may not belong to that ROM).
3. Then optionally flash the desired kernel.
rjmohit said:
Thanks.
One more silly question
Will the following procedure work.
1. Flash any ROM.
2. Then flash the modified boot.img (which may not belong to that ROM).
3. Then optionally flash the desired kernel.
Click to expand...
Click to collapse
Yeah. That would work since you're replacing the kernel anyways. What's important is that the kernel is compatible with the ROM.
Well done IR cannot wait to resize my data partition..
Okay, I extracted the recovery.img file, now when I try to extract recovery.img-kernel.gz, it gives the following error: not in gzip format. Exactly same happens for boot.img. I tried extracting it with different extractors on windows and ubuntu, nothing worked. Pls help.
I don't like using MTD because over time you will notice lag. If your already using sd-ext then your data is basically not being used. And I believe that cache never gets past 50% usage. Just putting in my two cents
rjmohit said:
Okay, I extracted the recovery.img file, now when I try to extract recovery.img-kernel.gz, it gives the following error: not in gzip format. Exactly same happens for boot.img. I tried extracting it with different extractors on windows and ubuntu, nothing worked. Pls help.
Click to expand...
Click to collapse
That's odd. In my installation, it worked flawlessly. Were there no errors during the run of unpack?
blahbl4hblah said:
I don't like using MTD because over time you will notice lag. If your already using sd-ext then your data is basically not being used. And I believe that cache never gets past 50% usage. Just putting in my two cents
Click to expand...
Click to collapse
intersectRaven said:
That's odd. In my installation, it worked flawlessly. Were there no errors during the run of unpack?
Click to expand...
Click to collapse
Nope. No errors. :-/
rjmohit said:
Nope. No errors. :-/
Click to expand...
Click to collapse
Found the problem. It seems it was never compressed in the first place. Ark sees this and just copies the file without the .gz extension.
*Instructions edited accordingly.
I may sound a bit noobish, but I'm facing one more hindrance:
How exactly do I run the mkbootimg file in the ubuntu terminal? I mean, can you give me the exact syntax?
I was facing a similar problem with the perl script, but then I found a solution on google, but didnt find anything for the mkbootimg. Can I run it under windows cmd?
rjmohit said:
I may sound a bit noobish, but I'm facing one more hindrance:
How exactly do I run the mkbootimg file in the ubuntu terminal? I mean, can you give me the exact syntax?
I was facing a similar problem with the perl script, but then I found a solution on google, but didnt find anything for the mkbootimg. Can I run it under windows cmd?
Click to expand...
Click to collapse
I already posted the syntax in the instructions. You just need to make sure the mkbootimg file has execute permissions in order for it to run.
Updated OP with SPL editor program.
intersectRaven said:
Updated OP with SPL editor program.
Click to expand...
Click to collapse
I tried your program. Everything worked fine. Just that my /cache now shows 290 MB free, while I had resized it to 20 MB!! Is that a bug? /system & /data show proper sizes though. thanks.
rjmohit said:
I tried your program. Everything worked fine. Just that my /cache now shows 290 MB free, while I had resized it to 20 MB!! Is that a bug? /system & /data show proper sizes though. thanks.
Click to expand...
Click to collapse
Is it the display on the program or display on the Android device when booted?
Wait, I found it. It's a bug. Thanks! I'll edit it when I get home. For now, please double check the values by reopening the made file before flashing. If the values are incorrect, please DON'T FLASH!!!

[Dual-Boot SDCard | CM7.2 Source | Guides | Recovery | Stock 1.4.2 ]

Hello,
WARNING: Perform at your own risk. Do your research.
I am providing the source to compile CM7 for the Nook Tablet. I am not providing a CM7 build since Team B+ have done so. What I provide is the device and vendor contents, kernel, and kernel configuration file, ramdisk, and boot image. You will need to compile your own CM7. This will give you a more updated CM7 with latest update.
My source is primary based on Whistlestop source, but I’ve used bits and pieces from other sources like Nook Color and LG P925.
My goal was to build CM7 for the Nook Tablet as a learning experience. I have always used rom created by other people because I am not a developer. I did my research and learned to build my own CM7. I find that building your own rom is more satisfying and I think everyone should try it at least once. It will require a lot of time and some learning, but it will be special in the end.
More info are on my blog.
New Source for CM7, compile your own CM7.2 RC1
https://github.com/succulent/android_device_bn_acclaim
https://github.com/succulent/android_vendor_bn_acclaim
Recovery sdcard, Flashable Recovery, Unbrick files
https://github.com/succulent/acclaim_recovery_sdcard
Mediefire Nook Tablet Folder
http://www.mediafire.com/?eidcug5a7en8r
Dual boot (CM7/CM9)
- Instruction here (My blog)
- Includes files for single/dual-boot sdcard
- Boot to CM7/CM9 from sdcard with fattire's cyanoboot
- Roms not included
- Please don't post iso/img/prebuilt sdcard of this
- http://www.youtube.com/watch?v=x6syVkhPQaM
- Mockup pic
{
"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"
}
flash_recovery.zip (use recovery to flash it. no more sdcard recovery)
- Hold Power & "n button" down until the device turns on and off again.
- Then press Power to turn the device on normally and access the recovery.
- You can also boot to recovery by issuing command "reboot recovery" in adb or terminal
flash_stock_recovery.zip (use recovery to flash it, restore stock recovery)
flash_u-boot_and_MLO.zip (use it to restore bootloader and xloader)
- Flash this if all you get is a black screen (no 'n' logo screen) when turning your Nook Tablet on.
flash_stock_1.4.2.zip (use it to restore to stock 1.4.2)
- After restart, it will take up to a couple minutes to setup data and system folder.
- It'll be up to a couple of minutes before the setup screen shows up.
- This is virgin stock rom, no root, no added apps, etc.
- This rom will wipe your user data and cache so you don't have to. BACKUP beforehand.
flash-restore-stock.zip (use it to restore partition 1-6)
- Only use this as last measure. Meaning only if you formatted rom (p5) and bootdata (p6).
- You will need to install flash_stock_1.4.2.zip afterward or a CM7 rom.
- To get your serial number back, you need to perform factory restore (8 failed boot method)
- The one that prompt,
Clearing data…
A reset is being performed.
This may take a few minutes
What’s not working:
-Mic in Talking Cat/Dog apps. I can get the mic working but no audio so I choose audio but no mic.
-Can't get mic to work same time as speaker.
-XX and X. You tell me.
Notes:
- DO NOT FORMAT ANY PARTITIONS, ONLY USE WIPE DATA/FACTORY RESET
- Use the forum search.
- First time booting, you will see a long delay black (old)/2 android guys (new) screen until the android skate by.
- To remount sdcard, go to settings/storage and mount your sdcard manually or reinsert your sdcard.
- When restoring with Titanium Backup, restore manually the apps and data. You do not want old stuff getting restore and causing problem.
- HW Decoding is limited to 3GP, 3G2, MP4, M4V, MKV, WEBM, H.264 (Baseline/Main/High profile) up to 1920x1080, MPEG-4 Simple/Advanced Simple profile up to 1920x1080, & H.263
- Got Wifi problem, do Wifi calibration to see if it fixes it.
- If your Nook Tablet go to sleep and never wake up, plug the USB power cable in and hold the power button for 30 seconds, release and repeat.
- Got an extra Nook Tablet? Donate it to fattire so he can help getting ICS on Nook Tablet faster.
- Screen goes crazy? Is it low on battery? Plugged in the USB power cable in.
- What different in this CM7 build and Team B? Nothing much, we shared ideas.
- There will be random problems.
- RC stand for release candidate. Latest for NT is RC1
- If your sdcard doesn't mount after reboot, take your sdcard out and put it back in and wait a few seconds for it to automount
OLD SOURCE Mirrors:
http://d01.megashares.com/index.php?d01=oAajznB
http://www.mediafire.com/?96fa3zx95xiebeg
https://www.rapidshare.com/files/4067595392/Nook-Tablet.zip
http://depositfiles.com/files/k655wvhtc
http://www.wupload.com/file/2675371217
Extras in Old Source:
.config – kernel configuration file
boot.img – prebuilt boot image with modified u-boot from bauwks
irboot.img – the modified u-boot needed to concatenate to custom boot.img
zImage – prebuilt kernel with cifs, tun, and nfs modules built in and other stuffs.
Credits:
Bauwks for his exploit in 2nd boot.
Team B+ (Goncezilla, CelticWebs, Indirect) for furthering Nook Tablet development.
Whistlestop and JackpotClavin from Kindle Fire development for the device and vendor source.
Fattire, Nemith, and Dalingrin for CWM, and works on Nook Color and Nook Tablet development.
Koush, Cyanogenmod and XDA for home to many great developers.
CM7.2 RC1 with Nexus S modified build.prop
HD (succulent)
Need help?
Post questions here.
How to pack Nook Tablet (16gb) boot.img on Windows 7.
http://www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows
- Download and install Cygwin,
http://www.freeyourandroid.com/guide/installing-cygwin-windows
- Download packboot.zip and extract contents to C:\cygwin\packboot
- http://mir.cr/1BTTGZ0V
- Open Cygwin.bat, located in C:\cygwin
- In the command box, type
$ cd c:/cygwin/packboot
$ ./packboot
- Your new boot.img is newboot.img.
Notes:
- If you want to make an 8gb version newboot.img, replace the boot.img with a backup of 8gb version.
- You can change the ramdisk in the folder “c:/cygwin/out/ramdisk”
- You can replace the kernel, “zImage”.
- You can replace the irboot.img with one that you make, the one included support both 8gb/16gb.
How to compile CM7
Install VirtualBox and Ubuntu with at least 20GB.
Install the Build Packages
Install using the package manager of your choice:
For 32-bit & 64-bit systems:
$ apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
For 64-bit only systems:
$ apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04 64-bit, but should still build without issue.
NOTE: On Ubuntu 10.10, and variants, you need to enable the parter repository to install sun-java6-jdk:
$ add-apt-repository "deb http://archive.canonical.com/ maverick partner"
Create the Directories
You will need to set up some directories in your build environment.
To create them:
$ mkdir -p ~/bin
$ mkdir -p ~/android/system
Install the Repository
Enter the following to download make executable the "repo" binary:
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
NOTE: You may need to reboot for these changes to take effect.
Now enter the following to initialize the repository:
$ cd ~/android/system/
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
If you don't want to download unnecessary device projects, open .repo/manifest.xml. Remove devices between device/common and external/alsa-lib.
<project path="device/common" name="CyanogenMod/android_device_common" />
- delete devices -
<project path="external/alsa-lib" name="CyanogenMod/android_external_alsa-lib" />
$ repo sync
NOTE: This step takes a long time, depending on your internet speed. It will download several gigabytes of data. I recommend that you have a lot of hard drive space.
Copy device and vendor folder from Nook-Tablet to ~/android/system/
$ mkdir device/bn
$ mkdir device/bn/acclaim
$ git clone https://github.com/succulent/android_device_bn_acclaim
$ mv android_device_bn_acclaim device/bn/acclaim
$ mkdir vendor/bn
$ mkdir vendor/bn/acclaim
$ git clone https://github.com/succulent/android_vendor_bn_acclaim
$ mv android_vendor_bn_acclaim vendor/bn/acclaim
$ /vendor/cyanogen/./get-rommanager
$ make clean
Configure Build & Compile
$ . build/envsetup.sh && brunch acclaim
NOTE: This step takes a long time, time vary depend on your computer processing power.
Copy your .zip file from ~/out/target/product/acclaim/update.cm-XXXXX-signed.zip to the root of the SD card.
Your rom will contain recovery, MLO and U-boot.bin. (Only with new source)
Replace the boot.img in the .zip file with one in Nook-Tablet. (Only with old source)
Replace updater-script in the .zip file with one in Nook-Tablet. updater-scripte is in /META-INF/com/google/android/. (Only with old source)
Flash .zip files from recovery. Wipe data/factory reset.
References:
Fattire's CM9 for NookColor Build Instructions
https://docs.google.com/document/d/19f7Z1rxJHa5grNlNFSkh7hQ0LmDOuPdKMQUg8HFiyzs/edit?pli=1
Barnes & Noble Nook Color: Compile CyanogenMod (Linux)
http://wiki.cyanogenmod.com/wiki/Barnes_&_Noble_Nook_Color:_Compile_CyanogenMod_(Linux)
Excellent!
Excellent tutorial!! I'll try it out soon!
I had a few queries; how did team B enable hardware acceleration? I mean, what files were modified? Are these files included in your zip or they're built while compiling? Or are they kernel related?
Moreover, I am also keen on learning to build kernels, but I wanna do that after I finish learning everything in CM7 building. So, if you have any idea about it, members here would be pleased if you post a tutorial for that also.
Thanks once again for this tutorial!
Thank you very much succulent for the kernel.
Can I use it for my MIUI rom?
(post deleted)
rjmohit said:
Excellent tutorial!! I'll try it out soon!
I had a few queries; how did team B enable hardware acceleration? I mean, what files were modified? Are these files included in your zip or they're built while compiling? Or are they kernel related?
Moreover, I am also keen on learning to build kernels, but I wanna do that after I finish learning everything in CM7 building. So, if you have any idea about it, members here would be pleased if you post a tutorial for that also.
Thanks once again for this tutorial!
Click to expand...
Click to collapse
They just built it from source, I believe. Mixing the B&N source with cm7 broke it, and using a full cm7 source fixed it (unless I'm mistaken)
Sent from my Nook Tablet using XDA
Also, give me a week and I'll post my kernel guide here. Im going to cover both anykernel and normal update.zip for the tab.
Sent from my Nook Tablet using XDA
cobrato said:
Thank you very much succulent for the kernel.
Can I use it for my MIUI rom?
Click to expand...
Click to collapse
Sure. For your information, if you use my kernel, you need to use the wifi contents in the vendor/../wifi folder or else your wifi won't work. Else, you can compile your own wifi modules. Modules depend on kernel version.
succulent said:
Sure. For your information, if you use my kernel, you need to use the wifi contents in the vendor/../wifi folder or else your wifi won't work. Else, you can compile your own wifi modules. Modules depend on kernel version.
Click to expand...
Click to collapse
Thanks. I use stock wifi modules (1.4.1) and they work perfect
Why this kernel cannot flash wih TEAM-B+ ROM?
I try compiled a kernel of NT official source code with NFS support and it crashed with TEAM-B+ ROM.
highfly22 said:
Why this kernel cannot flash wih TEAM-B+ ROM?
I try compiled a kernel of NT official source code with NFS support and it crashed with TEAM-B+ ROM.
Click to expand...
Click to collapse
Need more information in your post.
The reason you don't use this kernel with Team-B rom is that the kernel version numbering is different, although you can change it in the Makefile to match Team-B kernel version. The ramdisk is also different. It'll have effects on the rom like no wifi or won’t boot.
Simply compiling the kernel and sticking it to a boot.img will not work; hence, I put my way of making boot.img in the second post. You need attach bauwks second u-boot to your boot.img if you do it manually. Since I have a different ramdisk than Team-B rom, you need to wipe your cache.
YES! Got it working, I was able to boot a boot.img & recovery.img using my own kernel by following this tutorial. But, some problems I added extra file to the recovery.img /sbin folder (genptable, simg2img, make_ext4fs mkdosfs from my unbrick tools) and they show up and run correctly but the whole input stuff is broken, the tablet behaves as if the volume keys are always pressed and the bar is always moving the n key is not able to select any menu option. Any pointers on how to fix this?
PS
Here is my recovery.img if you want to test http://dl.dropbox.com/u/64885133/recovery.img
and my build script
Code:
cd /mnt/scratch/src/distro/kernel/android-2.6.35
export DST=/mnt/scratch/cm7src/out/target/product/acclaim
export ARCH=arm
export CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-linux-gnueabi-
export BOARD_KERNEL_CMDLINE="androidboot.console=ttyO0 console=ttyO0,115200n8 [email protected] [email protected] [email protected] init=/init rootwait vram=32M,9CC00000 omapfb.vram=0:[email protected]"
export KERNEL_DIR=/mnt/scratch/src/distro/kernel/android-2.6.35
make mrproper
make android_4430BN_defconfig
cat fs-conf >> .config
make oldconfig
make -j4 zImage
make -j4 modules
cp -a arch/arm/boot/zImage $DST/kernel
cp -a drivers/media/video/omapgfx/gfx_vout_mod.o $DST/system/etc/
cd /mnt/scratch/src/mydroid/hardware/ti/wlan/wl1283/platforms/os/linux
make clean
make TNETW=1273
cp -a tiwlan_drv.ko $DST/system/etc/
cd ../../../../wl1283_softAP/platforms/os/linux/
make clean
make TNETW=1273
cp -a tiap_drv.ko $DST/system/etc/wifi/softap
cd /mnt/scratch/src/mydroid/hardware/ti/wlan/wl1283/firmware
cp -a firmware.bin tiwlan.ini.activemode wlan_cu.st $DST/system/etc/
cd /mnt/scratch/src/distro/android/fwram
make clean
make
cp -a fwram.ko $DST/system/etc/
cd /mnt/scratch/src
and this is my fs-conf (Since I use fedora, I mostly use their style of generating kernel configs)
Code:
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_AFS_FS is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_SMB_FS is not set
CONFIG_NLS_UTF8=y
CONFIG_SLOW_WORK=y
# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_CIFS=y
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
CONFIG_CIFS_XATTR=y
CONFIG_EXPORTFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
# CONFIG_ROOT_NFS is not set
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_TUN=y
CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_DM_CRYPT=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_SNAPSHOT is not set
CONFIG_DM_UEVENT=y
# CONFIG_DM_ZERO is not set
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
meghd00t said:
YES! Got it working, I was able to boot a boot.img & recovery.img using my own kernel by following this tutorial. But, some problems I added extra file to the recovery.img /sbin folder (genptable, simg2img, make_ext4fs mkdosfs from my unbrick tools) and they show up and run correctly but the whole input stuff is broken, the tablet behaves as if the volume keys are always pressed and the bar is always moving the n key is not able to select any menu option. Any pointers on how to fix this?
Click to expand...
Click to collapse
Good job!
You can add this to the acclaim.mk,
Code:
PRODUCT_PACKAGES += \
make_ext4fs \
setup_fs \
PRODUCT_PACKAGES := \
make_ext4fs \
For the recovery part, I didn't test it because we already have recovery tools made by others here. Sorry about that. In the recovery folder, there is a recovery ui file, you can edit it. It's the same one from Whistlestop’s KF device, so the keys might be off. The Nook Color recovery ui file is,
Code:
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <linux/input.h>
#include "recovery_ui.h"
#include "common.h"
#include "extendedcommands.h"
char* MENU_HEADERS[] = { NULL };
char* MENU_ITEMS[] = { "reboot system now",
"apply update from sdcard",
"wipe data/factory reset",
"wipe cache partition",
"install zip from sdcard",
"backup and restore",
"mounts and storage",
"advanced",
NULL };
int device_recovery_start() {
return 0;
}
int device_toggle_display(volatile char* key_pressed, int key_code) {
int alt = key_pressed[KEY_LEFTALT] || key_pressed[KEY_RIGHTALT];
if (alt && key_code == KEY_L)
return 1;
// allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
if (ui_get_showing_back_button()) {
return get_allow_toggle_display() && (key_code == KEY_MENU || key_code == KEY_END);
}
return get_allow_toggle_display() && (key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
}
int device_reboot_now(volatile char* key_pressed, int key_code) {
return 0;
}
int device_handle_key(int key_code, int visible) {
if (visible) {
switch (key_code) {
case KEY_CAPSLOCK:
case KEY_VOLUMEDOWN:
return HIGHLIGHT_DOWN;
case KEY_LEFTSHIFT:
case KEY_VOLUMEUP:
return HIGHLIGHT_UP;
case KEY_POWER:
if (ui_get_showing_back_button()) {
return SELECT_ITEM;
}
if (!get_allow_toggle_display())
return GO_BACK;
break;
case KEY_HOME:
case KEY_LEFTBRACE:
case KEY_ENTER:
case BTN_MOUSE:
case KEY_CENTER:
case KEY_CAMERA:
case KEY_F21:
case KEY_SEND:
return SELECT_ITEM;
case KEY_END:
case KEY_BACKSPACE:
case KEY_BACK:
if (!get_allow_toggle_display())
return GO_BACK;
}
}
return NO_ACTION;
}
int device_perform_action(int which) {
return which;
}
int device_wipe_data() {
return 0;
}
One more thing,
I think fattire/dalingrin added postrecoveryboot.sh to the recovery folder to clear the boot count so your NT doesn’t reset itself.
postrecoveryboot.sh, I’ve added bootdata partition which is where the boot count is on NT. Boot count might also be on rom partition, I don’t know.
Code:
#!/sbin/sh
# Resets the boot counter and the bcb instructions
mkdir /rom
mount /dev/block/mmcblk0p5 /rom
mkdir /bootdata
mount /dev/block/mmcblk0p6 /bootdata
# Zero out the boot counter
dd if=/dev/zero of=/rom/devconf/BootCnt bs=1 count=4
dd if=/dev/zero of=/bootdata/BootCnt bs=1 count=4
# Reset the bootloader control block (bcb) file
dd if=/dev/zero of=/rom/bcb bs=1 count=1088
dd if=/dev/zero of=/bootdata/BCB bs=1 count=1088
umount /rom
rmdir /rom
umount /bootdata
rmdir /bootdata
You will also have to add this to the AndroidBoard.mk,
Code:
file := $(TARGET_RECOVERY_ROOT_OUT)/sbin/postrecoveryboot.sh
ALL_PREBUILT += $(file)
$(file) : $(LOCAL_PATH)/recovery/postrecoveryboot.sh | $(ACP)
$(transform-prebuilt-to-target)
Ok, Thanks for all that info, I will try all this and report back tomorrow.
Is there any easy way to build static native c or c++ code for android ndk is complicated I gave up and built on fedora arm (hacked up really) but now I have gdisk and sgdisk!!
How do I contribute these binaries back to clockwork mod to replace the ancient and buggy parted that lives inside clockworkmod?
Are there any plans to make a kernel compatible with Team B+ CM7 ROM? This would be similar to what was done in the Nook Color world with dalingrin's OC'ed kernel.
Ok I worked a bit on that pointer, got myself a working cwm, and Here are the results http://dl.dropbox.com/u/64885133/myrecovery.zip
and attached is the diff from your sources, I have left out the binary files you can fine then in other posts here.
Thank you for the inspiration.
I have a complete cm7 locally built and with a fully functional recovery, which is actually proving useful in unbricking and fixing partition table issues
As you dot seem to have a proper github repo here is a zip containing my changes to your file.
Once again thank you.
http://dl.dropbox.com/u/64885133/cm7stuff/meghd00t-cm7-mods-src.zip
I will post my updated source on github later this week. I have one small coding that need to be fix and I am not even a coder.
I didn't post my rom on xda because I wanted people to learn to compile their own rom. Fattire did similar thing with cm9 on Nook Color forum. Plus, Team-B had first dib on CM7. I rather not post similar rom. However, if you Google, you might find it.
I know I saw your art and was blown away! 3 years ago when I got this PC I went and got the W700, at that time there was no driver for the built in Wacom and I wasted my time waiting, then I got tired and made a patch and pushed it upstream all this took another 15 months. Now I actually have a working wacom on the laptop but I hardly ever use it!
If you let me know what is bugging you I could take a look, maybe I know something.
thanks once more for sharing!
Ok, I got everything updated and uploaded to github.
https://github.com/succulent/android_device_bn_acclaim
https://github.com/succulent/android_vendor_bn_acclaim
https://github.com/succulent/acclaim_recovery_sdcard
Enjoy compiling your own rom.

[TOOL] MTD-Utils

Here, i've quickly compiled three MTD utils ( git://git.infradead.org/mtd-utils.git ):
nanddump, nandwrite, flash_erase
So far tested nanddump - works , i was wandering what's inside
--
mtd3: 00040000 00020000 "LogFilter"
mtd4: 00300000 00020000 "oem_log"
--
Nothing interesting, actually.
--
nandwrite should enable you to write boot, recovery, system and firstboot right from android system (i don't think that it's good idea, but anyway).
--
Readme:
MTD-Utils 1.5
Please use with extreme caution!
--
Streak 5, dump example for recovery:
./nanddump /dev/mtd/mtd1 -f /sdcard/mtd1
--
Our layout:
cat /proc/mtd
dev: size erasesize name
mtd0: 00500000 00020000 "boot"
mtd1: 00600000 00020000 "recovery"
mtd2: 00600000 00020000 "recovery_bak"
mtd3: 00040000 00020000 "LogFilter"
mtd4: 00300000 00020000 "oem_log"
mtd5: 00100000 00020000 "splash"
mtd6: 10400000 00020000 "system"
mtd7: 08c00000 00020000 "userdata"
--
Have fun,
Sergei (_n0p_)
(tools attached)
--
I was able to switch recovery on the fly, having /sdcard/CWM.img (CWM port by TheManii) and /sdcard/SM.img (Old and trusty StreakMod):
/system/xbin/flash_erase /dev/mtd/mtd1 0 0
/system/xbin/nandwrite /dev/mtd/mtd1 /sdcard/CWM.img
Reboot, checked if works - it does
Back to StreakMod:
/system/xbin/flash_erase /dev/mtd/mtd1 0 0
/system/xbin/nandwrite /dev/mtd/mtd1 /sdcard/SM.img
Changelog:
Added flash_erase
can you please guide how to flash this
should i flash this in streakmod recovery and will it wipe my current streakmod with cwm recovery ?
This zip pack should not be flashed.
This tools can operate on (at least) Streak NAND flash partitions, i.e. read, erase, write.
It contains three android binaries - you should extract them and place, preferably, into /system/xbin
Change permissions on al this files to 755 - like:
chmod 755 nanddump
Now, you should be able to flash boot(kernel) and recovery right from working Android system.
I've given an example in first post.
hunderteins, if you reading this - would you give mtd5 from your device?
I have it empty and wander what image format it should have.
Where is AMSS, DSP and stuff?
What do we have on NAND (my comments are in italic):
I/PrintK ( 1): <5>Creating 8 MTD partitions on "msm_nand":
54MB hole
I/PrintK ( 1): <5>0x000003600000-0x000003b00000 : "boot"
I/PrintK ( 1): <5>0x000003b00000-0x000004100000 : "recovery"
I/PrintK ( 1): <5>0x000004100000-0x000004700000 : "recovery_bak"
I/PrintK ( 1): <5>0x000004700000-0x000004740000 : "LogFilter"
I/PrintK ( 1): <5>0x000004740000-0x000004a40000 : "oem_log"
1MB hole
I/PrintK ( 1): <5>0x000004b40000-0x000004c40000 : "splash"
35MB hole
I/PrintK ( 1): <5>0x000007000000-0x000017400000 : "system"
I/PrintK ( 1): <5>0x000017400000-0x000030000000 : "userdata" (should be 0x000020000000)
W/PrintK ( 1): <4>mtd: partition "userdata" extends beyond the end of device "msm_nand" -- size truncated to 0x8c00000
According to this article:
http://forum.xda-developers.com/showthread.php?t=542688
this areas can be regained and hmmm, altered?
AMSS, DSP, service tag, provider lock and some other interesting stuff could be there!
_n0p_ said:
hunderteins, if you reading this - would you give mtd5 from your device?
I have it empty and wander what image format it should have.
Click to expand...
Click to collapse
nice one. Thanks. But my mtd5 is 1048576 times 0xff.
What is the difference between
$ cat /dev/mtd/mtd5 > /sdcard/mtd5
and
$ nanddump /dev/mtd/mtd5 -f /sdcard/mtd5
?
hunderteins said:
nice one. Thanks. But my mtd5 is 1048576 times 0xff.
What is the difference between
$ cat /dev/mtd/mtd5 > /sdcard/mtd5
and
$ nanddump /dev/mtd/mtd5 -f /sdcard/mtd5
?
Click to expand...
Click to collapse
Well, it seems that nothing, but this makes me feel dumber than usual
I didn't try cat :laugh:
flash_image should be the built in way of writing to mtd and raw emmc partitions, though we rarely ever discuss flash_image
try reading the raw nand at the beginning of it, thats where its stored on emmc devices, and there is unmapped space in the beginning
54mb should be approx enough shouldnt it? (not at pc to verify file sizes of the firmwares)
you could compare to the spro's map i guess, its an emmc device, but not a qisda one.
if i had the mapping for the "streak2 5" that would be the best to compare to, but i dont
is there any way to verify the mem locations are correct? i have the exact emmc layout for the s7/s10 because nvflash provides it if asked.
but there is no standardized tool for qualcomm chips, ill assume they're correct
also: at least on filesystems you should use dd and not cat for the fact that cat drops the final byte or something to that degree.
i dont recall if it applies to yaffs2 but it should for ext, it shouldnt matter for raw mtd partitions
hmmm iam still confused need to wait more to know this all
TheManii said:
flash_image should be the built in way of writing to mtd and raw emmc partitions, though we rarely ever discuss flash_image
try reading the raw nand at the beginning of it, thats where its stored on emmc devices, and there is unmapped space in the beginning
54mb should be approx enough shouldnt it? (not at pc to verify file sizes of the firmwares)
Click to expand...
Click to collapse
You see, tools operate on logical partition level (i think flash_image is a userspace tool that uses mtd partitions, same as mtd-utils).
And kernel doesn't provide a raw device for NAND (i'd love to be wrong though).
I'll try tomorrow to supply kernel an MTD table via mtdparts parameter and check ow it goes.
TheManii said:
flash_image should be the built in way of writing to mtd and raw emmc partitions, though we rarely ever discuss flash_image
also: at least on filesystems you should use dd and not cat for the fact that cat drops the final byte or something to that degree.
i dont recall if it applies to yaffs2 but it should for ext, it shouldnt matter for raw mtd partitions
Click to expand...
Click to collapse
mtd devices are character devices, dd works only on block devices.
I thought apply_patch is the first choice for writing into mtd from the commandline.
there should be a kernel option near mtd in menuconfig where you can setup the mtd-layout manually on the kernel commandline. Thats where I would tinker, when I wouldn't trust atag.
Yes, " Command line partition table parsing" enabled in kernel.
Also, MTD seems to have enabled char read/write access, that makes MTD-Utils a bit obsolete
OK, i'll report if i'll find something interesting.
$ dumpatags /proc/atags
read 412 bytes from /proc/atags in buffer of size 10000
0000 - 0002:54410001 ATAG CORE flags=00000004 pagesize=54420005 rootdev=21000000
0008 - 0004:54420005 ATAG INITRD2 start=21000000 size=0002b4d3
0024 - 0004:54410002 ATAG MEM size=0e800000 start=20000000
0040 - 0004:54410002 ATAG MEM size=0fe00000 start=30000000
0056 - 0058:4d534d70unknown tag
0288 - 0022:54410009 ATAG CMDLINE androidboot.hardware=streak console=ttyMSM2,115200n8 androidboot.baseband=msm
0376 - 0004:afd137cbunknown tag
0392 - 0003:54410007 ATAG REVISION revision=00000016
AMSS MTD partition:
Offset: 0x6C0000, Size: 0x1360000
DSP MTD partition:
Offset: 0x1A80000, Size: 0x1060000
--
Service Tag resides in area starting on 0x360000
--
AppsBoot:
Offset: 0x1A20000, Size: 0x60000
dbl:
Offset: 0x200, Size: 0x1E000
DT:
Offset: 0x620000, Size: 0xA0000
--
Unsure of fsbl and osbl - seems like it's data intermixed with bad blocks on my device.
--
Block from 0x4c40000 contains somewhat altered amss and dsp (maybe something else).
StreakMod recovery.
Kind of side-effect from my test:
StreakMod with replaced kernel (Phoenix, +rotated matrix).
http://n0p.8bit.fm/streak/smd.img
Works in portrait mode (interesting, looks like out matrix was rotated in kernel for 270 in kernel)., no it's different static surface flinger.
Could you make a dump of dt? (and which version of DT you have)
DT obviously isnt straight flashed during a stock update, wonder how it's transformed on install.
I believe it's 407.
http://n0p.8bit.fm/streak/DT.zip (zipped just for integrity)
Which kernel was it that you modded for this? (I mean the exact revision), did you upload it?
I'm keen on dumping everything and attempting to do a write up on it.
I've done a device fixing guide for the S7:
[Guide][Technical]Restoring your device specific data (including Service Tag)
Context: someone uploaded an nvflash dump that also included their device specific data (imei, service tag, etc)
and dozens of people ended up with cloned devices because they blindly flashed it without understanding nvflash.
I would like to do a feasability study to see if it would be possible to restore jtagged S5's (ie ones with blanked IMEI, service tags)
I'd need multiple dumps to compare the unique data, very least we'd be able to learn a thing or three.
I'm guessing that JTAG was always able to access these sections of the nand, and that they were writing bad data to it during restore
(as the jtaggers didnt have a good copy from a working s5?)
Your DT dump is definitely different from the raw DT.img, 366 and 407's DT only differ in their dates, they're more or less byte identical.
It's likely due to DT being "installed" and not mere "extracted" (ie DT_update on stock update)
It's simply a kernel parameters, altering mtd partitions - and you can take them from smd.img I published earlier. There's three unkX partitions mapped to holes in nand layout.
Or I can build a cm7 kernel with this options.
--
Seems like contents or mtd partitions are crc checksummed. Anyway, having full amss and dsp dump should enable us to write'em right on rom flashing and that's good.
For the actual firmware files, it's not important as I'm mainly interested in analyzing the device unique data.
I dont believe the unique data has any checksums, as devices can still boot with blank IMEIs and service tags,
unless it also just so happens that they took that one instance into account.
The S7's data definitely isnt checksummed, but it's a rather different platform.

[Q&A] [GUIDE] How to build CWM-based Recovery from source in Ubuntu 12.04 with CM-11

[Q&A] [GUIDE] How to build CWM-based Recovery from source in Ubuntu 12.04 with CM-11
Q&A for [GUIDE] How to build CWM-based Recovery from source in Ubuntu 12.04 with CM-11.0
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [GUIDE] How to build CWM-based Recovery from source in Ubuntu 12.04 with CM-11.0. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
My phone has 16mb recovery part but the recovery.img I made is 25 mb so I can't flash it In BoardConfig.mk, I can wrote at least 24.936.448 at the line of BOARD_RECOVERYIMAGE_SIZE to compile the recovery image. How can I solve this problem? Can I reduce the size of the .img file to 16 mb?
denizyildizi345 said:
My phone has 16mb recovery part but the recovery.img I made is 25 mb so I can't flash it In BoardConfig.mk, I can wrote at least 24.936.448 at the line of BOARD_RECOVERYIMAGE_SIZE to compile the recovery image. How can I solve this problem? Can I reduce the size of the .img file to 16 mb?
Click to expand...
Click to collapse
I don't understand how you ended up with such a big recovery... The biggest ramdisk I saw (in TWRP) is not more than 4-5 Mb. Do you have a kernel over 20Mb? It can't be, otherwise the stock recovery will be oversized too. Somewhere you made a mistake probably.
And to answer your question, no you can't reduce the size of recovery that big; if you have a kernel compressed in xz, you may try to compress the ramdisk in xz too, and the size will be smaller, but not enough... you need to downsize it with 9Mb, which is not possible.
So check again, to see if there isn't a mistake somewhere.
carliv said:
I don't understand how you ended up with such a big recovery... The biggest ramdisk I saw (in TWRP) is not more than 4-5 Mb. Do you have a kernel over 20Mb? It can't be, otherwise the stock recovery will be oversized too. Somewhere you made a mistake probably.
And to answer your question, no you can't reduce the size of recovery that big; if you have a kernel compressed in xz, you may try to compress the ramdisk in xz too, and the size will be smaller, but not enough... you need to downsize it with 9Mb, which is not possible.
So check again, to see if there isn't a mistake somewhere.
Click to expand...
Click to collapse
I took a screenshot of my CM11-0/out/target/product/msm8226/root folder which is 25 mb. There is a boot.img file. I think the problem is that file. I unpacked a few recovery.img files but none of them included that file. If problem is this, how can I remove that file from my ramdisk?
I removed that file and flashed new recovery.img but now my phone isn't booting in recovery mode.
denizyildizi345 said:
I took a screenshot of my CM11-0/out/target/product/msm8226/root folder which is 25 mb. There is a boot.img file. I think the problem is that file. I unpacked a few recovery.img files but none of them included that file. If problem is this, how can I remove that file from my ramdisk?
I removed that file and flashed new recovery.img but now my phone isn't booting in recovery mode.
Click to expand...
Click to collapse
No, for checking recovery root you need to look here: CM11-0/out/target/product/msm8226/recovery/root . But anyway that folder looks strange (I see a perl script there)....
Check my screenshot below.
And type a
Code:
make clobber
before stating a new build, or
Code:
make clean
between repetitive builds.
im getting this error each time i try to compile:
make: *** No rule to make target `/etc/init.rc'
please any suggestions
george676 said:
im getting this error each time i try to compile:
make: *** No rule to make target `/etc/init.rc'
please any suggestions
Click to expand...
Click to collapse
You need to be more specific: what recovery you try to build, in what environment (if it's not cm-11), and post a link to your device folder tree. That error means that the compiler can't find an init.rc file to add in ramdisk.
Compiler stops after a few segments
This is shown in my terminal:
Code:
cp: cannot stat ‘/home/paul/cm-10.2/out/target/product/Ultra/root/init.recovery.*.rc’: No such file or directory
make: [/home/paul/cm-10.2/out/target/product/Ultra/recovery/root.ts] Error 1 (ignored)
mkdir -p /home/paul/cm-10.2/out/target/product/Ultra/recovery/root/system/bin
cp -rf device/CherryMobile/Ultra/recovery/root /home/paul/cm-10.2/out/target/product/Ultra/recovery/
cp: omitting directory ‘device/CherryMobile/Ultra’
make: *** [/home/paul/cm-10.2/out/target/product/Ultra/recovery/root.ts] Error 1
[email protected] ~/cm-10.2 $ make clobber
And you wrote about the problem:
During the build process you may encounter some errors or warnings.
*********************
Code:
Code:
cp: cannot stat `/home/carliv/CM11-0/out/target/product/P780/root/init.recovery.*.rc': No such file or directory
make: [/home/carliv/CM11-0/out/target/product/P780/recovery/root.ts] Error 1 (ignored)
This will not stop the build, and it appears if you don't use a init.recovery.{hardware}.rc file. Can be ignored, as the build process does.
Though in my terminal it just stopped at that part so I had to rename mine which was originally init.recovery.qcom.rc to init.recovery.*.rc
--edit--
And yet it still would not continue ... Any ideas on how to fix this?
--edit # 2--
Here's the pastebin link just in case ->biQ7kjV8 add that to pastebin...(I can't post links)
--edit # 3--
I fixed it... Turns out that it was just a BoardConfig.mk parameter that I forgot to complete
Calculate proper BoardConfig.mk partition sizes
I have this log:
Code:
----- Making recovery image ------
/home/paul/cm-10.2/out/target/product/Ultra/recovery.img maxsize=8380416 blocksize=135168 total=8409088 reserve=270336
error: /home/paul/cm-10.2/out/target/product/Ultra/recovery.img too large (8409088 > [8650752 - 270336])
make: *** [/home/paul/cm-10.2/out/target/product/Ultra/recovery.img] Error 1
make: *** Deleting file `/home/paul/cm-10.2/out/target/product/Ultra/recovery.img'
Meaning I have wrong sizes for the partitions so I need help on it...
When I ran the following:
cat /proc/mtd
cat /proc/emmc
they both return: No such file or directory...
Now If I run the command: cat /proc/partitions
it comes up with this:
As far as I know.... mmcblk1p1 is my external sd card which is about 32 GB...
My system image is about 1 GB and more(confirmed) when I used the dd command(to dump it) and is located at mmcblk0p16
Userdata reaches more than 4 GB as reported by the dd command(file size too large) and is located at mmbblk0p25
here(recovery.fstab):
/boot mtd /dev/block/mmcblk0p10
/cache yaffs2 /dev/block/mmcblk0p18
/data yaffs2 /dev/block/mmcblk0p25
/misc mtd /dev/block/mmcblk0p20
/recovery mtd /dev/block/mmcblk0p19
/system yaffs2 /dev/block/mmcblk0p16
-- edit --
I solved this already
Help required for compiling CWM for android 4.4.2 version only?
I am on Ubuntu 14.0.4 and I am trying to build a CWM recovery for Celkon Q 5009android 4.4.2, Broadcom processor). I have set up build environment and currently working on syncing repo. I have heard that it takes too much time and disk space to complete this process. I am interested to know in the following particular scenario : want to build only CWM recovery from source for an android running on version 4.4.2. So do I have to download all repositories or is there any shortcut that would enable me to not download all, but a certain part that is required for android 4.4.2? If yes, how to go about it? please help.
Please help. I do not undertstand why 'repo sync' always fails at a particular stage, though I have 30+ GB of disk space available in my working folder named 'cm12'. Following is the last screen message :
Fetching project platform/external/ant-glob
Fetching projects: 8% (40/495) Receiving objects: 86% (2389/2771), 26.68 MiBerror: RPC failed; result=56, HTTP code = 200iB | 124.00 KiB/s
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed
remote: Sending approximately 1.94 GiB ...
remote: Counting objects: 85, done
remote: Finding sources: 100% (85/85)
error: RPC failed; result=56, HTTP code = 200iB | 88.00 KiB/s
fatal: The remote end hung up unexpectedly
Now should I run 'repo sync' again or should I use 'repo sync -j1' ?
fatal: early EOF
fatal: index-pack failed
error: Cannot fetch device/lge/mako-kernel
error: Exited sync due to fetch errors
Hey,
In which size are the values in BoardConfig.mk at BOARD_BOOTIMAGE_PARTITION_ZISE? bit?
And how I can convert blocks to this size because my lge only print out the partition sizes in blocks.
LG Noel
Black Manta said:
Hey,
In which size are the values in BoardConfig.mk at BOARD_BOOTIMAGE_PARTITION_ZISE? bit?
And how I can convert blocks to this size because my lge only print out the partition sizes in blocks.
LG Noel
Click to expand...
Click to collapse
http://forum.xda-developers.com/showpost.php?p=60297989&postcount=51
Somewhere around that post you will find your answer.
Hi. Your guide is the most useful I found on the net. Much more than the official cyanogenmod wiki's porting one. Thanks a lot.
I'm trying to use it to build a cm 12.1 (lollipop) cwm on a mediatek device.
1) My stock rom (also Android 5.1) already ships a fstab.mt6795 file into the ramdisk. I moved it inside /recovery/root, and copied its content in /recovery/recovery.fstab
This is its content, should I make any change inside it?
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/mtk-msdc.0/by-name/system /system ext4 ro wait
/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=footer
/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/platform/mtk-msdc.0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
#please add cip or persist on project fstab
#/dev/block/platform/mtk-msdc.0/by-name/persist /persist ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
#/dev/block/platform/mtk-msdc.0/by-name/custom /custom ext4 ro wait
/devices/mtk-msdc.0/11230000.MSDC0 auto vfat defaults voldmanaged=sdcard0:[email protected],noemulatedsd
/devices/mtk-msdc.0/11240000.MSDC1 auto vfat defaults voldmanaged=sdcard1:auto
/devices/bus.2/11270000.USB3_XHCI auto vfat defaults voldmanaged=usbotg:auto
/dev/block/platform/mtk-msdc.0/by-name/frp /persistent emmc defaults
2) How can I find out which of the .rc files available in stock ramdisk include in my recovery, besides the renamed init.rc copied from /bootable/recovery/etc ?
3) My stock rom obviously already ships a init.mt6795.rc. Should I merge any of its lines to the one I copied from /bootable/recovery/etc in my /recovery folder?
Thanks in advance for your time and your efforts.
4javier said:
Hi. Your guide is the most useful I found on the net. Much more than the official cyanogenmod wiki's porting one. Thanks a lot.
I'm trying to use it to build a cm 12.1 (lollipop) cwm on a mediatek device.
1) My stock rom (also Android 5.1) already ships a fstab.mt6795 file into the ramdisk. I moved it inside /recovery/root, and copied its content in /recovery/recovery.fstab
This is its content, should I make any change inside it?
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/mtk-msdc.0/by-name/system /system ext4 ro wait
/dev/block/platform/mtk-msdc.0/by-name/userdata /data ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check,resize,encryptable=footer
/dev/block/platform/mtk-msdc.0/by-name/cache /cache ext4 noatime,nosuid,nodev,noauto_da_alloc,discard wait,check
/dev/block/platform/mtk-msdc.0/by-name/protect1 /protect_f ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
/dev/block/platform/mtk-msdc.0/by-name/protect2 /protect_s ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
#please add cip or persist on project fstab
#/dev/block/platform/mtk-msdc.0/by-name/persist /persist ext4 noatime,nosuid,nodev,noauto_da_alloc,commit=1,nodelalloc wait,check,autoformat
#/dev/block/platform/mtk-msdc.0/by-name/custom /custom ext4 ro wait
/devices/mtk-msdc.0/11230000.MSDC0 auto vfat defaults voldmanaged=sdcard0:[email protected],noemulatedsd
/devices/mtk-msdc.0/11240000.MSDC1 auto vfat defaults voldmanaged=sdcard1:auto
/devices/bus.2/11270000.USB3_XHCI auto vfat defaults voldmanaged=usbotg:auto
/dev/block/platform/mtk-msdc.0/by-name/frp /persistent emmc defaults
2) How can I find out which of the .rc files available in stock ramdisk include in my recovery, besides the renamed init.rc copied from /bootable/recovery/etc ?
3) My stock rom obviously already ships a init.mt6795.rc. Should I merge any of its lines to the one I copied from /bootable/recovery/etc in my /recovery folder?
Thanks in advance for your time and your efforts.
Click to expand...
Click to collapse
First let me ask you where did you find a cwm for lollipop to build it? I'm interested to see that.
Second in recovery fstab you may want to add emmc partitions like boot, recovery... Check my github and look at elephone p6000 device folder (it's close enough to understand). If internal sdcard is on data/media you don't have to add it at all in fstab (at least that was the rule for kitkat... again I need to see the source for that lollipop cwm to tell you exactly). In elephone device recovery fstab you can see that usb and external sdcard are defined as auto for type not vfat because it is better to let minivold manage that.
Normaly for cm12.1 ther is no need to copy any rc file in root, only the fstab. {hardware}, which you said you did.
Again I can tell more if I will see the source code for the recovery, and last thing my guide is quite old now but I'm glad you found it useful.
Thanks for your quick reply.
I think I've not been so clear explaining what I'm doing: when I talk about "Lollipo CWM" I just mean that I'm working on 12.1 branch of cyanogenmod source tree, that as you know is based on the same sources of Lollipop, instead of the one the guide was originally aimed to.
1) I feel really dumb at this moment. I don't know exactly how many time I read that fstab file, and I never noticed that it lacks entries for partitions not managed by stock recovery. Sorry if I wasted your time with a stupid question.
2)For sdcards, then it's better to leave untouched the voldmanaged options, but change the filesystem type to auto?
3) I don't need to copy any other .rc file (init.mt6795.usb.rc, init.xlog.rc, etc...), nor to merge anything from init.mt6795.rc of the stock rom. Right?
Thanks again.
4javier said:
Thanks for your quick reply.
I think I've not been so clear explaining what I'm doing: when I talk about "Lollipo CWM" I just mean that I'm working on 12.1 branch of cyanogenmod source tree, that as you know is based on the same sources of Lollipop, instead of the one the guide was originally aimed to.
1) I feel really dumb at this moment. I don't know exactly how many time I read that fstab file, and I never noticed that it lacks entries for partitions not managed by stock recovery. Sorry if I wasted your time with a stupid question.
2)For sdcards, then it's better to leave untouched the voldmanaged options, but change the filesystem type to auto?
3) I don't need to copy any other .rc file (init.mt6795.usb.rc, init.xlog.rc, etc...), nor to merge anything from init.mt6795.rc of the stock rom. Right?
Thanks again.
Click to expand...
Click to collapse
I did understand it's cm12.1, but that was my question since there is no cwm for cm12.1 only cyanogenmod recovery which is different. At the moment I only recommend twrp for cm12.1+ and for that you have to use a different fstab, easy to find on github or here on xda in twrp threads.
Then, if I'm not too much confused:
- since CM12, Clockworkmod isn't anymore included in its source tree
- if I don't set any RECOVERY_VARIANT it defaults to CyanogenMod Recovery, not CWM anymore
- the recovery.img I built is, at its best, a Cyanogenmod recovery
- the recovery.fstab I used (the one i posted before, but now with /boot, /recovery and /nvram entries added) is in version 2 format, that twrp doesn't understand. So I have to find out how to convert in the old fstab format.
Am I right?
Another question: I used the last version of your CarlivKitchen. That doesn't offer anymore the choice to re/pack for standard android or for mtk images, because it automatically detect the format. But when it repacks, it adds the mtk header if the original image had it? Or am I forced to use a custom boot image maker?
4javier said:
Then, if I'm not too much confused:
- since CM12, Clockworkmod isn't anymore included in its source tree
- if I don't set any RECOVERY_VARIANT it defaults to CyanogenMod Recovery, not CWM anymore
- the recovery.img I built is, at its best, a Cyanogenmod recovery
- the recovery.fstab I used (the one i posted before, but now with /boot, /recovery and /nvram entries added) is in version 2 format, that twrp doesn't understand. So I have to find out how to convert in the old fstab format.
Am I right?
Another question: I used the last version of your CarlivKitchen. That doesn't offer anymore the choice to re/pack for standard android or for mtk images, because it automatically detect the format. But when it repacks, it adds the mtk header if the original image had it? Or am I forced to use a custom boot image maker?
Click to expand...
Click to collapse
Yes for all and for twrp fstab I think you can study device folders from twrp github (few are mediatek).
My kitchen now detects if image has mtk header and will repack it the same way (it stores a variable in unpacked folder which will tell that it must add a mtk header).
I decided to follow this guide to integrate the changes needed to build twrp instead of cwm: http://forum.xda-developers.com/showthread.php?t=1943625
It doesn't cover all the preparation steps like yours do. Do you think there are changes to be made to make your guide suitable for cm12 and twrp, or I can follow it until the " Build a CWM-based Recovery " paragraph?

Touchpad Toolbox, How to unpack and repack

What is the Touchpad Toolbox?
https://forum.xda-developers.com/showthread.php?t=2756314
A set of Scripts (programs) that allows:
Easily manage LVM, one of the greatest features of the TP.
https://wiki.archlinux.org/index.php/LVM
Create Android, WebOS volumens, or total reset.
It can make a fresh /boot directory installation adding moboot.
Reflash the battery Firmware
Install specific, older version of recovery and Rom.
How is done?
https://webos-internals.org/wiki/Angstrom_on_Touchpad
A small Linux OS is built into an img (ext2) file system and is loaded into memory as a RAMDisk.
Angstrom v2015.01
Built from branch: master
Revision: 038d832
Target system: arm-angstrom-linux-gnueabi
This information is from the file angstrom-version located in the /etc folder of the RAMDisk.
Following this instructions will unpack the RAMDisk and Kernel, then can be repack as it would with any Android system.
All this is done on Linux ubuntu 18.04 x64 system. If you have any other OS you can install Linux as a virtual machine.
1 .Create a directory
hptoolbox
2. Unzip TPToolbox-2015-01-08-v42.zip to the directory hptoolbox (http://downloads.codefi.re/jcsullins/cmtouchpad/tptoolbox/TPToolbox-2015-01-08-v42.zip
3. Open terminal in the hptoolbox directoty and paste the following commands.
Code:
dumpimage -i TPToolbox-2015-01-08-v42.bin uImage.kernel
dumpimage -i TPToolbox-2015-01-08-v42.bin -p 1 RAMDisk_Compress
dd if=RAMDisk_Compress of=RAMDisk.xz bs=64 skip=1
xz -d RAMDisk.xz
## The RAMDisk which is 67.1MB is a Linux rev 0.0 ext2 filesystem data img file.
4. Creat a loop disk to have read and write access of the RAMDisk
Code:
sudo udisksctl loop-setup -f RAMDisk
## Mapped file RAMDisk as /dev/loop16 (this is only on my system and it will be different on others)
5. Mount the 67 MB Loop Device, it can easly be done using Disks
6. Open your file manager as sudo in (my system is nautilus, it can be different on other Linux)
Code:
[email protected]:~$ sudo nautilus
[sudo] password for ubuntu:
7. The settings for the ToolBox are in /usr/tptoolbox.
You have complete control on all the files, but read what each script says on top:
Code:
# This script is Copyright (c) 2014 James Sullins, All rights reserved.
# James (JC) Sullins, aka jcsullins
# No modifications or distribution without permission
To repack the Kernel and RAMDisk
1. Unmount the RAMDisk img and Detach the loop device
2 Open terminal in the hptoolbox directory and paste the following commands.
Code:
mkimage -A arm -T ramdisk -C none -n RAMDisk -d RAMDisk uImage.RAMDisk
mkimage -A arm -T multi -C none -n "Tenderloin ToolBOX Modified" -d uImage.kernel:uImage.RAMDisk uImage.ToolBox_Modified
In my system I can not make RAMDisk using xz compression but it works uncompress is just a 70MB file.
If the RAMDisk is compress using (( xz -9 RAMDisk )) then the file size will be as the original but it will not be recognized by the kernel at boot.
3. To load using the novacom driver:
Code:
novacom boot mem:// <uImage.ToolBox_Modified
Many thanks to jcsullins for creating the ToolBox ,which allowed many users to easily transition to Android from WebOS and gave new life to a device that could have been in landfills many years ago. In my opinion this has been the greatest Tool for the TP and finding out how it works made it even more amazing!
HP_TOUCHPAD said:
What is the Touchpad Toolbox?
--SNIP--
Click to expand...
Click to collapse
You've done a great job figuring that out HP_TOUCHPAD! As a result, if Sullins agreed (assuming he would even answer the request), the TPToolbox could be modified fairly easily to handle the latest ROMS, GAPPS, and RECOVERIES. For example, it turns out that there is an unused parameter that would allow TPToolbox to install the zipfiles without any checks. Additionally, it is simple to bypass having to install a GAPPS with the ROM, or to keep all checks but the one that checks for a compatible GAPPS..
shumash said:
You've done a great job figuring that out HP_TOUCHPAD! As a result, if Sullins agreed (assuming he would even answer the request), the TPToolbox could be modified fairly easily to handle the latest ROMS, GAPPS, and RECOVERIES. For example, it turns out that there is an unused parameter that would allow TPToolbox to install the zipfiles without any checks. Additionally, it is simple to bypass having to install a GAPPS with the ROM, or to keep all checks but the one that checks for a compatible GAPPS..
Click to expand...
Click to collapse
Thank you, and yes the ToolBox can be modified very easily only if JSullins agreed.
But there is only one section that needs to be modified to update the toolbox and make compatible with all ROMS now and forever. In my opinion there is no need for the Toolbox to install any ROMS as that is the work of TWRP to do and it does it well.
This is the only modification that needs to be done to update the toolbox and make it useful forever!
In the folder toolbox/bin/make_boot (open the script)
add the following under this line : (do_run cp /usr/tptoolbox/data/moboot /mnt/boot/uImage.moboot)
Code:
do_run cp /usr/tptoolbox/data/uImage.TWRP /mnt/boot/uImage.TWRP
do_run cp /usr/tptoolbox/data/android.default.recovery /mnt/boot/android.default.recovery
do_run cp /usr/tptoolbox/data/moboot.default /mnt/boot/moboot.default
do_run cp /usr/tptoolbox/data/uImage.ToolBOX /mnt/boot/uImage.ToolBOX
copy the files to /usr/tptoolbox/data/
uImage.TWRP
android.default.recovery
moboot.default
uImage.ToolBOX (this is the toolbox.bin, renamed it to be loadable from the moboot menu.
save the script.
I do not need to tell you "the Linux Guru" what is going on, but just for the record.
When recreating the boot it will install TWRP into boot and also the ToolBOX.
Reboot and now you have TWRP and also the ToolBOX in the moboot menu and you can install any ROM using TWRP.
This will make it super easy for all users to start fresh!
Complete reset (it will install TWRP, recovery by default) nothing extra for the user to do!
Reflash battery firmare
Resize Android volumens
Reboot and install ROM
I do not think it can be any easier for anyone than this and the change is minimal!
HP_TOUCHPAD said:
Thank you, and yes the ToolBox can be modified very easily only if JSullins agreed.
But there is only one section that needs to be modified to update the toolbox and make compatible with all ROMS now and forever. In my opinion there is no need for the Toolbox to install any ROMS as that is the work of TWRP to do and it does it well.
--SNIP--
I do not think it can be any easier for anyone than this and the change is minimal!
Click to expand...
Click to collapse
I like what you're suggesting, but it's not that easy. I think you're creating a different application. The python scripts need to be modified to remove the "Install Android" option. Making users decide how to (re)install non-datamedia (DM) or DM ROMS by themselves was one of the things HPToolbox solved. I think that a better way is just to prevent all the checks that are done for three zips, gapp/rom capatibility, etc. and let users install the gapps themselves, although I can see a way to expand the allowable gapps dictionary to include the latest versions
Additionally, unless you resize /boot (which is fixed in one of the python scripts and may require lots of other changes), users who want to retain WebOS (there may be one or two left.) won't be able to install Android because there won't be enough room having uImage.TPToolbox there.
shumash said:
I like what you're suggesting, but it's not that easy. I think you're creating a different application.
There is no changes to the menu is only adding uImage.TWRP to be copy to boot.
In the Toolbox MAIN MENU
The option: Complete Data Reset
Call the script: toolbox/bin/make_boot
It will completely erase and format boot then copy files located in (/usr/tptoolbox/data/) over to /boot
It is part of the toolbox option and how it works. Nothing needs to be added or the main script modified.
By adding this code to the already (toolbox/bin/make_boot) script
Code:
do_run cp /usr/tptoolbox/data/uImage.TWRP /mnt/boot/uImage.TWRP
do_run cp /usr/tptoolbox/data/android.default.recovery /mnt/boot/android.default.recovery
do_run cp /usr/tptoolbox/data/moboot.default /mnt/boot/moboot.default
And copy those files to (/usr/tptoolbox/data/).
When the user select the option in the MENU to Complete Data Reset, it will do as always the only difference is, it will install TWRP automatically, which in my opinion it needs to be there to install and back up.
The python scripts need to be modified to remove the "Install Android" option. Making users decide how to (re)install non-datamedia (DM) or DM ROMS by themselves was one of the things HPToolbox solved.
The Install Android can be there as is and do as you are suggesting which is to remove the limitation and be able to install any recovery or gapps
I think that a better way is just to prevent all the checks that are done for three zips, gapp/rom capatibility, etc. and let users install the gapps themselves, although I can see a way to expand the allowable gapps dictionary to include the latest versions.
Yes that is perfect and the way it should have been from the beginning, to allow installation of any ROM. There is nothing malicious that anybody can do to brick the device. Reloading the toolbox (novacom boot mem:// < uImage.Toolbox) will recreate everything even if /boot is destroy.
Additionally, unless you resize /boot (which is fixed in one of the python scripts and may require lots of other changes), users who want to retain WebOS (there may be one or two left.) won't be able to install Android because there won't be enough room having uImage.TPToolbox there.
Click to expand...
Click to collapse
Correct if uImage.Toolbox ( 11 MB ) file is copy to boot and TWRP there will be 8 MB left for one uImage boot file, only one OS will be able to boot.
That could be an option and does not need to be copy to boot, but it could make it easier for "Android only users" to have it handy and no PC will be required to load it again.
Here is another simple quick modification to avoid confusion and make it easier.
When you select Install Android, the USB media is mounted and a directory /ttinstall is created. At the same time the directory is created a shortcut (link) can be place of a landing web page where the links to all ROM and Recovery can be download from, that the user can click and download the correct Recovery, ROM and gapps.
Make it super easy and avoid confusion of what to install and where to get it from. It could be a landing page any where that can be updated.
This is another issue to think about. To load any uImage to fix a problematic TP, a PC is need it with novacom drivers install.
This is the command that will fix any TP:
novacom boot mem:// <
If novacom is not install in the user PC or not working properly nothing can be done.
Idea.
Create a basic Linux OS, bare minimum that will run anywhere. Have the novacom install and the toolbox in it, with a basic browser to get the files.
The Linux OS can be distributed as a Live CD (.iso) that can be booted on any PC. This will guarantee that the novacom driver will work and load the toolbox or any other uImage into the TP.
I made my own live CD of Ubuntu 18.04 ( is a 2GB file ) that has everything set up and do any kind of work on the TP and be able to use it on any PC.
HP_TOUCHPAD said:
__SNIP__
Click to expand...
Click to collapse
All good ideas, but this is much easier.
shumash said:
All good ideas, but this is much easier.
Click to expand...
Click to collapse
Crazy complicated !
Take a very close look at the steps.
" 1) complete data reset"
Before this happens the novacom driver needs to be install. It used to be an easy one to do, but with new OS, windows or Linux it can get complicated. Nothing can be done unless this driver is properly install and the environment is properly set to load the uImage. This can easily create errors and frustration and not a successful install.
The universal Java installer used to work, not any more. It will be great to have a portable novacom driver, but I do not know if that is even possible to load and work in different OS.
But anyways doing the first steps is to load the Toolbox to do a complete data reset.
Well if the toolbox is modified, once the complete data reset is done uImage.TWRP will be already copy into boot.
The only thing you have to do is reboot the device select TWRP and do the installation as regular.
No more steps need it, and nothing else to download or install.
One step and done!
But now you need to run:
TWRP_TmpLoad_v03_win.bat
Then install TWRP, because is temporally loaded in memory.
What it does is loading uImage.TWRP using:
novacom boot mem:// <uImage.TWRP
The same way the Toolbox gets loaded in the first place.
If the Toolbox restriction gets remove then it will install TWRP, and then reboot.
Like I said the magic command is:
novacom boot mem://
Any boot uImage can be load it that way, but the only thing that will reset everything is the Toolbox.

Categories

Resources