[Q] Swap error - LG Optimus 4X HD

Hello!
I would like to try/use swap. My sdcard has a swap partition. I am using BlissPop 3.2 with original kernel. When I enter
Code:
cat /proc/cpuinfo | grep Features
into terminal emulator I can see swp, which means theoretically the kernel has swap support. I tried more swap programs and almost all of them gave me the same error. The error is
Code:
swapon: /dev/block/mmcblk1p2: Function not implemented
Is there any way to get swap support? Have I done anything wrong? Any help would be appreciated.
Thanks in advance

You need a kernel that supports swap.

Related

Swap

Hi guys. can you please help me on swap. how can i enable it and disable it. and also set it to the amount that i want it. im still a bit new to this and i have also tried to look for a guide but cant find 1. thanks
Rawdi said:
Hi guys. can you please help me on swap. how can i enable it and disable it. and also set it to the amount that i want it. im still a bit new to this and i have also tried to look for a guide but cant find 1. thanks
Click to expand...
Click to collapse
If you are on Kings rom, it may be running already.
Type #free in terminal and see if it shows swap.
Rawdi said:
Hi guys. can you please help me on swap. how can i enable it and disable it. and also set it to the amount that i want it. im still a bit new to this and i have also tried to look for a guide but cant find 1. thanks
Click to expand...
Click to collapse
bbuchacher said:
In Terminal:
echo 30 > /proc/sys/vm/swappiness to change swappiness to 30 replace number with any number 1-100
cat /proc/sys/vm/swappinesss to see a current level
Click to expand...
Click to collapse
bbuchacher, just wrote it
thanks but the rom that im using is not using swap. how to i setup swap? can i push a user file?
Rawdi said:
thanks but the rom that im using is not using swap. how to i setup swap? can i push a user file?
Click to expand...
Click to collapse
It definitely depends on the rom. Some King roms he has a script you run. Other roms, all you do is go to Spare Parts and set what you want. It may be best to ask in the thread for that rom.
I remembered using this when I used CM:
http://forum.xda-developers.com/showthread.php?t=581328&highlight=swap
Enable swap
I used the method to enable swap in Linux on this and it worked fine on Cyanogen and Super-D.
I used Amon_RA Recovery 1.52 to partition my SDCARD and the new recovery lets you choose the size of your partitions.
so I created a 256MB Swap.
from a console/terminal do the following after creating your swap partition the size you want it:
1. mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system (makes system dir writable)
2. mkswap /dev/block/mmcblk0p3 (formats the swap partition on SD with swap format)
3. vi /system/etc/init.d/05userinit (make a new line at the bottom and add "swapon -a" with out the quotes this forced the swap to mount on boot if it is disabled in a kernel)
4. vi /system/etc/fstab (add a line that says "/dev/block/mmcblk0p3 swap swap" with out the quotes)
5. reboot
Hope you know how to use vi editor If not google it. "I" is insert mode and push track ball and hit 1 at the same time and that will esc you to command mode, in command mode do a :wq! and hit enter and that will save the file.
This works on all roms i have run into and no matter what others say it does help the performance.
I can make it easier (short of putting this in a script). Type each line in order and hit enter after each.
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
mkswap /dev/block/mmcblk0p3
echo "swapon -a" >> /system/etc/init.d/05userinit
echo "/dev/block/mmcblk0p3 swap swap" >> /system/etc/fstab
reboot
TGA_Gunnman
The UNIX Dude

[Webtop][GUIDE]Swap Space for Webtop

