[GUIDE] Build TWRP recovery - Galaxy S Plus I9001 Android Development

{
"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"
}
How to build TWRP Recovery
You should be able to build CWM Recovery
[GUIDE] Build CWM recovery​
Download TWRP as ZIP from github
Replace ~/android/cm9/bootable/recovery with TWRP
Modify ~/android/cm9/device/samsung/ariesve/config/init.recovery.rc
Code:
on init
export LD_LIBRARY_PATH .:/sbin // add this line
Modify ~/android/cm9/device/samsung/ariesveBoardConfig.mk
add to the end of file next to recovery stuff :
Code:
#TWRP
TARGET_RECOVERY_PIXEL_FORMAT := "RGBX_8888"
DEVICE_RESOLUTION := 480x800
TW_INTERNAL_STORAGE_PATH := "/sdcard"
TW_INTERNAL_STORAGE_MOUNT_POINT := "sdcard"
TW_EXTERNAL_STORAGE_PATH := "/external_sd"
TW_EXTERNAL_STORAGE_MOUNT_POINT := "external_sd"
TW_DEFAULT_EXTERNAL_STORAGE := true
TW_FLASH_FROM_STORAGE := true
TW_HAS_DOWNLOAD_MODE := true
TW_USE_MODEL_HARDWARE_ID_FOR_DEVICE_ID := true
TW_MAX_BRIGHTNESS := 255
TW_BRIGHTNESS_PATH := /sys/devices/platform/msm_fb.196609/leds/lcd-backlight/brightness
# End TWRP
More flags for twrp can be found on the original thread by Dees_Troy http://forum.xda-developers.com/showthread.php?t=1943625
Prepare device specific code
Code:
$ cd ~/android/[COLOR="Red"]cm9[/COLOR]/
$ . build/envsetup.sh
$ lunch //choose -> cm_ariesve-userdebug
Compile recovery
Code:
make clobber && make -j[COLOR="Red"]#[/COLOR] recoveryimage //[COLOR="Red"]#[/COLOR] CPU-Cores+1
credits
Dees_Troy
TeamWin

collected informations
Get latest kernel message after crash /proc/last_kmsg
[15:33] <+helicopter88> buffo1987, TARGET_PREBUILT_RECOVERY_KERNEL := specifies a kernel to be used during the building of recovery
[15:33] <@Dees_Troy> basically if you want recovery to be built with a different kernel than the boot image then you would use that ^
[15:34] <buffo1987> What could be the benefit?
[15:34] <buffo1987> stability?
[15:34] <@Dees_Troy> maybe

Good Tutor ! :good:
At least for me
Thanks for your effort
Regards
AliReza

Great guide...
thnks a lot...
Sent from my GT-S5360 using Tapatalk 2

Related

[DEV][LINUX] CM9 Build Script

