Zipping your bootanimation on a mac! - Android Themes

Having spent a while trying to find out how to properly zip the files for the animation, I have come across some basic UNIX commands to simplify the process! No other applications needed apart from TERMINAL. Please note that this is for mac.
Open terminal and use the following commands
e.g.
Code:
zip -0 -r NAMEOFZIP.zip desc.txt part0 part1
the zip command means well.... zip
the -0 means zip without compression just store
-r means zip entire directories
and the first thing after that is the name of the zip you would like to create.
all files after this are the ones put into the zip.
I would recommend using cd to get the directory without having to type it in 3 times like this:
Code:
cd /Users/Bob/Desktop/MyAnimation/
Also using cd puts the newly made zip file with all of the others (desc.txt part0 part1 etc.)
You will have to change the directories for your own needs
Hope this helped!!!

Related

apkbuilder - Is anyone familiar with how it works?

I've found some commands to use but I am not sure if I've done them correctly. I was able to get a file out of the commands (a .apk file) but it seemed to be created as a document rather than a unix executable file. The icon appears as a sheet of paper rather than that black box of other executable files. I am on a mac right now so anyone familiar with it on a mac would be a great help.
What about just adding the .apk extention? cp /filepath/ /sdcard/app.apk then mount the sdcard and pull it over if you can't work out adb.
evilkorn said:
What about just adding the .apk extention? cp /filepath/ /sdcard/app.apk then mount the sdcard and pull it over if you can't work out adb.
Click to expand...
Click to collapse
When I change a file name and save it as a .apk, it doesn't seem to truly save it as a .apk. Normally, on a mac, .apk's are seen as a unix executable file and the icon is a little black square. If I change a files extension to <filename.apk> it just sees it as a document with the name <filename.apk>, NOT <filename>.apk. It doesn't recognize the file as a true .apk. I'm not sure if that makes sense but its a much more difficult process on a mac than it is on a PC. If i save a file with .apk at the end then try to sign it, an error comes up saying that the file is not a file.
apk's are just zip files with a signing signature, they "unpack" like a zip/rar archive. There is no reason to open them with terminal. They are either damaged or you didn't copy them off your phone correctly, see the second sentence of my post.
I know what you mean and I know how they work, I'm just not explaining myself correctly...I think I have it figured out though.

How to make boot animation full screen on Droid/Nexus/etc

This is an explanation on how to use a boot animation originally intended for a lower resolution on a higher resolution screen.
The problem stems from the desc.txt file. This file contains a very small amount of code which tells the android device how to display the boot animation.
Steps
1. Extract bootanimation.zip to another location.
2. Open up desc.txt with notepad/etc and change 320 to 480 and 480 to 854 and save it. If for some strange reason, you do not see 320 and 480, just change whatever numbers are there to 480 and 854.
3. The next part is crucial. You need to take these three folders/files you extracted (desc.txt, part0, and part1) and rezip them WITHOUT COMPRESSION. To do this, open up 7zip or WinZip or similar program and start to create a new archive named bootanimation.zip. Before you create it, look for a setting dealing with compression. In 7zip it says "Compression level". You need to change this to either "Store" or "None" (They mean the same thing. Depends on what program you are using). Create the archive.
4. You need to push this back to your phone. There are instructions elsewhere, but they are simple so I will include them here.
5. Enter a command window. Navigate to your tools folder by typing
cd C:\<path>\tools
Click to expand...
Click to collapse
6. Now enter the following one by one.
adb remount
adb mv
adb push C:\<path>\bootanimation.zip /system/media/bootanimation.zip
adb push C:\<path>\bootanimation.zip /data/local/bootanimation.zip
adb reboot
Click to expand...
Click to collapse
That is it. I have tried this on a mac, but I have been unsuccessful in creating an uncompressed zip folder. If you can accomplish this, props. I recommend just doing this in windows if you have the chance.
Hope this helped you out.
Good lookin' out.

How: can I mod the stock phone.app?