For anyone actively working with and on the webtop portion of these phones, you'll have noticed that webtop suffers greatly from sluggish response. I decided to experiment and through that, managed to alleviate a large portion of my problems. By creating and enabling a swap partition, I gained a very noticeable increase in performance on my webtop.
1: Remove SD card from phone and mount onto a computer capable of formating as Linux Swap.
Linux machines can obviously do this with any partition manager.
Windows machines can do so with: Paragon Partition Manager
Mac: I'm not currently sure what tool can handle creating swap partitions.
2: Create Swap partition on SD Card. (I personally made mine 1.5 GB)
3: Put SD Card back into phone and boot fully into webtop.
4: In Synaptic, download Partitionmanager. (This is the only partition manager package I have found to do anything at all in the webtop. If anyone has any luck with others, please post what lead to your success.)
(Path Method):
5: Inside Partitionmanager, navigate to the swap partition of your SD card and take notice of the "Device:" line underneath the the bar Volumes bar.
6: If in gnome, Alt+F2 and type
Code:
gksudo gedit /etc/fstab
If in any other desktop environment, open a terminal and type
Code:
sudo gedit /etc/fstab
7: Append the following line to fstab replacing "<path>" with the value in the "Device:" line of partitionmanager:
Code:
<path> none swap sw 0 0
(UUID Method)
5: Inside either Webtop terminal or phone Terminal Emulator type:
Code:
su
blkid
Look for the line which contains
Code:
TYPE="swap"
.
Alongside "TYPE" should be a
Code:
UUID="xxxxxxxxx-xxxx-xxxx-xxxxxxxxxxxx"
.
(If no "UUDI" is listed, take the path of the device from the same line and do the following replacing "<path>" with the path value from above.)
Code:
sudo mkswap <path>
6: If in gnome, Alt+F2 and type [code]gksudo gedit /etc/fstab
If in any other desktop environment, open a terminal and type
Code:
sudo gedit /etc/fstab
7: Append the following line to fstab replacing "<UUID>" with the value in the "UUID=" line of blkid:
Code:
UUID=<UUID> none swap sw 0 0
8: Reboot phone
9: Download Script Manager from the android market.
10: Download View attachment swap.sh.zip and unzip it to a directory of your SD Card where you won't erase it.
11: In Script Manager, navigate to the directory you placed the script and select "swap.sh".
12: Check:
Code:
"Run as root" and "Run at boot"
13: Click "Run"
14: Profit!
To see if it is working, open terminal emulator or a terminal window on either phone or webtop. Type the command "free". and take notice of the "Swap" line. It should tell you the partition size, amount used, and amount free.
Hope this helps someone.
**Tested Working Phones**
Motorola Droid Bionic
Motorola Milestone A854 (Nearly Identical to A855) {blkid is not compiled on this phone. /etc/fstab is non-existent. Easiest way of making the proper /etc/fstab is to partition the swap as the 2nd partition on the card and only have 2 partitions total. This will ensure that the path for the swap is "/dev/block/mmcblk0p2"}
Motorola Atrix 4G using faux123's 2.4beta (Several kernels for the Atrix 4G do not support swap. faux123's 2.4beta does, however) thanks nabicat
If anyone has any other phones that they can confirm working, PM me and I'll add them to the list. If anyone has a phone that requires any special steps, be sure to list the steps taken along with the PM.
*UPDATE!! 06/23/12*
I am currently running the ICS leak 2033 on my Bionic. Webtop is running ICS Tablet. For starters, even without swap space, this version of webtop runs smooth as butter. Swap space IS still capable, though, and does still improve performance. To those who are leery about having android instead of ubuntu for webtop, I challenge you to try it. Some will like it (I certainly do). Others will hate it.
One change that needs to be noted: ICS kernel doesn't support the -a tag on "swapon" instead of using "-a" you'll need to put the path in the command script instead. In my case, the script now reads "swapon /dev/block/mmcblk0p2". It still needs to be run as root. Webtop picks up immediately when you run the script, so no extra steps there. Chrome beta is sexual on webtop 3.0, btw.
Special Thanks:
Sogarth: Fantastic work with webtop2sd across multiple platforms. Opened monstrous doors for all of this.
tallnerd1985: Compiling a great guide for multiple steps of unlocking webtop
[mbm]: Fixing what Moto broke
Natronics: Providing the UUID solution in this guide
Very nice, I will have to test this out tomorrow. Webtop is working well minus some hiccups with Bluetooth mice not clicking properly and display.
But if I want to use this for Citrix receiver and OpenOffice, will definitely want to get this going.
hey bang, an easier way to find the UUID of the swap partition is to run blkid from terminal....it should actually list it as TYPE="swap".
Awesome thanks! I'll give this a try right now and report back!
Natronics said:
hey bang, an easier way to find the UUID of the swap partition is to run blkid from terminal....it should actually list it as TYPE="swap".
Click to expand...
Click to collapse
Very nice. I'll update the guide when I get a chance to reflect that. I'm guessing from either terminal emulator on phone and terminal in webtop?
I ran it on the webtop terminal. it showed the UUID with the quotations after the UUID. so I removed the quotations and entered the UUID into fstab.
---------- Post added at 05:40 PM ---------- Previous post was at 05:17 PM ----------
this is what it looks like in blkid:
/dev/block/mmcblk0p2: UUID="a0a11111-a94e-4fa1-ada0-69186b667b1e" TYPE="swap"
The UUID should look like this when you paste it in fstab:
UUID=a0a11111-a94e-4fa1-ada0-69186b667b1e
this is what the finished product looks like in fstab:
UUID=a0a11111-a94e-4fa1-ada0-69186b667b1e none swap sw 0 0
If you don't see a UUID when you do blkid...
get the location of the partition using blkid... mine was /dev/block/mmcblk0p2
then do a:
sudo mkswap /dev/block/mmcblk0p2
replace the /dev/block/mmcblk0p2 with your sdcards path if it is different than mine. That will set a UUID to the swap partition.
Just a note to those who aren't familiar with linux and/or UUIDs. YOUR actual UUID will be different. You'll have to actually run blkid in either the webtop terminal or terminal emulator (both work. run as super user).
UUID has benefits and drawbacks when compared with the device paths:
UUID values won't change unless the partition is destroyed and recreated. If it's moved around and/or resized, it'll remain the same.
Paths are easier to determine and remember for the less knowledgeable.
Thanks for clarifying the uuid being different for everyone. Forgot to mention that part.
Sent from my HTC Flyer P510e using XDA App
Oops, got distracted half way though. Anyways, works great! Noticeably snappier right away. Thank you so much for noticing this! Seems like Motorola should have had this on from the get go...
I have Paragon installed on my computer but I am still fuzzy on how to make this swap partition. Can anyone help me?
dB Zac said:
I have Paragon installed on my computer but I am still fuzzy on how to make this swap partition. Can anyone help me?
Click to expand...
Click to collapse
delete or resize the existing partition to create blank space. Make a new partition the size you want for swap. Choose "Linux Swap" as the partition type.
I couldn't find an option for swap partition. I made the space but couldn't get past that step
dB Zac said:
I couldn't find an option for swap partition. I made the space but couldn't get past that step
Click to expand...
Click to collapse
It's called "File System Type" or "Partition Type". It's the same option as where you'll find "FAT32" and "NTFS" file systems. You're looking for either "Linux Swap" or "Swap Space"
Banggugyangu said:
It's called "File System Type" or "Partition Type". It's the same option as where you'll find "FAT32" and "NTFS" file systems. You're looking for either "Linux Swap" or "Swap Space"
Click to expand...
Click to collapse
Man, that is weird. I found all those options but there is no option that says swap.....
Sent from my DROID BIONIC using Tapatalk
dB Zac said:
Man, that is weird. I found all those options but there is no option that says swap.....
Sent from my DROID BIONIC using Tapatalk
Click to expand...
Click to collapse
I'm not using it myself, so I don't know for sure what options you have. Perhaps you can list them or post a screenshot of them so I can know more of what's going on?
NTFS, FAT16, FAT32 and none is all it offers
dB Zac said:
NTFS, FAT16, FAT32 and none is all it offers
Click to expand...
Click to collapse
Hmm that must be a limitation on the free version. You could always download a live CD of ubuntu and use GParted inside that to do the job.
Banggugyangu said:
Hmm that must be a limitation on the free version. You could always download a live CD of ubuntu and use GParted inside that to do the job.
Click to expand...
Click to collapse
confirmed. the free version did not have the "swap" partition options but the paid one does
If you paid for it, that's a little foolish, as downloading ubuntu is free and comes w/ GParted on the live CD.

[Q] Reset swap doesnt want to work