Hey all,
First I would like to say this is not my work this is based off Nicandris's CM from scratch script (forum here).
This bash/sh script builds CM9 from source and is only to be used once the build environment and sources have been downloaded correctly. So far I have only tested this with my Galaxy Nexus on Mint 12 but it should work with other devices and on other distros.
Instructions:
1. Download the provided zip and extract it, then place "build.sh" in the "~/bin" directory (/home/user/bin).
2. Then open up "build.sh" using a text editor like gedit and edit the variables to suit your environment, EXAMPLE :
Code:
#Variables Start
#Enter Device Vendor Here eg "moto" or "samsung"
vendor="samsung"
#Enter Device Name Here eg "maguro" or "toro"
device="maguro"
#Enter Build Source Here (Usually "/home/user/android)"
source="/home/kstarz/android"
#Enter Folder Where You Want Builds To Be Stored eg "/home/user/Desktop/Builds"
build_location="/home/kstarz/Desktop/Builds"
#Enter Source For AndroidSDK eg "/home/user/androidsdk"
sdk_source="/home/kstarz/Programs/androidsdk"
#Enter Location Where The Build Will Be Sent To On Your Device
push_to_phone="/sdcard/Download"
#Enter Your Name/Nickname (For Modversion)
nick="kstars"
#Variables End
3. Then open up a terminal and give the file permission to be executed as a program:
Code:
chmod a+x ~/bin/build.sh
4. Close that terminal and open up a new one then enter the code below to start the script.
Code:
build.sh
The rest is up to you
Screenshot:
{
"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 have tried to make this as simple as possible for users out there but if you have any issues I will try and respond.[/SIZE]
Full credits go to:
*Cyanogenmod* & *teamdouche* - For creating CM
*Nicandris* For creating the base for this script.
Remember if I helped you in anyway please press the thanks button!
Changelog
14.05.2012 - v1.0
- Initial Release
17.05.2012 - v1.1
- Minor Bugfix

[Q] Repacking kernel...

Hi guys, I'm here because I can't re-compile my MediaTek-based device kernel. The thing is that I decided to make the kernel with swap support from Source (it's the Alcatel One Touch Idol 6030a, so it's source is available). Kernel compiled successfully, only 2 warnings. The problem now, is that the packer doesn't seem to recognize something that I can't understand while trying to re-pack it.
{
"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"
}
As you can see in the above photo, the "boot.img" compiled successfully.
But then, after deletting original kernel from output folder and adding the one I made (zImage), setting it's old name (boot.img-kernel.img), the binary seems to crash with it.
As you can see, there's something that my OS (or the binary itself) can't understand.
[email protected]:~/Descargas/mtk-tools-master$ ./repack-MTK.pl -boot boot.img-kernel.img boot.img-ramdisk/ boot-new.img
MTK-Tools by Bruno Martins
MTK repack script (last update: 06-01-2015)
Repacking boot image...
Ramdisk size: 2013 bloques
Build information:
Base address and offsets:
Base address: 0x10000000
Kernel offset: 0x00008000
Ramdisk offset: 0x01000000
Second stage offset: 0x00f00000
Tags offset: 0x00000100
Other:
Page size (bytes): 2048
ASCIIZ product name: ''
Command line: '109f10eed3f021e3'
/home/facu/Descargas/mtk-tools-master/mkbootimg: 1: /home/facu/Descargas/mtk-tools-master/mkbootimg: ELF: not found
/home/facu/Descargas/mtk-tools-master/mkbootimg: 2: /home/facu/Descargas/mtk-tools-master/mkbootimg: Syntax error: "(" unexpected
Click to expand...
Click to collapse
My OS is spanish, as my native language, sorry xD
Can anyone help me please? :crying:

[SELinux] Devices Xperia

{
"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"
}
welcome to this new tutorial
such as changing the state of SELinux on xperia devices
Requirements:
- Devices Xperia
- Root Access
- Installed busybox
- Support init.d
- Root Explorer (optional)
Process:
1.- with root explorer locate the following directory /system file in search of build.prop
2.- add the following line so that we can afford to view the status of SELinux on our device
Code:
ro.build.selinux=1
3.- save changes
4.- reset your device and settings on the phone will appear to them the status of SELinux
- attached screenshot
5.- within the init.d folder create a script with the name 88SELinux and add the following code
Code:
#!/system/bin/sh
chmod 0644 /sys/fs/selinux/disable
setenforce 0
setprop ro.boot.selinux disable
echo 0 > /sys/fs/selinux/enforce
echo 0 > /sys/fs/selinux/disable
exit 0;
6.- 88SELinux file take permission octal 0755 can use root explorer and enter the number 0755 attached screenshot
7.- restart the terminal and the status of SELinux should appear as in the screenshot
8.- finally if you do not change the status of SELinux it is because their init.d support is not working
Good work bro lml

How can I enable cpu, memory, and io in cgroupv2 (attempt to run Docker on Android)

I am trying to run Docker on Android, using a Pixel 3a XL rooted, running stock rom but flashed a custom kernel. I need to enable cpu, cpuset, memory, io, and pid controllers in cgroupv2. After enabling them in menuconfig and flashing the kernel, the script used to check shows only pid available under cgroupv2 controllers.
What do I need to do besides enabling these options in the kernel’s menuconfig? Did I maybe not enable all the necessary options? Any help would be greatly appreciated!
With the current state, when I run docker I get a warning for each item, ex “WARN: Unable to find cpu controller”. and error setting cgroup config for procHooks process: bpf_prog_query(BPF_CGROUP_DEVICE)
As I understand it, these options may be mounted with cgroupv1 and this is why they do not show up?
I am using this guide: https://gist.github.com/FreddieOliveira/efe850df7ff3951cb62d74bd770dce27
and these are the options I enabled in my kernel using menuconfig: https://wiki.gentoo.org/wiki/Docker
From the config I flashed in my kernel:
CONFIG_CGROUPS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CPUSETS=y
CONFIG_CGROUP_CPUACCT=y
I flash the kernel by flashing the Image.lz4-dtb file that is created after building the kernel.
Here is a photo after running the script to check if kernel options are all enabled. Am trying to change these from missing to available/enabled.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
You are all set, all you need to do is run these commands every time you boot your device before running
Bash:
dockerd
Bash:
sudo mount -t tmpfs -o mode=755 tmpfs /sys/fs/cgroup
sudo mkdir -p /sys/fs/cgroup/devices
sudo mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices
Or you can use Termux:Boot to do this automatically
EDIT:
You will find all you need by going to the original post here

Android 8.1 Custom Init Scripts

Alright guys, I have a generic tablet with android 8.1it has an mtk armv7 processor... I'm trying to write a oneshot init that executes a shell script from /system/xbin but when I add it it doesn't seem to execute my script. Can someone help me with how to add it? The code I'm using is as follows:
# Run init.d scripts
service bsleep /system/bin/bsleep.sh
class late_start
seclabel u:r:shell:s0
user root
group root
oneshot
Click to expand...
Click to collapse
#!/system/bin/sh
(until [ "$(getprop sys.boot_completed)" == "1" ]; do
sleep 1
done
input keyevent SLEEP
Click to expand...
Click to collapse
If supported by kernel so-called init.d scripts must be located in directory /system//etc/init.d to get detected at boottime and run - scripts must be RWX. To push init.d scripts to this location elevated rights ( AKA ROOT permission ) is required.
On devices with non-rooted Android a workaround is possible: Using an App that emulates the Init.d function, e.g. Universal Init.d
{
"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"
}
Note: Universal Init.d app is no longer available in the Google Play Store. Please, download the Universal Init.d APK instead.

Categories

Resources