Related
Hi on my Kaiser WM6.1 Official, gone Icon of "Pimg.exe app" (pictures and videos).
All my .jpg files are Windows system ico (Icon for unrecognizably files), but no "IMG Ico" of Pimg.exe. I try change association and Icon in Total Commander (.jpg to pimg.exe "%1") but on .jpg images are still system ico.
Is it possible, that it is my Pimg.exe corrupt (without Icon)?
Thanks for your reply.
- Please somebody can you upload for me file "pimg.exe" (from Windows directory) and I try if contains icon. Thx.
I have the same problem. Is there any way to fix it?
Solved: MemMaid 2.3 -> Jump To -> Databases -> Extensions -> .jpg .jpeg -> Edit... -> Edit Class -> Class: JPEGFile ; Description: JPEG Image ; Icon: browsres.dll,-6704 ; Commands: 1 - Name: DRMOpen Command: pimg.exe "%1" 2 - Name:Open Command: pimg.exe "%1"
J0hny said:
Solved: MemMaid 2.3 -> Jump To -> Databases -> Extensions -> .jpg .jpeg -> Edit... -> Edit Class -> Class: JPEGFile ; Description: JPEG Image ; Icon: browsres.dll,-6704 ; Commands: 1 - Name: DRMOpen Command: pimg.exe "%1" 2 - Name:Open Command: pimg.exe "%1"
Click to expand...
Click to collapse
Worked like a charm, now does anyone have a full listing of wm6 icon to reset the other media files
How do you use Compcache with linux-swap as a backup? I dont understand the thread correctly that explains it I already have compcache.
You have to edit the userinit.sh file. Open it with notepad, then change the line to look like this:
insmod ramzswap.ko memlimit_kb=32000 backing_swap=/dev/block/mmcblk0p3;
then reboot, and you should be good.
blackfire1 said:
How do you use Compcache with linux-swap as a backup? I dont understand the thread correctly that explains it I already have compcache.
Click to expand...
Click to collapse
There are two ways to use an existing linux-swap as a backup to Compcache.
Let linux manage compcache and the linux-swap partition/file directly
Let compcache manage the linux-swap partition. *As of this writing, cyanogen has only included the .5 series of compcache which will not support a linux-swap file.
You need to first create the compcache swap device. I assume you are running a cyanogen kernel and you have compiled modules. Also I assume you know what your swap partition or swap file is called. e.g. A swap file looks like /system/sd/swapfile.swp, a swap partition looks like /dev/block/mmcblk0p3.
1. Linux managed:
Pros: Supports linux-swap file. Relies on established linux swapping priorities.
Cons: compcache wastes space as incompressible data remains in the compcache swap. Linux uses compcache until its full, then places everything in the backing swap.
First we enable the compcache swap device.
Code:
insmod /system/modules/lib/modules/2.6.29-cm/compcache/xvmalloc.ko; #load the compcache memory allocator
insmod /system/modules/lib/modules/2.6.29-cm/compcache/ramzswap.ko disksize_kb=24576; #create a compressed swap device with disk size 24576 kB
mknod /dev/ramzswap0 b 253 0; #initialize ramzswap0
swapon /dev/ramzswap0; #turn on compcache swap first so it has higher priority. (defaults as -1)
Next we either enable the swap file or the swap partition.
If you have a swap file then the next line is.
Code:
swapon /system/sd/swapfile.swp; #turns on second swap as priority -2, lower priority than above.
or
Code:
swapon /dev/block/mmcblk0p3; #turns on second swap as priority -2, lower priority than above.
To check to see whether it works, you will type:
cat /proc/swaps/
and see either
Code:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/ramzswap0 partition 24464 6584 -1
/system/sd/swapfile.swp file 31596 0 -2
or
Code:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/ramzswap0 partition 24464 6584 -1
/dev/block/mmcblk0p3 partition 31596 0 -2
2. Compcache .5.3 managed:
Pros: compcache can attempt to maximize compressed data in compcache and intelligently allocate to backing swap.
Cons: Relies on newer algorithms. Does not support swap files yet.
When cyanogen updates to compcache .6.x, you can use the swap file, until then, its just the swap partition.
Code:
insmod /system/modules/lib/modules/2.6.29-cm/compcache/xvmalloc.ko; #load the compcache memory allocator
insmod /system/modules/lib/modules/2.6.29-cm/compcache/ramzswap.ko [b]backing_swap=/dev/block/mmcblk0p3 memlimit_kb=24576; [/b] #create a compressed swap device with disk size 24576 kB #NOTE! Memlimit currently ignored in current build. Default to 14 megs (15% memory)
mknod /dev/ramzswap0 b 253 0; #initialize ramzswap0
swapon /dev/ramzswap0; #turn on compcache swap, this includes the backing swap which should be invisible to linux.
NOTE: There is no need to enable any other swaps afterward unless you want a linux managed backing swap
If you type
cat /proc/swaps/
you will see:
Code:
# cat /proc/swaps
Filename Type Size Used Priority
/dev/ramzswap0 partition 24464 6584 -1
Use
cat /proc/ramzswap
and if you don't have a backing swap you will see.
Code:
# cat /proc/ramzswap
DiskSize: 24468 kB
NumReads: 1260
NumWrites: 2042
FailedReads: 0
FailedWrites: 0
InvalidIO: 0
PagesDiscard: 0
ZeroPages: 113
GoodCompress: 74 %
NoCompress: 3 %
PagesStored: 1929
PagesUsed: 630
OrigDataSize: 7716 kB
ComprDataSize: 2482 kB
MemUsedTotal: 2520 kB
if you do, it should say
Code:
# cat /proc/ramzswap
DiskSize: 31250 kB
MemLimit: 14680 kB
NumReads: 5186
NumWrites: 9229
FailedReads: 0
FailedWrites: 0
InvalidIO: 0
PagesDiscard: 0
ZeroPages: 578
GoodCompress: 100 %
NoCompress: 0 %
PagesStored: 5313
PagesUsed: 1425
OrigDataSize: 21252 kB
ComprDataSize: 5532 kB
MemUsedTotal: 5700 kB
[b]BDevNumReads: 1185
BDevNumWrites: 2145
[/b]
3. Miscellaneous Notes:
As I typed this I realized I was pulling information from the .6.x tree and the .5.x tree. It's possible that the syntax for compcache has changed.
Also, if anyone wants to update the wiki with this, I'd appreciate it. I don't feel like formatting for the wiki right now.
Wow, excellent answer. Wiki material for sure - if no one's gotten it a little later, I'll take care of it. Gotta pretend I'm actually working awhile first.
overpower said:
2. Compcache .5.3 managed:
Pros: compcache can attempt to maximize compressed data in compcache and intelligently allocate to backing swap.
Cons: Relies on newer algorithms. Does not support swap files yet.
When cyanogen updates to compcache .6.x, you can use the swap file, until then, its just the swap partition.
Code:
insmod /system/modules/lib/modules/2.6.29-cm/compcache/xvmalloc.ko; #load the compcache memory allocator
insmod /system/modules/lib/modules/2.6.29-cm/compcache/ramzswap.ko [b]backing_swap=/dev/block/mmcblk0p3 memlimit_kb=24576; [/b] #create a compressed swap device with disk size 24576 kB #NOTE! Memlimit currently ignored in current build. Default to 14 megs (15% memory)
mknod /dev/ramzswap0 b 253 0; #initialize ramzswap0
swapon /dev/ramzswap0; #turn on compcache swap, this includes the backing swap which should be invisible to linux.
Code:
# cat /proc/ramzswap
DiskSize: 31250 kB
MemLimit: 14680 kB
NumReads: 5186
NumWrites: 9229
FailedReads: 0
FailedWrites: 0
InvalidIO: 0
PagesDiscard: 0
ZeroPages: 578
GoodCompress: 100 %
NoCompress: 0 %
PagesStored: 5313
PagesUsed: 1425
OrigDataSize: 21252 kB
ComprDataSize: 5532 kB
MemUsedTotal: 5700 kB
[b]BDevNumReads: 1185
BDevNumWrites: 2145
[/b]
3. Miscellaneous Notes:
As I typed this I realized I was pulling information from the .6.x tree and the .5.x tree. It's possible that the syntax for compcache has changed.
Also, if anyone wants to update the wiki with this, I'd appreciate it. I don't feel like formatting for the wiki right now.
Click to expand...
Click to collapse
I don't see adding memlimit_kb=24576 after backing_swap=/dev/block/mmcblk0p3 having any effect-- as you see, it is still limiting the size to 15% of the physical RAM.
i am using a2sd ,,, i am not able to configure which memory setting should i use,, from these,,, and give a little bit explaination,, help asap plzzz
Low Memory Killer Commands:
----------------------------------------------------
lowmem-moderate
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 7680 pages / 30 MB
Content Provider: 8960 pages / 35 MB
Empty App: 10240 pages / 40 MB
Create File: /data/.lmmoderate
Remove File: /data/.lmoptimum
/data/.lmstrict
/data/.lmaggressive
/data/.lmultimate
/data/.lmextreme
lowmem-optimum
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 10240 pages / 40 MB
Content Provider: 12800 pages / 50 MB
Empty App: 15360 pages / 60 MB
Create File: /data/.lmoptimum
Remove File: /data/.lmmoderate
/data/.lmstrict
/data/.lmaggressive
/data/.lmultimate
/data/.lmextreme
lowmem-strict
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 2048 pages / 8 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 15360 pages / 60 MB
Content Provider: 17920 pages / 70 MB
Empty App: 20480 pages / 80 MB
Create File: /data/.lmstrict
Remove File: /data/.lmmoderate
/data/.lmoptimum
/data/.lmaggressive
/data/.lmultimate
/data/.lmextreme
lowmem-aggressive
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 21000 pages / 82 MB
Content Provider: 23000 pages / 90 MB
Empty App: 25000 pages / 98 MB
Create File: /data/.lmaggressive
Remove File: /data/.lmmoderate
/data/.lmoptimum
/data/.lmstrict
/data/.lmextreme
/data/.lmultimate
lowmem-extreme
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 38400 pages / 150 MB
Content Provider: 40960 pages / 160 MB
Empty App: 43520 pages / 170 MB
Create File: /data/.lmextreme
Remove File: /data/.lmmoderate
/data/.lmoptimum
/data/.lmstrict
/data/.lmaggressive
/data/.lmultimate
lowmem-ultimate
Sets the internal memory killer to the following
settings:
Foreground Apps: 1536 pages / 6 MB
Visible Apps: 3072 pages / 12 MB
Secondary Server: 4096 pages / 16 MB
Hidden Apps: 51200 pages / 200 MB
Content Provider: 57600 pages / 225 MB
Empty App: 64000 pages / 250 MB
Create File: /data/.lmultimate
Remove File: /data/.lmmoderate
/data/.lmoptimum
/data/.lmstrict
/data/.lmaggressive
/data/.lmextreme
lowmem-default
Sets the internal memory killer back to phone default
settings.
I have the same question !
panaali said:
I have the same question !
Click to expand...
Click to collapse
now a days i am using optimum lowmem settings they are good for me
From being used to a Linux PC with everything on a couple of partitions, trying to suss out how Android works has baffled me a bit what with having so many things hidden away in so many different places. I couldn't find a partition map for our phone so I made one by looking at /proc/partitions, using the mount command, analysing s5830i ODIN pit files and searching the internet. I realise that this isn't new information in that I'm pretty sure this stuff is known by some people but I still thought that this was worth putting out there.
I've listed the information in the following format:
#blocks <device file name> <partition name> (<flash file name> <Odin part>) <information>
Mount points are given where relevant. Partition name and flash file name are from the Odin pit file. To get the 'Odin part' I looked inside my “Full Firmware Backup To Odin Format”, which is a CWM script by Rafael.Baugis.
I've tried to be as accurate as possible and make it clear where I'm not 100% sure but please help me improve it if you can as I done this as a learning exercise in the first place!
Figures from /proc/partitions (also see the mount command):
#blocks name
31166976 mmcblk0 – sdcard (entire device)
29179904 mmcblk0p1 – sdcard partition 1 *
1945600 mmcblk0p2 - sdcard partition 2 *
513024 bml0/c – All bml partitions (figures add up to 513024)
256 bml1 – bcm_boot (BcmBoot.img – BOOT) – Bootloader
2048 bml2 – loke (sbl.bin - PDA) - Secondary bootloader
2048 bml3 – loke_bk (no flash file) - Presumably SBL backup
256 bml4 – systemdata (totoro.pit) – A copy of the Odin pit file by the looks of it
12800 bml5 – modem (BcmCP.img – PHONE) - baseband/modem
5120 bml6 – see stl6 **
5120 bml7 – boot (boot.img - PDA) - The kernel and ramdisk
5120 bml8 – boot_backup (no flash file) – Presumably boot.img backup
235520 bml9 – see stl9 **
40960 bml10 – see stl10 **
201984 bml11 – see stl11 **
256 bml12 – efs (?) (no flash file) – Not sure why this is called 'efs' as efs is well documented as being on bml15 and the number of blocks isn't even the same
256 bml13 – sysparm (sysparm_dep.img – BOOT) – part of the bootloader?
256 bml14 – umts_cal - (HEDGE_NVRAM8_RF_LE.bin – BOOT) – part of the bootloader?
1024 bml15 – cal (no flash file) - Not sure about the name but this is the EFS partition containing IMEI + network/region lock info
1280 stl6 – param_lfs (param.lfs – PDA) - mount point: /mnt/.lfs – SBL data including settings and images such as Samsung S5830i boot logo.
227840 stl9 – system (system.img - PDA) - mount point: /system – Operating System / ROM
36864 stl10 - cache (csc.rfs - CSC) - mount point: /cache – App/system cache storage but apparently CSC (region specific) data is also flashed here which seems odd but true!
194816 stl11 - userdata (userdata.img) - mount point: /data
- (dm-0 to dm-18) - Each app that is stored via SD card has its own virtual partition. I have 19 applications stored via traditional apps2sd, hence dm-0 to dm-18. Mount Point: /mnt/asec/<app's Java package name>
- (loop0 to loop18) – Loop devices. Each numbered loop is directly related to its dm counterpart, filesystem size is practically identical. I don't really understand loop devices that well so I can't say more than that!
* SD card partitions have other block device files, from which they are mounted via, at:
/dev/block/vold/179:1 - sdcard 1st partition – mount points: /mnt/sdcard and /mnt/secure/asec
/dev/block/vold/179:2 - sdcard 2nd partition – mount point: /data/sdext2
** This is from XDA user Darkshado in the following post:
“From what I've gathered bml is essentially a lower level interface to the same blocks accessed by stl, but the results differ somewhat in resulting file size”
http://forum.xda-developers.com/showpost.php?p=16963172&postcount=1
In actual fact bml and stl counterparts don't differ very much at all in size. From what I've read elsewhere the reason for the availability of stl interfaces on only some partitions may be related to the need for regular read-write access.
*** stl* and bml* interfaces can be accessed through device files such as /dev/stl*, dev/bml*, /dev/block/stl* and dev/block/bml*.
Of course just because they can be doesn't mean it's necessarily a good idea!
This thread explains HOW TO RESIZE ANY USER PARTITIONs by hacking the kernel code. It uses the 3.1.10 kernel code as the base, but could be applies in any kernel code and any ROM (not jut Atrix alone). An example code will be given.
Backgorund:
I am indebted to the insight of Moto Xoom developer: Schischu. Schishu succeeded in cheating the official partition table by altering the partition layout at will during kernel booting. plz. refer to BigPart Repartition Upgrade and Resource Center [ https://forum.xda-developers.com/showthread.php?t=2506997 ] and Schischu' github code's Add bigPart support to kernel [ https://github.com/Schischu/android...mmit/6b3d70fff905b7395fd15992c3779b27d1b6c101 ]
Okay, let's talk about the flow of patching
First, inspect your ram partition (use Atrix as example) by
fdisk -u -l /dev/block/mmcblk0
you should get:
Disk /dev/block/mmcblk0: 15.9 GB, 15916859392 bytes
1 heads, 16 sectors/track, 1942976 cylinders, total 31087616 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1024 8191 3584 83 Linux
Partition 1 does not end on cylinder boundary
/dev/block/mmcblk0p2 8192 9215 512 83 Linux
Partition 2 does not end on cylinder boundary
/dev/block/mmcblk0p3 9216 13311 2048 83 Linux
Partition 3 does not end on cylinder boundary
/dev/block/mmcblk0p4 13312 31005695 15496192 5 Extended
Partition 4 does not end on cylinder boundary
/dev/block/mmcblk0p5 14336 16383 1024 83 Linux
/dev/block/mmcblk0p6 16384 17407 512 83 Linux
/dev/block/mmcblk0p7 17408 18431 512 83 Linux
/dev/block/mmcblk0p8 18432 20479 1024 83 Linux
/dev/block/mmcblk0p9 20480 24575 2048 83 Linux
/dev/block/mmcblk0p10 24576 40959 8192 83 Linux
/dev/block/mmcblk0p11 40960 57343 8192 83 Linux
/dev/block/mmcblk0p12 57344 712703 327680 83 Linux
/dev/block/mmcblk0p13 712704 2285567 786432 83 Linux
/dev/block/mmcblk0p14 2285568 2326527 20480 83 Linux
/dev/block/mmcblk0p15 2326528 3637247 655360 83 Linux
/dev/block/mmcblk0p16 3637248 7831551 2097152 83 Linux
/dev/block/mmcblk0p17 7831552 8538111 353280 83 Linux
/dev/block/mmcblk0p18 8538112 31005695 11233792 83 Linux
1) Pay attention to /dev/block/mmcblk0p4, it states it is Extended, not Linux!
2) Read carefully the start and end of /dev/block/mmcblk0p4 are 13312, 31005695.
3) Note the start of /dev/block/mmcblk0p5 is 14336 and the end of /dev/block/mmcblk0p18 is 31005695
So it concludes /dev/block/mmcblk0p5 -> /dev/block/mmcblk0p18 are JUST LOGIC extended partition of /dev/block/mmcblk0p4 !!!
This differs from Xoom's case that all those partitions are efi based, Atrix;s hack must apply to MSDOS extended partitions instead, i.e. fs/partitions/msdos.c !
Now, it's time to map those /dev/block/mmcblk0p??? to your user partitions:
Boot to CWM, mount at your partitions, then adb shell, type: df, you will get:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 402980 52 402928 0% /dev
/dev/block/mmcblk0p15
645056 58244 586812 9% /cache
/dev/block/mmcblk0p16
2064192 1627072 437120 79% /data
/dev/block/mmcblk1p1 31105180 6583120 24522060 21% /sdcard
/dev/block/mmcblk0p18
11211876 2661568 8550308 24% /emmc
/dev/block/mmcblk0p12
322516 286872 35644 89% /system
/dev/block/mmcblk0p13
774064 17180 717564 2% /osh
/dev/block/mmcblk0p17
342123 10287 314172 3% /preinstall
You see /system is residing in /dev/block/mmcblk0p12 and /osh (webtop) is residing in /dev/block/mmcblk0p13. they are adjacent !
In my example, I want to expand /system to accommodate KitKat and don't need webtop excatly, so I can just alter these 2 partitions layout
Go back to 'fdisk' data and note:
/dev/block/mmcblk0p12 57344 ...
/dev/block/mmcblk0p13 712704 2285567
We must preserve the partition boundaries such that other logical partitons are not affected
Note: the start of /system is 57344 or HEX E000, the start of /osh is 712704 or HEX AE000 and the end of /OSH is 2285567 or HEX 22DFFF. we are going to play with these numbers
the sketched patch is
#define MB002 0x001000
#define OLYMPUS_SYSTEM_START 0x00E000
#define OLYMPUS_OSH_START 0x0AE000
#define OLYMPUS_OSH_END 0x22DFFF
if (next == OLYMPUS_SYSTEM_START*sector_size)
{
printk("Fixing up system part\n");
size = (OLYMPUS_OSH_END-MB002-OLYMPUS_SYSTEM_START+1ULL)*sector_size;
}
else if (next == OLYMPUS_OSH_START*sector_size)
{
printk("Fixing up osh part\n");
next = (OLYMPUS_OSH_END-MB002+1ULL)*sector_size;
size = MB002*sector_size;
}
Our goal is to shrink /osh to 2M and expand /system to its largest possible size, and is accomplished in above patch.
There are only 2 variables, NEXT and SIZE, to play with the parition layout, ALWAYS remember START-END+1ULL = SIZE and NEXT=START Then you can play with /system at the expense of /emmc instead, of course you must take care of the partitions from 12 up to 18 making sure those START and END do not overlap
The real patch for kernel 3.1.10 applied to /fs/partitions/msdos.c is here :
link : http://www.sendspace.com/file/6ztz3y
name : kernel_3.1.10.bigpart.diff
size : 1024
md5sum : 0cfc1f99dcf4520a57ede36adfd07e1f
------------------------------------------------
Once compiled the patch 3.1.10 kernel, you get replace the kernel (zImage) in both recovery.img and boot.img of your favortie ROM (unpack, then repack). Flash the recovery-bigpart.img and boot-bigpart.img to your phone, Boot immediately to RECOVERY, format /system and /osh (all the partitions modified, you will lose the data!)
After formatting, mount /system and /osh, use adb shell, type "df -h" and check your 1G /system
Reinstall your ROM (or just /system). Your favorite Atrix ROM now runs with a ~1G /system.
THIS METHOD IS GENERIC TO ALL KERNEL AND ROM
YOU ARE WELCOME TO POST YOUR CUSTOM PATCH CODES HERE! with the new partition configuration tables
Very nice, and thanks for the info.
Too bad we have to recompile the kernel to do this.
I guess I have to take a look into howto compile the kernel, I will do a google search, but if anyone can point me to a good discussion/tutorial/howto on this I would appreciate it (sometimes I find that tracking down information on the internets is like wading through a dumpster).
I don't think there's need for that until we have working kitkat. I even think this is better solution than making it permanently changed like I planned to do.
krystianp said:
I don't think there's need for that until we have working kitkat. I even think this is better solution than making it permanently changed like I planned to do.
Click to expand...
Click to collapse
Actually I am more interested in not having to use webptop2sd for 2.3.6.
tamuin said:
Very nice, and thanks for the info.
Too bad we have to recompile the kernel to do this.
I guess I have to take a look into howto compile the kernel, I will do a google search, but if anyone can point me to a good discussion/tutorial/howto on this I would appreciate it (sometimes I find that tracking down information on the internets is like wading through a dumpster).
Click to expand...
Click to collapse
search for how to compile kernel, it's on this forum, but don recall the section