On some roms i cant set swap, my 2nd partition is linux swap and than when i try to enable it its just showing enabling... and nothings happens, only got some SU permissions appearing all the time!
Is there any solution/fix for my problem?
goldenr said:
On some roms i cant set swap, my 2nd partition is linux swap and than when i try to enable it its just showing enabling... and nothings happens, only got some SU permissions appearing all the time!
Is there any solution/fix for my problem?
Click to expand...
Click to collapse
are you using swapper2 app? please specify more info on your problem
You dont need to use an app to get swap. I prefer three lines of code in /system/etc/hw_config.sh
mkswap /dev/block/mmcblk0p2
echo 30 > /proc/sys/vm/swappiness
swapon /dev/block/mmcblk0p2
Try this to see if works
hunff said:
You dont need to use an app to get swap. I prefer three lines of code in /system/etc/hw_config.sh
mkswap /dev/block/mmcblk0p2
echo 30 > /proc/sys/vm/swappiness
swapon /dev/block/mmcblk0p2
Try this to see if works
Click to expand...
Click to collapse
but if rom/kernel doesn't support then gonna use swapper2 from the market.
or else follow hunff instruction and open terminal emulator
-type free
-swap 0 0 0 = not active use swapper2
-swap any value other than 0 = active
Thank you it works!
CKKnot said:
are you using swapper2 app? please specify more info on your problem
Click to expand...
Click to collapse
I am using reset swap app as my title says!
but i tried swapper2 and it says such a directory doesnt exist or other error message forgot it.
I thought ,that swap doesn't work if the kernel doesn't supporting it.
So you say that you can have swap if you have stock kernel(by using swapper?.
Sent from my E15i using Tapatalk
not sure about what he said...
i know you cant use swap partition to set swap with stock kernel
but dont know about swapper through FAT32

[DEV-ONLY][RECOVERY]CWM 6.0.1.x Using Pseudo File System

During my time hacking on android I've discovered some nice easter eggs deep in the android platform. One such easter egg is the mounting of ext4 images directly in the init.rc script. This is a feature I have never seen used by any oems and only by one custom rom [ EDIT: and by letama in his Sony Xperia Boot Manager ]! looking at the git logs this functionality has been present since September 2010 [ commit 49b8124a1759cb8b27e0c21a1a5a54b8a81bdb19 ]. What this effectively gives us is the ability to overlay a pseudo partition layout over the top over the existing layout, thus avoiding any "Danger" of accidental bricking the device by reformatting the SDCard. This is very similar to the way archos mount the stock file system and a variation/extension on the existing methods we use for the SDE Roms.
Although the explanation assumes the use of the SD models it should be fairly straightforward to apply the the HDD models.
THE METHOD:
PART 1 - Prepare a recovery ext4 image file
1. Build CWM6 from the CM10 source.
2. Modify The Recovery's init.rc file to look something similar to this
Code:
on early-init
start ueventd
on init
export PATH /sbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard
symlink /system/etc /etc
mkdir /boot
mkdir /sdcard
mkdir /system
mkdir /data
mkdir /cache
mount /tmp /tmp tmpfs
mkdir /partitions 0771 system system
mount ext4 /dev/block/mmcblk0p4 /partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 [email protected]/partitions/CAC /cache nosuid nodev
mount ext4 [email protected]/partitions/DATA /data nosuid nodev
mount ext4 [email protected]/partitions/SYS /system
mount ext4 [email protected]/partitions/SDCARD /sdcard nosuid nodev
mount ext4 [email protected]/partitions/BOOT /boot
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
service ueventd /sbin/ueventd
critical
service recovery /sbin/recovery
service adbd /sbin/adbd recovery
disabled
# Always start adbd on userdebug and eng builds
# In recovery, always run adbd as root.
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/functions adb
#write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer
write /sys/class/android_usb/android0/iProduct $ro.product.model
write /sys/class/android_usb/android0/iSerial A101S_REC
#start adbd
setprop service.adb.root 1
# Restart adbd so it can run as root
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
3. Modify the etc/recovery.fstab to look like this
Code:
# mount point fstype device
/cache ext4 /dev/block/loop1
/data ext4 /dev/block/loop2
/system ext4 /dev/block/loop3
/sdcard ext4 /dev/block/loop4
4. Creating an empty ext4 image file name REC and mount it on your pc. [ 5MB should do it ]
5. Copy the contents of the built recovery/root directory to the root of your mounted image.
6. chmod init.rc , default.prop and ueventd.rc to 644 ( rw-r-r- )
7. umount the ext4 image and push it to the root of you data partition
That's stage 1 complete. Part 2 Will Follow Shortly.....
Part 2 - Make a dual boot initramfs.cpio.lzo
1. Change the name of the /data directory to /bootdata by modifying the etc/mountpoints file in the initramfs.cpio.lzo. This stops CWM getting confused when trying to un/mount the data partition
Code:
mount_name mount_dev mount_point mount_fs mount_opts volume_name error_code custom_opt
rawfs /dev/mmcblk0p1 /mnt/rawfs rawfs none 150
system /dev/mmcblk0p2 /mnt/system ext4 rw,noatime,noexec system 152
bootdata /dev/mmcblk0p4 /bootdata ext4 rw,noatime,noexec bootdata 154 crypt_compat
storage /dev/mmcblk1p1 /mnt/storage ext4 rw,noatime #storage_name# 155
storage_A80S /bootdata/media /mnt/storage bind bootdata none 155
storage_A101S /bootdata/media /mnt/storage bind bootdata none 155
storage_A101XS /bootdata/media /mnt/storage bind bootdata none 155
storage_LUDO /bootdata/media /mnt/storage bind bootdata none 155
storage_A80H /dev/hdd1 /mnt/storage ext4 rw,noatime #storage_name# 155
storage_A101H /dev/hdd1 /mnt/storage ext4 rw,noatime #storage_name# 155
usbhost_ehci /dev/storage_ehci1 /mnt/usbhost_ehci vfat rw,noatime,utf8,shortname=mixed none 156
usbhost_otg /dev/storage_otg1 /mnt/usbhost_otg vfat rw,noatime,utf8,shortname=mixed none 156
rfsext4 /dev/loop0 /new-root ext4 rw,noatime none 157
rfsext3 /dev/loop0 /new-root ext3 rw,noatime none 157
rootfs /dev/loop0 /new-root squashfs ro,cts_compat none 157
ramdisk /tmp/ramdisk /ramdisk vfat loop,rw,utf8,shortname=mixed #ramdisk_name# 158 ramdisk,ramdisk_size=256
2. Using sirduke989 dmenu initramfs you can modify the init script in the initramfs to mount /bootdata instead of /data and also add /bootdata/REC and /bootdata/BOOT to the list
of known locations , I see this a temporary measure as there are a number of other ways to enable dual ( Triple?!? ) booting
3. Flash the modified initramfs and your choice of kernel using either the recovery menu or kd_flasher, I used the 3.0.21 kernel extracted from the 4.0.24 aos file.
You should now be able to boot into CWM Recovery!
{
"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"
}
Clearly I'm a developer not a photographer!!
Part 3 - Create rest of the "partition" images.
You should have a /partitions directory in you device root, This is what is normally mounted as your /data ( /dev/block/mmcblk0p4) and contains normal android user data e.g installed app settings databases etc. This is where I've created the reset of my Partitions which are just more ext4 images files. I did this using "dd if=/dev/zero ...." and "mke2fs -text4 ...." on the device through adb whilst booted into CWM. This saved time in pushing large empty ext4 files from my pc.
I called my image CAC ( cache ) DATA ( data ) SYS ( system ) SDCARD ( sdcard ) BOOT ( boot ) you can obviously call them what you like and place them anywhere as long as you match up the image names with those in init.rc and make sure the loop numbers are correct in the etc/recovery.fstab everything should be fine.
You can play around with the files sizes, I have an 8gb my current file sizes at the moment are
BOOT = 25MB
CAC = 500MB
DATA = 3GB
SYS = 500MB
SDCARD = 2GB
The sdcard mount point is probably worth pointing at an external sd if you have one available. I have a 32GB Class 10 that I'll probably set up.
After you've setup your psuedo partitions you should then be able to reboot into recovery, if you've done things correctly you mount output should contain the following
Code:
/dev/block/mmcblk0p4 on /partitions type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
/dev/block/loop1 on /cache type ext4 (rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
/dev/block/loop2 on /data type ext4 (rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
/dev/block/loop3 on /system type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
/dev/block/loop4 on /sdcard type ext4 (rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered)
/dev/block/loop5 on /boot type ext4 (rw,relatime,user_xattr,barrier=1,data=ordered)
Everything seems to function correctly, I have successful done a backup and restore of my system partition. I have also applied CWM-SuperSU.zip through install zip from sdcard. Mounting and Remounting works although I'm not sure if Mount USB Storage works yet, I didn't on linux and I've not tested on windows and finally wiping and formating was also successful.
Part 4 - Notes on setting up rom images.
Now you may of already realized normal archos images don't come as separate the /boot and /system images so work is require to split them up.
Also if you want to split the /system from the reset of a archos image your boot partition will need to be about 50MB as archos have they /bin /lib /usr directories which contains binary files that use /lib/libuClibc-*.so as it's libc which brings there root filesystem in at around 38MB.
There is a very strong case for ditching these binaries especially when using AOSP/CM based roms. My intial tests show this is possible.
Just like the recovery init.rc Similar changes have to be made to the roms init.rc
Moving Forward:
of course, there's a lot to do but I wanted to at least get this initial information out there for people to consider. I'm currently booting a Linaro 4.1.1 rom using the split partitions. I have also been working on better booting methods which is why I haven't given any details re the initramfs init script but It's fairly straight forward to adjust and adapt. I'll write up more details soon!
More Research!
As I mentioned, I've been further looking into different booting methods and I think I'm approaching what could be a workable solution that will make the Gen9 more like standard android devices
Here's some more of my findings
1. It turns out that we can dump the existing initramfs.cpio.lzo and we can use a standard android ramdisk layout as the android init will load instead of the init script that is currently being used, this also removes the need for switch root and other nonsense that archos have in there. There was one gotcha when had me stumped for about ten minutes, I needed to add "write /sys/class/leds/lcd-backlight/brightness 75" to the init.rc to turn the screen on.
2. It's possible to stop android either using adb shell stop or stopping each service zygote etc, and start CWM while android is booted. It's probably also feasible the manage booting between recovery and android using the persist properties system which should make switching between the 2 fairly easy to control without much tweaking to any binaries. Looking at other devices, namely samsung, they seem to do something similar with recovery being in the same boot.img as the standard files, they simply load a recovery.rc instead of the main init.rc, this might mean that we have to patch CWM to load the correct init.rc I've not looked at the code properly yet but It's not going to be an issue anyway as all the code is fully available, You've gotta love open source.
3. By mounting /dev/block/mmcblk0p1 to /mnt/rawfs we are still able to use abcbox, reboot_into writes to the params file in the partition to control boot switching, so we can maintain booting into sde while leaving the stock android partition in place. I was unable to get any immediate joy from kd_flasher, that maybe because we currently have the ramdisk we want to overwrite mounted as the rootfs. Again I can't imagine it being too difficult to jig this, It can probably be worked out by looking at the current recovery ramdisk scripts should kd_flasher style functionality be required at any point.
4. Most of the binaries that rely on uClibc can be recompiled against bionic without any issue, usb_modeswitch for example. If there are any closed source ones, then the dynamic linker ld-uclibc or whatever is called, ultimately symlinks back to uClibc and we can just grab the one file and place it in the /lib directory. I tested /usr/bin/lsdvd in this way and It seemed to work fine.
I've got all this going on while still leaving a stock android fully intact, which is a great fallback Just in case.... Keeping these modifications at a safe level is one of the primary goals to enable much wider use
I'll put together some examples within the next couple of days to demostrate what I'm talking about here.
I've got a Linaro 4.1.1 ( JRO03R ) which has working powervr drivers with a 3.0.21 kernel, although that's about all that's working on it at the minute.
It's more a proof of concept than anything else, The kernel would need recompiling to add tracefs functionality which is required by jellybean but using the same magic should leave the powervr drivers functioning still, If anyone's interested I can stick that up, I've foolishly deleted ( misplaced/can't remember ) the device files I used to build this.... Too many android source trees and not using git properly leads to school boy errors.
I'm currently working on an omapzoom 4.1.2 tree using the blaze_tablet device as a base, I think this may yield the best results for the archos.
I suppose one other thing to do is the fix up a stock rom to use these methods and give it CWM, that should be pretty simple to do. Although ICS is ooold and I'm really not a fan of some of archos' methods e.g booting 4 different devices off one firmware. Although to their credit they do demostrate just what possible with deviating android from it's normal standard structures.
Hopefully this has whetted your appetites, I'm pretty excited about what's possible here as I feel it brings these archos devices in line with most others.
Me Again!
Just a cheeky little update, I been trying the figure out the best approach to handle switching between android and recovery mode. In effect I kind of wanted to create a Stage 4 bootloader! because you can never have too many bootloaders LOL I certainly wanted to do a "proper" job on it and try to avoid changes to the android platform code.
While to doing research into this I found this patch to the linux kernel which the android team submitted for review, Reading the mailing list thread I don't think it's been accepted yet! It's true what they say about the Kernel Mailing List, You need to bring your A game and be sure of what your doing..
Anyways the patch add a boot-control-block driver to kernel which check for a boot flag, which is exactly what I need to make booting into alternative configuration nice and simple. I suppose it wouldn't be too difficult to chuck in support for the fastboot protocol on one of those configurations. So a CWM Shouldn't be too far off now!!!
As a little treat I've attached a recovery based ram disk if anyone what's to play, just flash it with you favourite kernel on to your sde partition. Then You can boot into recovery and set your self up a pseudo partition image layout through adb. You won't be able to be into android, obviously until you put your old initramfs back.......
This is totally unsupported.
Click to expand...
Click to collapse
I'm just chucking up for those who want to get a feel for to do so. If your uncomfortable playing around in this area then stand well back, It's not prime time yet!!!!
However Feel free to ask questions of a technical bent but If you can't get it to boot then tough luck I'm afraid for now! :laugh:
You shouldn't be able to do any damage with this be I wouldn't go selecting wipe/format etc until you've got some partition images sorted.
I've add abcbox to sbin and symlink reboot_into. It does not seem to fully reboot but It will set the boot flag which you then follow with a call to reboot, That will reboot back into CWM (sde).
Onward
EDIT: Here's the Init.rc and etc/recovery.fstab that It attempts to use.
Code:
on early-init
start ueventd
on init
export PATH /sbin
export ANDROID_ROOT /system
export ANDROID_DATA /data
export EXTERNAL_STORAGE /sdcard
symlink /system/etc /etc
mkdir /boot
mkdir /sdcard
mkdir /system
mkdir /data
mkdir /cache
mkdir /mnt
mkdir /mnt/rawfs
mount /tmp /tmp tmpfs
mkdir /partitions 0771 system system
mount ext4 /dev/block/mmcblk0p4 /partitions
mount rawfs /dev/block/mmcblk0p1 /mnt/rawfs
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 [email protected]/partitions/CAC /cache nosuid nodev
mount ext4 [email protected]/partitions/DATA /data nosuid nodev
mount ext4 [email protected]/partitions/SYS /system
mount ext4 [email protected]/partitions/SDCARD /sdcard nosuid nodev
mount ext4 [email protected]/partitions/BOOT /boot
on boot
ifup lo
hostname localhost
domainname localdomain
class_start default
service ueventd /sbin/ueventd
critical
service recovery /sbin/recovery
service adbd /sbin/adbd recovery
disabled
# Always start adbd on userdebug and eng builds
# In recovery, always run adbd as root.
on property:ro.debuggable=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 18D1
write /sys/class/android_usb/android0/idProduct D001
write /sys/class/android_usb/android0/functions adb
#write /sys/class/android_usb/android0/enable 1
write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer
write /sys/class/android_usb/android0/iProduct $ro.product.model
write /sys/class/android_usb/android0/iSerial A101S_REC
write /sys/class/leds/lcd-backlight/brightness 75
#start adbd
setprop service.adb.root 1
# Restart adbd so it can run as root
on property:service.adb.root=1
write /sys/class/android_usb/android0/enable 0
restart adbd
write /sys/class/android_usb/android0/enable 1
Recovery.fstab
Code:
# mount point fstype device
/cache ext4 /dev/block/loop0
/data ext4 /dev/block/loop1
/system ext4 /dev/block/loop2
/sdcard ext4 /dev/block/loop3
Any words about hdd versions?
DragosP2010 said:
Any words about hdd versions?
Click to expand...
Click to collapse
I all depends how you want the structure it, What it would change is the mount point of the paritions directory. After that. everything is loop mounted and sitting on top of the existing structure.
Code:
mount ext4 /dev/block/mmcblk0p4 /partitions
Great stuff!!!!
Hey trevd,
that's fantastic... i will definitely try this CWM in a few days with my custom kernel and bootloader (mountpoint will need some tweaks as well ).
I'm very busy these days, so i gess i'll leave some longer statements to the recent developments in a few days.
Just in short... it's very pleasant to see all these open developments popping up and i really, really appreciate this kind of hacking!
Keep on your great work... you rock!!
Cheers,
scholbert
Hi Trevd,
Nice job!
I've been using the same kind of trick on my Xperia S boot manager project, recovery on loops and mount [email protected] in inits. You may want to take a look at what I did there (see my sig), it may have some use for your project.
Basically, what I do is storing multiple kernels+cpios on the regular kernel partition. I use one (trimmed down to maximize space) to handle the boot logic and cwm, and I have enough space to handle two "regular" kernels. I handle kernel switch just before they load with a small assembly loader. It works very nicely on Xperia, and it's very nice to be able to dual boot with isolated cwms. I can't remember maximum size on a g9 kernel rawfs file, but I think you could have at least enough space to have two kernels to isolate recovery.
Hey letama,
nice to read you :highfive:
letama said:
I've been using the same kind of trick on my Xperia S boot manager project, recovery on loops and mount [email protected] in inits. You may want to take a look at what I did there (see my sig), it may have some use for your project.
Click to expand...
Click to collapse
Cool stuff again...
letama said:
Basically, what I do is storing multiple kernels+cpios on the regular kernel partition. I use one (trimmed down to maximize space) to handle the boot logic and cwm, and I have enough space to handle two "regular" kernels. I handle kernel switch just before they load with a small assembly loader. It works very nicely on Xperia, and it's very nice to be able to dual boot with isolated cwms. I can't remember maximum size on a g9 kernel rawfs file, but I think you could have at least enough space to have two kernels to isolate recovery.
Click to expand...
Click to collapse
AFAIK, we got around ~30MBytes in the raws partition on our tablets so would be possible to put some more kernel+cpios here easily.
Anyway, made some experiments with my latest u-boot port for the tablet this weekend.
I was able to bring up my A80S completely from MicroSD and boot into CWM by using uImage and uInitramfs (based on trevd's CWM image).
There's also some lowlevel multiboot implemented now by using the volume keys... but i know that i use a very special setup, so this is more a proof of concept and not a suitable environment for the average user
Cheers,
scholbert
Thanks Letama + Scholbert
I'll look at all this stuff this week....As a aside, I've played around with mmcblk0p3 and given myself an mmcblk0p5 / 6 of 4MB each. I found parted to be pretty useful (read:safe) for this..... I'm dubious about playing around with the rawfs too much at this point, mainly because I don't understand it fully, yet!.
Have you guy seen this https://github.com/swetland/omap4boot ( I think it's along the line of what Scholbert been working with/on )
Like I've mentioned to ultimate goal is a solution that is "safe" for the average user and also leaves the rest of the tablet in-tact, it maybe a lofty goal but worth a shot. :good:
Thanks for the input guys!
scholbert said:
AFAIK, we got around ~30MBytes in the raws partition on our tablets so would be possible to put some more kernel+cpios here easily.
Click to expand...
Click to collapse
30 for init kernel ? That's plenty indeed! Cool!
Anyway, made some experiments with my latest u-boot port for the tablet this weekend.
I was able to bring up my A80S completely from MicroSD and boot into CWM by using uImage and uInitramfs (based on trevd's CWM image).
There's also some lowlevel multiboot implemented now by using the volume keys... but i know that i use a very special setup, so this is more a proof of concept and not a suitable environment for the average user
Click to expand...
Click to collapse
Nice job! Too bad that Archos doesn't do this on their board with a small internal switch. Would be cool for people like me with big fingers and poor soldering skills
trevd said:
I'll look at all this stuff this week....As a aside, I've played around with mmcblk0p3 and given myself an mmcblk0p5 / 6 of 4MB each. I found parted to be pretty useful (read:safe) for this..... I'm dubious about playing around with the rawfs too much at this point, mainly because I don't understand it fully, yet!.
Click to expand...
Click to collapse
Hummm... You're going to end with a full re-partitioning scheme with system and data if you continue this way . Just be careful when you recreate partitions to let the empty space at the beginning of the disk untouched, instant brick ahead if you go there...
Just in case, here is what I did with my repartition script (do you have it ?): delete p3, delete p4, re-create p3 (careful with start point, leave the hole! it should start just after p2) as extended partition, big enough to hold the new partitions, recreate p4 (same thing about the hole, it should start after p3) with what remains and then you can create p5,p6,p7 with the size you want inside p3.
Last advice: rawfs, don't touch it .
Anyway, the good thing with what I did on Xperia S is that you don't mess with rawfs and re-partition, it's just like flashing a very big SDE kernel from recovery with unmodfified sde firmware, that's all. If I find some time, I'll take a look to see if we can do the same thing here.
letama said:
Just in case, here is what I did with my repartition script (do you have it ?): delete p3, delete p4, re-create p3 (careful with start point, leave the hole! it should start just after p2) as extended partition, big enough to hold the new partitions, recreate p4 (same thing about the hole, it should start after p3) with what remains and then you can create p5,p6,p7 with the size you want inside p3.
Click to expand...
Click to collapse
Hi
Yes I have read your previous threads on the subject which provided alot of the inspiration for the work currently at hand, It is also why I am being ultra careful around the partitions
I think maybe I'm just being too clever trying too pull everything back a step into the intramfs when we can just do the old switch root method method.... It's a little messy on the inside but it will get the job done!
Well, I don't like much the switch root too, it's not a very "Android way" of doing things and make some apps not very happy with it, but yes, it will get the job done, one root for recovery, one root for firmware. And Archos stock would be difficult without switch root, they did put far too much stuff outside of system.
letama said:
Well, I don't like much the switch root too, it's not a very "Android way" of doing things and make some apps not very happy with it, but yes, it will get the job done, one root for recovery, one root for firmware. And Archos stock would be difficult without switch root, they did put far too much stuff outside of system.
Click to expand...
Click to collapse
I'm very much for the "Android Way" I believe the archos stock roms can be re-jigged as the stuff outside of the system is not required by the system, this is all stuff that is a result of the BuildRoot build system and has a dependency on uClibc.
I'm going to try and get something usable this week, can I store additional files in the rawfs partition without running into trouble?
trevd said:
I'm very much for the "Android Way" I believe the archos stock roms can be re-jigged as the stuff outside of the system is not required by the system, this is all stuff that is a result of the BuildRoot build system and has a dependency on uClibc.
Click to expand...
Click to collapse
Well, it's required. It's used inside Android, it handles audio, wifi, codecs, smb...
I'm going to try and get something usable this week, can I store additional files in the rawfs partition without running into trouble?
Click to expand...
Click to collapse
In rawfs or initramfs ? I wouldn't add any file in rawfs, it would be difficult to do and I don't know how would behave the bootloader if it sees new files there. Initramfs you're free to do whatever you want until you reach maximum size of kernel+initramfs.
trevd said:
Have you guy seen this https://github.com/swetland/omap4boot ( I think it's along the line of what Scholbert been working with/on )
Click to expand...
Click to collapse
Well kind of... while i try to stick with the MicroSD our fellow vincencb follows the omap4boot path.
He already made a port of barebox bootloader to work with this tool and pushed it to the repos.
This way you may put anything you like on the tablet's RAM by using MicroUSB for communication and file transfer.
My way is more to get a full featured u-boot and put it into a state, where it might replace stock loader.
Last step is to put it in internal eMMC... so this is also research and development for now.
trevd said:
Like I've mentioned to ultimate goal is a solution that is "safe" for the average user and also leaves the rest of the tablet in-tact, it maybe a lofty goal but worth a shot. :good:
Click to expand...
Click to collapse
Yepp that sounds like a reasonable approach.
letama said:
30 for init kernel ? That's plenty indeed! Cool!
Click to expand...
Click to collapse
To be even more precisely, there are 32512*1K blocks for the rawfs partition.
On my device there's ~12MB left...
letama said:
Nice job! Too bad that Archos doesn't do this on their board with a small internal switch. Would be cool for people like me with big fingers and poor soldering skills
Click to expand...
Click to collapse
Yeah, a real switch would be nice indeed... there's some unused testpoints giving us additional GPIO
Need to solder though...
trevd said:
I'm very much for the "Android Way" I believe the archos stock roms can be re-jigged as the stuff outside of the system is not required by the system, this is all stuff that is a result of the BuildRoot build system and has a dependency on uClibc.
Click to expand...
Click to collapse
Some stuff outside of system is quite useful and gives us something like a minimal linux ecosystem.
Very useful at console level... some tools seem to be used by the Android system as well.
trevd said:
I'm going to try and get something usable this week, can I store additional files in the rawfs partition without running into trouble?
Click to expand...
Click to collapse
Mmmh, letama maybe right with being very careful with this part of internal storage. If it get's corrupt you'll risk a brick (could be restored though by using external boot mechanism).
Anyway the best would be to mount it RW and use the kernel driver to access it... the unknown part is still the bootcode.
There's some kind of allocation table at the beginning of rawfs partition. It is yet unknown how bootcode behaves with an additional entry
Anyway, this is a real nice project and i would really appreciate to see it pushing forward.
Take your time trevd, and again thanks a lot for contribution!!
Have a nice day,
scholbert
Not to put this down in any way, but wouldn't TWRP be better for the G9? It has a full touch tablet UI, which is better than CWM's
Sent from my Galaxy Nexus using Tapatalk 2
Quinny899 said:
Not to put this down in any way, but wouldn't TWRP be better for the G9? It has a full touch tablet UI, which is better than CWM's
Sent from my Galaxy Nexus using Tapatalk 2
Click to expand...
Click to collapse
Hi Quinny
There's nothing to stop us using whatever recovery we like.... they all work the same way ( I think ) , i.e the code is compiled into a recovery binary. Unfortunately my touch screen stopped working long ago so I wouldn't really benefit
scholbert said:
To be even more precisely, there are 32512*1K blocks for the rawfs partition.
On my device there's ~12MB left...
Click to expand...
Click to collapse
Ah, yes, but there is space reserved for each file there, what I have to figure is how much is reserved for custom file (sde kernel). I don't want to have to shift the files located after custom to make room for sde kernel , it would defeat the "no-fuss/no-risk" of the method.
Anyway the best would be to mount it RW and use the kernel driver to access it... the unknown part is still the bootcode.
There's some kind of allocation table at the beginning of rawfs partition. It is yet unknown how bootcode behaves with an additional entry
Click to expand...
Click to collapse
Definitely. Re-partitioning is much safer if space is needed.
trevd said:
.... they all work the same way ( I think ) , i.e the code is compiled into a recovery binary.
Click to expand...
Click to collapse
This is a good keyword: The recovery binary itself!
Most tools inside the recovery are simply linked to busybox, which itself is a link to recovery executable.
In other words, we have some code responsable for the menu and framebuffer stuff and we have busybox.
The strings command gave me version 1.2.0. Now my question...
How to configure this part of code?
I'd like to enhance the busybox part.
Could you please provide a little to howto for a compiler run?
Will i need all that Android stuff installed...
I you have any clue, please point me in the right direction.
Lazy,
scholbert
scholbert said:
How to configure this part of code?
I'd like to enhance the busybox part.
Could you please provide a little to howto for a compiler run?
Will i need all that Android stuff installed...
Click to expand...
Click to collapse
Yes, you need full android repo. Android Build system is messy and tightly coupled, busybox is compiled with bionic (android libc), recovery is built on top of it with few android libraries links. Isolating all this "mess" would be difficult. Except disk space required, there is no big deal in getting full android repo.
I'd suggest to take a look at this, you should do the "Prepare the Build Environment" section.
I don't know how trevd built his recovery, but what I did is create a gen9 device to get proper configuration for recovery (frame buffer config, ...). You can get mine if you want, it's a little outdated (latest cwm doesn't need a specific gfx anymore, the custom one I used has been moved to upstream for instance), but it should give you a base.
To do that, you have to create an "archos" directory in cm9/device directory, then from inside it do:
Code:
git clone git://gitorious.org/archos-ics/device-g9.git gen9
Then, you need to setup the build env once. From cm9 root, you have to do that:
Code:
. build/envsetup.sh
(it setups android build environment)
then
Code:
lunch
then choose full_gen9-eng.
(it selects device target for build)
You should have something like that:
Code:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=full_gen9
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76L
============================================
from this point, you can compile:
make -j4 recoveryimage (change j4 with the number of parallel build you want depending on your cpu).
whole recovery fs should be in out/target/product/gen9/recovery/root, with recovery command in sbin
Last, how do you want to extend it? If you want to add custom commands, take a look at cwm bootable/recovery/extendedcommands.c, it may be easier to add stuff there than in busybox.

Zram customisation

hi,
{
"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"
}
i'm creating this new thread in order to help bring back to life our p880.
Android is like linux (of course it is)
it caches the background processes that are not currently in use and uses the physical ram for only the active apps.
But what happens if the app needs more physical ram ?
It has 2 ways to get it.
1. zram
2. swap
Let's go first with swap. Swap is slow, it uses the disk storage for "physical ram" but it's not a physical ram.
It only emulates the physical ram. What does this mean ? It does exactly what ram does.
But ram is at least 1 milisecond faster than hard disk. What ram does in 1ns (depends on the ram) the hard disk do it in 1ms (maybe more, depends on the disk).
Ram writes and reads every single "thing" the cpu needs to calculate and it's not found in L1,L2,etc cache...
Ram is our no1 upgrade on a pc hardware when we need to make it faster, because it cooperates with the cpu at everything. (cannot explain it with more simple words)
Zram on the other hand it's compressed physical ram. This way we sucrifice a very tiny amount of physical ram speed and cpu usage to compress the physical ram. But cpu and ram are 1 million times faster than the hard disk.
check your available ram
Code:
adb shell free
Anyway, below i will show you a way to double or triple your zram.
Download my attached file below,unzip and place it in /system/etc/init.d
Code:
adb root
adb remount
adb push <path to file>/97zram /system/etc/init.d/
check permissions and ownership.
They must be 755 and root:shell. If they are not, then do:
Code:
adb shell
su
chmod 755 /system/etc/init.d/97zram
chown root:shell /system/etc/init.d/97zram
Good. Now navigate back to /system/build.prop and open it like a text to edit it
At the end add the line:
Code:
persist.service.zram=200
200 is the size and it means 200% of the physical ram.
Of course you can use a lower value if you want.
Now reboot.
check again the available ram.
adb shell free
Surprise.
How much of ram do you have now ?
phys.ram + zram = ???
If you like it, hit thanks.
*If your init.d isn't executed on boot for some reason *maybe supersu blocks it *maybe the kernel has some mistake *for any reason ... you can use kernel adiutor to emulate init.d on boot.
**For those that don't have init.d support by their kernel , they must install busybox to install sysinit or/and init
***Those that don't have zram partition at all, too bad, change kernel because that one doesn't support zram at all.
XDA:DevDB Information
Zram and various tweaks for p880, Tool/Utility for the LG Optimus 4X HD
Contributors
kessaras
Version Information
Status: Stable
Created 2016-12-22
Last Updated 2017-03-22
p880 full/all tweaks
this is a script that goes in pair with my 97zram script.
In addition now in this script i have set some tweaks , as many as i can and only those that are not harmful and can damage a phone.
- Better mount point flags
- Internal storage:
nomerges
nr_requests
lower safe read_ahead_kb
cfq scheduler
remove add_random (if its enabled in the kernel by default)
rq_affinity
- external storage:
nomerges
nr_requests
lower safe read_ahead_kb
cfq scheduler
remove add_random (if its enabled in the kernel by default)
rq_affinity
- Net and virtual memory:
tcp_congestion_control
disable_ipv6
dirty_writeback_centisecs
dirty_expire_centisecs
dirty_background_ratio
dirty_ratio
drop_caches
kernel.panic
min_free_kbytes
overcommit_ratio
panic_on_oom
full swappiness
vfs_cache_pressure
- Kernel customisations
disable ksm
lowmemorykiller
read_wakeup_threshold
write_wakeup_threshold
- Only the safe internet customisations
tcp_timestamps
tcp_tw_reuse
tcp_sack
tcp_tw_recycle
tcp_window_scaling
tcp_keepalive_probes
tcp_keepalive_intvl
tcp_fin_timeout
- Reduce Vibration strength
How to "install" it ? Simple. just like you "installed" the zram script.
Set exactly same permissions, set ownership to root:shell and reboot.
Reserved for OP (Future use) If Needed
kessaras said:
hi,
i'm creating this new thread in order to help bring back to life our p880.
Android is like linux (of course it is)
it caches the background processes that are not currently in use and uses the physical ram for only the active apps.
But what happens if the app needs more physical ram ?
It has 2 ways to get it.
1.zram
2.swap
Let's go first with swap. Swap is slow, it uses the disk storage for "physical ram" but it's not a physical ram.
It only emulates the physical ram. What does this mean ? It does exactly what ram does.
But ram is at least 1 milisecond faster than hard disk, what ram does in 1ns (maybe less, depends on the ram, but not slower) disk does it in 1ms (maybe more maybe less, depends on the disk).
Ram writes and reads every single "thing" the cpu needs to calculate and it's not found in L1,L2,etc cache...
Ram is our no1 upgrade on a pc hardware when we need to make it faster, because it cooperates with the cpu at everything. (cannot explain it with more simple words)
Zram on the other hand it's compressed physical ram. This way we sucrifice a very tiny amount of physical ram speed and cpu usage to compress the physical ram. But cpu and ram are 1 million times faster than the hard disk.
check your available ram
Anyway, below i will show you a way to double or triple your zram.
Download my attached file below,unzip and place it in /system/etc/init.d
check permissions , owner and group.
Our current kernels now that are also compatible with f2fs do that by default, but you must check it , just in case they aren't set by default.
Good. Now navigate back to /system/build.prop and open it like a text to edit it
At the end add the line:
200 is the size and it means 200% of the physical ram.
Of course you can use a lower value if you want.
Now use kernel adiutor to emulate init.d on boot since it's not enabled by default.
Now reboot.
check again the available ram.
adb shell free
Surprise.
How much of ram do you have now ?
phys.ram + zram = ???
If you like it, hit thanks.
**The 98balance is just a gift from me.
Those are my default settings for everyday use.
Init.d can do anything if we have some time to manually make our own script.
Have fun
XDA:DevDB Information
Zram, Tool/Utility for the LG Optimus 4X HD
Contributors
kessaras
Version Information
Status: Stable
Created 2016-12-22
Last Updated 2016-12-22
Click to expand...
Click to collapse
I copy the file to /system/init.d by file explorer. I can set permisdion to 755 but I can"t change the group to shell (the only option is root)
Then I modified the build prop as suggested and activated emulated init in Kernel Adiutor.
After reboot my ram still not changed.
Any suggestion?
Sent from my LG-P880 using XDA Labs
masmoe said:
I copy the file to /system/init.d by file explorer. I can set permisdion to 755 but I can"t change the group to shell (the only option is root)
Then I modified the build prop as suggested and activated emulated init in Kernel Adiutor.
After reboot my ram still not changed.
Any suggestion?
Click to expand...
Click to collapse
Use another file manager that has more options.
It works only if kernel supports init.d.
kessaras said:
Use another file manager that has more options.
It works only if kernel supports init.d.
Click to expand...
Click to collapse
In which ROM you have tested this?? And What kernel you had tested with.
Salman Al-Badgail said:
In which ROM you have tested this?? And What kernel you had tested with.
Click to expand...
Click to collapse
Aosp6. Works on aosp7 and all.
Also works on almost any Rom. Omni,rr and more. It won't work only to kernels that don't support init.d
kessaras said:
Aosp6. Works on aosp7 and all.
Also works on almost any Rom. Omni,rr and more. It won't work only to kernels that don't support init.d
Click to expand...
Click to collapse
Thanks for reply, Can you tell me what is limit for extending RAM or in other words maximum limit of this RAM
Salman Al-Badgail said:
Thanks for reply, Can you tell me what is limit for extending RAM or in other words maximum limit of this RAM
Click to expand...
Click to collapse
At 250 it gave me an error. I believe it's close to 200 the limit
Did it only changed the swap or zram happens to be called swap when running "free"?
That was my output:
Code:
$ free -m
total used free shared buffers cached
Mem: 968 936 32 0 1 279
-/+ buffers/cache: 655 313
Swap: 1453 30 1422
Edit:
Forgot to mention:
Code:
persist.service.zram=150
Danielcdar said:
Did it only changed the swap or zram happens to be called swap when running "free"?
That was my output:
Code:
$ free -m
total used free shared buffers cached
Mem: 968 936 32 0 1 279
-/+ buffers/cache: 655 313
Swap: 1453 30 1422
Edit:
Forgot to mention:
Code:
persist.service.zram=150
Click to expand...
Click to collapse
exactly. good job. swap is called anyway. there isn't a word like zram anywhere. zram we call it because we use the ram to swap not the hard disk :good:
kessaras said:
exactly. good job. swap is called anyway. there isn't a word like zram anywhere. zram we call it because we use the ram to swap not the hard disk :good:
Click to expand...
Click to collapse
Cool, but, for it to work I had to manually run
Code:
swapoff /dev/block/zram0
Tried adding
Code:
busybox swapoff dev/block/zram0
To your script, but, I guess the rest of the script is executed before it finishes "cleaning" the swap, and I am no programmer.
kessaras said:
Use another file manager that has more options.
It works only if kernel supports init.d.
Click to expand...
Click to collapse
I am on AOSP 7.1.1 and use es explorer pro.
Are any option in Developer menu should be activated? Or should I install adb application?
Btw I use Termux for terminal.
Sent from my LG-P880 using XDA Labs
Danielcdar said:
Cool, but, for it to work I had to manually run
Code:
swapoff /dev/block/zram0
Tried adding
Code:
busybox swapoff dev/block/zram0
To your script, but, I guess the rest of the script is executed before it finishes "cleaning" the swap, and I am no programmer.
Click to expand...
Click to collapse
busybox echo 1 > /sys/block/zram0/reset
does swap off too why add
busybox swapoff dev/block/zram0 ?
but you gave me a great idea too for those that don't have init.d support in the kernel.
they can also download busybox to add init.d support. these days that i will have some free time i will improve it.
does not work for you ? if you want it to wait before it creates the new zram, give it the command
sleep 1
1 is time in seconds = 1 second
make it wait as much time you want
masmoe said:
I am on AOSP 7.1.1 and use es explorer pro.
Are any option in Developer menu should be activated? Or should I install adb application?
Btw I use Termux for terminal.
Sent from my LG-P880 using XDA Labs
Click to expand...
Click to collapse
es explorer never shows the group shell right ?
use root explorer or enable adb and do
Code:
adb shell
su
mount -o remount rw /system
chmod 755 /system/etc/init.d/97zram
chown root:shell /system/etc/init.d/97zram
or in a terminal inside your p880
Code:
su
mount -o rw remount /system
chmod 755 /system/etc/init.d/97zram
chown root:shell /system/etc/init.d/97zram
adb shell command not found. Is it missing something?
Sent from my LG-P880 using XDA Labs
Thanks for the info man, now i know how works zram and how configure it well
Thank you. It seems working
masmoe said:
adb shell command not found. Is it missing something?
Sent from my LG-P880 using XDA Labs
Click to expand...
Click to collapse
adb is used to open a port on pc for communication with the phone.
when we are in the phone terminal we directly do the command without adb , adb shell, etc.
for example :
Code:
cat /proc/sys/vm/swappiness/
to see our swappiness
at my previous post i gave you other commands to use inside p880
kessaras said:
adb is used to open a port on pc for communication with the phone.
when we are in the phone terminal we directly do the command without adb , adb shell, etc.
for example :
to see our swappiness
at my previous post i gave you other commands to use inside p880
Click to expand...
Click to collapse
I succesfully change permisdion and owner. I activated emulated init.d by kernel adiutor also but my swap dize still not changed. Any hints?
Sent from my LG-P880 using XDA Labs
masmoe said:
I succesfully change permisdion and owner. I activated emulated init.d by kernel adiutor also but my swap dize still not changed. Any hints?
Sent from my LG-P880 using XDA Labs
Click to expand...
Click to collapse
Init.d support missing in that kernel you are on now.
install busybox to enable init.d or change kernel

Categories

Resources