Ok, I must have posted this question somewhere but I would like to know the answer cause no one has answered it. "how do I get the stock phone app to modify?. How would I get it and put it back into my phone? please I would like to know.
38 views and no response?
the .png files for the phone are actually in the contacts.apk.
Are you asking how to modify the apk, or just specifically where are the phone images?
To copy the app from your phone just do: adb pull /system/app/Phone.apk
That will put a copy of the file in your "tools" directory in the android sdk folder
Then when you want to put it back on you should be able to overwrite it with: adb push /system/app/Phone.apk
What exactly are you planning on doing with this file?
Thank you. I want to create my own images to make it look different then the stock colors.
There are 2 apks that contain dialers, one is the Contacts.apk as stated bfore that brings up the phone when the phone icon is pressed the second is in the Phone.apk appears once a call is placed, and the persons picture appears of the person you are calling.
I don't know how to do a adb pull. can you explain?
johnny quest said:
I don't know how to do a adb pull. can you explain?
Click to expand...
Click to collapse
In terminal or command prompt, navigate to the tools directory in the android SDK and run the following commands:
Code:
adb remount
adb pull /system/app/Phone.apk
That will dump the file in you tools directory.
If you are having trouble with this, let me know what operating system you are using and if you have the android SDK installed.
synesthete said:
In terminal or command prompt, navigate to the tools directory in the android SDK and run the following commands:
Code:
adb remount
adb pull /system/app/Phone.apk
That will dump the file in you tools directory.
If you are having trouble with this, let me know what operating system you are using and if you have the android SDK installed.
Click to expand...
Click to collapse
This is confusing. I didn't think it would be so hard. I do UI's for iphone and ipod touch and this is way different. There are so many different things. Its discouraging in some ways. Sorry. I would love to create an app but of course its different. So, I stick to creating themes.
I would love to take a ROM and mod it myself or even modifying Launcher pro but it has that 9.pngs which makes it hard.
Ok, I have the Eris 2.1 rooted with Tenzo Rcmix2.0 installed. I have the SDK installed but don't know what to do with it. I appreciate you taking the time to help me out. I really want to create and mod lots of apps.
this is what I've done to a phone app I downloaded from the market:
-I created my images through Photoshop and saved them to a folder with its correct name used.
-I opened draw9patch and saved the images with the correct name again to a folder.
-I named the folder drawable-hdpi that belongs in the Res folder
-took the files and folder and created a zip out of it.
-opened the AvaboxV2 and signed it.
-loaded to my phone and changed the name to the correct name and installed it
but it keeps saying application not install, I just don't get it. What step did I messed up on?
Anybody? anybody?...............................
This is what you need to do:
1. Open Contacts.apk in 7-zip
2. Copy the images over top of the original images in drawable, drawable-mdpi, and drawable-mdpi-finger (notice I didn't say anything about hdpi)
3. Close the archive.
4. Copy it back onto the device with:
Code:
adb remount
adb push Contacts.apk /system/app
Your phone may not appreciate you pushing Contacts.apk while it is running, so it may become unstable at this point. I would recommend restarting.
icbeer said:
This is what you need to do:
1. Open Contacts.apk in 7-zip
2. Copy the images over top of the original images in drawable, drawable-mdpi, and drawable-mdpi-finger (notice I didn't say anything about hdpi)
3. Close the archive.
4. Copy it back onto the device with:
Code:
adb remount
adb push Contacts.apk /system/app
Your phone may not appreciate you pushing Contacts.apk while it is running, so it may become unstable at this point. I would recommend restarting.
Click to expand...
Click to collapse
thank you but I'm trying to understand what you mean by push ADB. is that the one in the sdk folder? if so, I open it and it just flashes for a few seconds then closes.
ADB is a command line program that allows you to debug and move/edit files on your phone. You need to run those commands from a command prompt (should be a link in the Accessories folder on the Start menu if you can't right-click on the sdk folder and open one). Navigate to the tools folder, then run the remount and push commands like icbeer said to get your modified .apk on your phone:
Code:
C:\users\brtnbrdr> cd c:\android-sdk-windows\tools
C:\android-sdk-windows\tools> adb remount
C:\android-sdk-windows\tools> adb push Contacts.apk /system/app

[HOWTO] Cook your custom rom for LG P500

Hi there, we are going to use excellent dsixda's HTC Android Kitchen to cook our custom ROMs for LG P500. The list of the things we are going to need:
Original ROM (Check this thread)
LG Utils 0.4.2 (Check this URL)
DzDecryptor v1.0b(Check this thread)
Cygwin (Check this URL
Unyaffsmbn (Check this thread)
Dsixda's HTC Android Kitchen (Check this thread)
Note: I have a "romcooking" folder on my home (C:\Users\Patricio\romcooking), inside i have all the utils needed, and the .kdz file for the stock ROM. I recommend to use tab to complete filenames since they are too long.
First we need to get a dz from the kdz (original firmware), extract LG Utils 0.4.2 and open KP500-Utils-EN.exe (You need to run this as administrator, or else you are getting an empty .cab file), select the I option (Extract files from KDZ file), and type the route to your .kdz file (Mine is C:\Users\Patricio\romcooking\V10A_00.kdz). Now, you must have a V10A_00.cab (Or another name, it depends on the stock rom you downloaded), open it with a extractor like 7zip or similar and extract the file "LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" or similar to our romcooking folder.
Then we are going to uncompress the .dz with DZDecrypt (Press Win + R, type cmd and enter, then you cd to the folder where DzDecrypt is located (ex:
Code:
cd C:\Users\Patricio\romcooking\DZDecryptor_v1.0b
then we type:
Code:
DZDecrypt.exe "C:\Users\Patricio\romcooking\LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" C:\Users\Patricio\romcooking\stockrom
This is going to create a "stockrom" folder in our original romcooking folder, you are going to see a lot of files in the stockrom folder, the important ones are boot.img and system.mbn (DZDecrypt should have merged your system.mbn_0, system.mbn_1 and system.mbn_2)
We need to install cygwin, open the setup.exe, just keep hitting next until you are on the select packages screen, go to "Devel" menu and select to install gcc, gdb and make, in "Interpreters" check perl, in "Archive" check zip and unzip, in "Web" check wget, in "Editors" check nano and vim and in "Utils" select cpio, util-linux and ncurses. Make some tea and wait for the cygwin install to finish and we are ready to go to the next step.
We are going to compile unyaffsmbn, copy the extracted files from unyaffsmbn, system.mbn and boot.img to C:\cygwin\home\Patricio, now fire up cygwin and compile unyaffsmbn with:
Code:
gcc -o unyaffsmbn unyaffsmbn.c
Now uncompress system.mbn, delete symlinks of bin/ and zip everything with:
Code:
mkdir system
cd system
../unyaffsmbn.exe ../system.mbn
find bin -type l -exec rm {} +
cd ..
zip -r stockrom.zip boot.img system/
We are ready to go to the kitchen (We have a stockrom.zip on C:\cygwin\home\Patricio, remember that)
Now we are going to use dsixda's HTC Android Kitchen, we need to have installed JDK. After we have downloaded and uncompressed the kitchen (Mine is in C:\cygwin\home\Patricio\kitchen), we need to put the ziped file we got in the previous step into the original_update folder of the kitchen. We are ready to go! fire up cygwin and cd to the kitchen location and exec ./menu , select option 1, you should see the zip file, put the number of it, and you are ready to go (It will create a WORKING_XXXXXX_XXXXXX folder, you can modify the files in WORKING_XXXX_XXXXX/system, add APKs, modify the apns file, etc).
This command also gives us a lot of options for our rom: enable root, add busybox, deodex our files, zipalign, etc. If you are going to edit text files, use an editor like Notepad++ or any other program that can open/edit/save files in linux compliant style. It's pretty easy to use the kitchen, just check the official thread for options or help
The common options i use are:
Add root permission (option 2), press f when asked and you are done
Add Busybox
Change name of the rom, easy cake
Advanced options, press 0
Add /data/app functionality
Add Apps2SD
Add custom boot animation functionality
Deodex files in your ROM
And Finally: Zipalign all *.apk files to optimize RAM usage
That should do the trick, when you are ready to cook your rom, just type 99, wait for it to build and it should be in the OUTPUT_ZIP folder in your kitchen folder.
Took info from this thread (About decompressing .dz and .mbn, and making it to work with the kitchen), and info from ruigui and tritant in this thread. The awesome android kitchen by dsixda. Sorry if i forgot to mention any work, just post it or pm me
If you have anything you want to add to the guide, just post it
You don't need to dual boot to linux. It can be done with cygwin.
When you follow dsixda's guide to install kitchen, do as said but don't install cygwin from that guide.
Instead, download from official site, choose default options, but add these packages (it will be compliant with kitchen and give a little extra funcionality):
Devel: gcc, gdb, make
Interpreters: perl
Utils: cpio, util-linux, ncurses
Archive: zip, unzip
Web: wget
Editors: vi, nano
Good guide, nicely done
EDIT:
In my wife's machine (using windows 7 64bit. i'm without computer, for now....), i've installed cygwin as said above.
Then added two folders to my home dir:
kitchen and unyaffsmbn
In kitchen, use the kitchen
In unyaffsmbn, copy the files from unyaffsmbn.zip to that dir, then compile it there
EDIT2:
If you edit text files under windows, USE NOTEPAD++, or any other program that can open/edit/save files in linux compliant style.
There are differences in Windows and Linux when ENTER is pressed, and you'll have issues when trying to flash or run your custom ROM
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Awesome bro, I can try to make custom rom with indian version, ty.
vinnux said:
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Click to expand...
Click to collapse
you shouldn't get three system.mbn files, did you used the 1.0b of DzDecryptor? when i used it, it said something about merging, i think that it gets the three files and then combines them to get a proper system.mbn
I used the downloaded version from the link you posted. At least I guess... :/ Well I'm going to try again soon! Thanks a lot again for your guide!
Sent from my LG-P500 using XDA App
Other methode for exctract mbn file, not need to connect the phone.
Windows only....
(1) Download LG-Utils 0.4.2: http://www.assembla.com/spaces/ks360...tils-0.4.2.zip
(2) Run KP500-Utils-EN.exe (or whatever language you prefer out of the available choices) and select I to extract the KDZ.
(3) Open the resulting CAB file and extract the DZ file.
(4) Download DZExtract: http://www.frenchcoder.com/upload/DZExtract-V0.2.zip
(5) Use DZExtract to extract the MBN files:
DZExtract -x GW620RAT-V10c-OCT-21-2009-RGS-CA_DZ+0.dz C:\extractedTo\
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
So.... You MUST compile unyaffsmbn first. Only then you'll have an "executable".
Code:
gcc unyaffsmbn.c -o unyaffsmbn
Then copy system.mbn to unyaffsmbn folder.
After that, do:
Code:
cd PATH_TO_UNYAFFSMBN
./unyaffsmbn system.mbn
You missed the ./
You can download lg utils from here
tuxcomputing said:
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
Click to expand...
Click to collapse
'course I compiled
of course your method worked and the one in the first post didn't...
exist only a windows version of dzextract?
ioshi said:
exist only a windows version of dzextract?
Click to expand...
Click to collapse
couldn't find a linux version, sorry.
btw, i'm rewriting the guide, hope to update it soon
please add the compiling method from ruigui (in the previous page). For some reason that's the only way I was able to compile on Ubuntu 10.
Cheers
It was a typo in first post (he switched file to be used in gcc).
Give the man some time to reorganize his thread
I did not mean to be rude by any means!
I appreciate the effort to create the how-to! Hopefully people will read the thread if they get stuck and use the right commands so that they don't abandon the idea of creating their own ROM
I also didnt want to call you rude... Sorry...
But we were exhanging some pms and he is redoing this tutorial.
Sometimes we make mistakes while typing long posts
installation aborted
thanks for this great tutorial
everything works like a charm , but when i flash my new rom i have an error says no enough space while writing boot image
any idea?
Update: okay i solved the problem, it seems that i missed up with the boot settings!
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
vinnux said:
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
Click to expand...
Click to collapse
yes this is normal, i got that warning, and i entered "yes" to create one, and everything went just fine!
good luck
For me, work with wine on linux mandriva 2010.2
[[email protected] rootlg]$ wine DZDecrypt.exe "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz" rom
DZ-Decryptor v1.0b *ALPHA RELEASE* by BIGB0SS from COPS.
[■] Opening file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".
[■] Allocated memory: 280 Mo.
[■] Unpacking informations:
- Unpacking "amss.mbn" (Packed:008D2935 - Unpacked:010F6000).
- Unpacking "partition.mbn" (Packed:000000E9 - Unpacked:00000390).
- Unpacking "qcsblhd_cfgdata.mbn" (Packed:00000240 - Unpacked:00002534).
- Unpacking "qcsbl.mbn" (Packed:00007D88 - Unpacked:0000DFF0).
- Unpacking "oemsblhd.mbn" (Packed:00000026 - Unpacked:00000028).
- Unpacking "oemsbl.mbn" (Packed:0002C637 - Unpacked:0005EFB4).
- Unpacking "amsshd.mbn" (Packed:00000028 - Unpacked:00000028).
- Unpacking "appsboothd.mbn" (Packed:00000022 - Unpacked:00000028).
- Unpacking "appsboot.mbn" (Packed:00008A6F - Unpacked:0000D484).
- Unpacking "boot.img" (Packed:00385B3F - Unpacked:0038A800).
- Unpacking "system.mbn_0" (Packed:0307280E - Unpacked:05000000).
- Merging "system.mbn_1" (Packed:028EAA5A - Unpacked:05000000).
- Merging "system.mbn_2" (Packed:00738F81 - Unpacked:01003F40).
- Unpacking "recovery.img" (Packed:003BE683 - Unpacked:003C3800).
- Unpacking "splash.img" (Packed:00001C3A - Unpacked:0004B000).
[■] SubFiles: 0x780C3E84. (DzCreator)
[■] Closing file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".

Automated system/boot.img unpack/repack script

Hello everyone,
I've been playing around with adding root to my stock ROM these past few days, and have found it very slow and tedious trying to remember all the commands to unpack and repack the images.
To make things simpler I've created a script that automates almost the whole process.
I've named it worker as it does all the work for you, and it is just simply a bash script. But it makes things a lot quicker and easier.
I have only been able to test with my S3 Mini, but should work with any ROM that has boot.img and system.img
Simply extract the .img files from the tar.md5 or .zip ROM file, and place them in the original folder.
Once you have those in the original folder just simply run the worker.txt file from the terminal, making sure you are in the worker folder directory.
When the script is run you will be given the options to unpack/repack system.img, mount system.img (This is after you extract it do not try and mount the original file it wont work), unpack/repack boot.img, unpack/repack ramdisk, create ROM (This will create an odin flashable tar.md5 from the repacked files) and finally clean up (This will clear all unpacked and repacked files only leaving the files in the original folder)
To select an option simply type y then enter to execute that command or just hit enter to skip.
When the system.img is mounted it will be mounted in the mount folder.
When repacking the system.img you will be prompted to enter the file size, if you have and S3 Mini I8190N simply type s3mini for the size (This may work for other S3 models but I have no way of testing so let me know). If you have a different device use the file size of the original UNMODIFIED system.img, enter the size in bytes or MB (If entering in MB use this format, xxx being a number. xxxM).
Please give me feedback for improvements or problems,
Thanks for reading.
P.S. Sorry if in wrong place please move if necessary
EDIT: If you can't run the script with the ./ command, chmod +x the file
Antonyb1995 said:
Hello everyone,
I've been playing around with adding root to my stock ROM these past few days, and have found it very slow and tedious trying to remember all the commands to unpack and repack the images.
To make things simpler I've created a script that automates almost the whole process.
I've named it worker as it does all the work for you, and it is just simply a bash script. But it makes things a lot quicker and easier.
I have only been able to test with my S3 Mini, but should work with any ROM that has boot.img and system.img
Simply extract the .img files from the tar.md5 or .zip ROM file, and place them in the original folder.
Once you have those in the original folder just simply run the worker.txt file from the terminal, making sure you are in the worker folder directory.
When the script is run you will be given the options to unpack/repack system.img, mount system.img (This is after you extract it do not try and mount the original file it wont work), unpack/repack boot.img, unpack/repack ramdisk, create ROM (This will create an odin flashable tar.md5 from the repacked files) and finally clean up (This will clear all unpacked and repacked files only leaving the files in the original folder)
To select an option simply type y then enter to execute that command or just hit enter to skip.
When the system.img is mounted it will be mounted in the mount folder.
When repacking the system.img you will be prompted to enter the file size, if you have and S3 Mini I8190N simply type s3mini for the size (This may work for other S3 models but I have no way of testing so let me know). If you have a different device use the file size of the original UNMODIFIED system.img, enter the size in bytes or MB (If entering in MB use this format, xxx being a number. xxxM).
Please give me feedback for improvements or problems,
Thanks for reading.
P.S. Sorry if in wrong place please move if necessary
Click to expand...
Click to collapse
work on gt-i8200n to?
linklusitano said:
work on gt-i8200n to?
Click to expand...
Click to collapse
No reason why not, I'm just not able to test others
Antonyb1995 said:
No reason why not, I'm just not able to test others
Click to expand...
Click to collapse
testing
linklusitano said:
testing
Click to expand...
Click to collapse
Great let me know if it works!
EDIT: Make sure you enter the right size for the system.img file, the pre entered size using s3mini may work fine as they are very similar devices.
Antonyb1995 said:
Great let me know if it works!
EDIT: Make sure you enter the right size for the system.img file, the pre entered size using s3mini may work fine as they are very similar devices.
Click to expand...
Click to collapse
how do i run worker.txt?
linklusitano said:
how do i run worker.txt?
Click to expand...
Click to collapse
Your using Linux right?
Open a terminal and change directory to the worker folder, once there type ./worker.txt and it should run. If it doesn't issue this command chmod +x worker.txt that should fix it.
Antonyb1995 said:
Your using Linux right?
Open a terminal and change directory to the worker folder, once there type ./worker.txt and it should run. If it doesn't issue this command chmod +x worker.txt that should fix it.
Click to expand...
Click to collapse
windows 8.1
linklusitano said:
windows 8.1
Click to expand...
Click to collapse
Ah okay, If you install Cygwin you can run bash scripts in Windows.
LINK: https://www.cygwin.com/

Categories

Resources