Wait a minute! I'm not writing about Overclock, I simply compiled "Galaxy Star Kernel" from Source...
...for fun...
...with CPU frequency scaling...
Prerequisites:
a 64bit Linux Machine with a working build environment
a local copy of a Jellybean arm cross toolchain
tools to unpack and repack a boot image from a Stock firmware
Kernel source downloaded from Samsung Open Source Release Center
How I did it:
First of all I unzip the kernel source into a linux folder and modify one line from
Code:
CROSS_COMPILE ?= /opt/toolchains/arm-eabi-4.4.3/bin/arm-eabi-
to
Code:
CROSS_COMPILE ?= /home/doc/builds/CYANOGENMOD_10.0__4.1.2_JELLYBEAN/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
which is the full local path to my cross prebuilt toolchain previously downloaded from Cyanogenmod repositories...
Then I follow the kernel readme to prepare it for my Galaxy Star:
Code:
[email protected]:~/tmp/kernel-gt5280$ [b]make mint-vlx-rev03_defconfig[/b]
...
[email protected]:~/tmp/kernel-gt5280$
And finally I simply issue the master command:
Code:
[email protected]:~/tmp/kernel-gt5280$ [b]make zImage[/b]
...
...
...
LD vmlinux
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
AS arch/arm/boot/compressed/piggy.gzip.o
CC arch/arm/boot/compressed/misc.o
CC arch/arm/boot/compressed/decompress.o
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
[email protected]:~/tmp/kernel-gt5280$
Unfortunately, repacking the Compressed Kernel (zImage 3,5Mb) with the ramdisk into an Odin boot.img leads to a "not booting" system stuck at samsung logo...
Repacking instead the Uncompressed Kernel (Image 7,1 Mb) leads to normal boot with the system up and running (victory ):
{
"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"
}
Now looking for frequency scaling:
...searching inside Kernel configuration with the command
Code:
[email protected]:~/tmp/kernel-gt5280$ [b]make menuconfig[/b]
I find this menu:
Code:
.config - Linux/arm 3.0.8 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────
┌───────────────────────── CPU Power Management ──────────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> │
│ for Search. Legend: [*] built-in [ ] excluded <M> module < > │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ CPU Frequency scaling ---> │ │
│ │ [color=red][ ] CPUfreq support for Spreadtrum SC8810 CPUs[/color] │ │
│ │ [ ] CPU idle PM support │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────┤
│ <Select> < Exit > < Help > │
└─────────────────────────────────────────────────────────────────────────┘
where I simply switch on the frequency scaling for the Galaxy CPU:
Code:
.config - Linux/arm 3.0.8 Kernel Configuration
──────────────────────────────────────────────────────────────────────────────
┌───────────────────────── CPU Power Management ──────────────────────────┐
│ Arrow keys navigate the menu. <Enter> selects submenus --->. │
│ Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, │
│ <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help, </> │
│ for Search. Legend: [*] built-in [ ] excluded <M> module < > │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ CPU Frequency scaling ---> │ │
│ │ [color=green][[b]*[/b]] CPUfreq support for Spreadtrum SC8810 CPUs[/color] │ │
│ │ [ ] CPU idle PM support │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────────────┤
│ <Select> < Exit > < Help > │
└─────────────────────────────────────────────────────────────────────────┘
After another Odin boot.img...
here we are:
Easy Play
Everything shared starting from here: My Google Drive
WARNING: I started from a GT-S5280XXAMF1 Stock Firmware, knowing exactly wat I was doing...
Beware, use my work as you wish but "at your own risk"!
And now what's Next?
...who knows...
...surely I'm not skilled enough to overclock this Kernel source or add governors...
I just made a "one shot compilation" and I was lucky !
Can u make another one for gt s5282
Sent from my GT-S5282 using Tapatalk
Steps required!
Sure i can!
But, if I can easy handle the Linux side of the job on my PC, I need a step from your phone just before my build action...
...this is true, anyway, only once for a given Kernel Source!
First of All, looking inside Samsung Open Source Release Center I see three Kernel Sources:
I need to choose the right one for the Region of your Phone (or current firmware):
- MEA (Middle East and Africa);
- SEA (South East Asia);
- SWA (South West Asia).
After that, when I prepare the Kernel tree for build (as I briefly described in the first post) with the following command:
Code:
[email protected]:~/tmp/S5282$ [b]make mint-vlx-rev03_defconfig[/b]
...
[email protected]:~/tmp/S5282$
I have to check (once for all) the resulting configuration file with the one extracted from your running kernel!
You must issue one console command from PC with "adb shell" (difficult to setup) or from a Terminal emulator from the Phone (easy to go) installing, for example, the free App "Terminal Emulator" from Palevich (thanks forever ).
The phone, of course, must be rooted and busyboxed;
Here what to type:
Code:
[email protected]:/ $ [b]su[/b]
[email protected]:/ # [b]zcat /proc/config.gz > /data/local/config.txt[/b]
[email protected]:/ #
This command simply creates a text file in the /data/local folder with listed all the configuration options!
I need it to check for differences, just to modify the build tree accordingly.
Ah... of course I need a boot.img file to mod and, maybe, the right PDA code for it... just to prepare an Odin archive with the right naming convention...
After All I'll build the Kernel and prepare two images in my google drive:
- the original boot.img ready for Odin,
- the cpufreq modded boot.img ready for Odin.
What else?
You have to test it!
If it doesn't boot, simply flash back the original image in place.
That's All!
No need to wipe anything before, during and after...
Doc_cheilvenerdi.org said:
Sure i can!
But, if I can easy handle the Linux side of the job on my PC, I need a step from your phone just before my build action...
...this is true, anyway, only once for a given Kernel Source!
First of All, looking inside Samsung Open Source Release Center I see three Kernel Sources:
I need to choose the right one for the Region of your Phone (or current firmware):
- MEA (Middle East and Africa);
- SEA (South East Asia);
- SWA (South West Asia).
After that, when I prepare the Kernel tree for build (as I briefly described in the first post) with the following command:
Code:
[email protected]:~/tmp/S5282$ [b]make mint-vlx-rev03_defconfig[/b]
...
[email protected]:~/tmp/S5282$
I have to check (once for all) the resulting configuration file with the one extracted from your running kernel!
You must issue one console command from PC with "adb shell" (difficult to setup) or from a Terminal emulator from the Phone (easy to go) installing, for example, the free App "Terminal Emulator" from Palevich (thanks forever ).
The phone, of course, must be rooted and busyboxed;
Here what to type:
Code:
[email protected]:/ $ [b]su[/b]
[email protected]:/ # [b]zcat /proc/config.gz > /data/local/config.txt[/b]
[email protected]:/ #
This command simply creates a text file in the /data/local folder with listed all the configuration options!
I need it to check for differences, just to modify the build tree accordingly.
Ah... of course I need a boot.img file to mod and, maybe, the right PDA code for it... just to prepare an Odin archive with the right naming convention...
After All I'll build the Kernel and prepare two images in my google drive:
- the original boot.img ready for Odin,
- the cpufreq modded boot.img ready for Odin.
What else?
You have to test it!
If it doesn't boot, simply flash back the original image in place.
That's All!
No need to wipe anything before, during and after...
Click to expand...
Click to collapse
ok no problem.. plz tell if u can make cwm 6.4.4 for galaxy star bcoz we need ot for our CM 11 project
---------- Post added at 01:29 PM ---------- Previous post was at 01:27 PM ----------
rahulsinghal said:
ok no problem.. plz tell if u can make cwm 6.4.4 for galaxy star bcoz we need ot for our CM 11 project
Click to expand...
Click to collapse
bcoz our current focus is on cm and cwm 6.4.4
Doc_cheilvenerdi.org said:
Sure i can!
But, if I can easy handle the Linux side of the job on my PC, I need a step from your phone just before my build action...
...this is true, anyway, only once for a given Kernel Source!
First of All, looking inside Samsung Open Source Release Center I see three Kernel Sources:
I need to choose the right one for the Region of your Phone (or current firmware):
- MEA (Middle East and Africa);
- SEA (South East Asia);
- SWA (South West Asia).
After that, when I prepare the Kernel tree for build (as I briefly described in the first post) with the following command:
Code:
[email protected]:~/tmp/S5282$ [b]make mint-vlx-rev03_defconfig[/b]
...
[email protected]:~/tmp/S5282$
I have to check (once for all) the resulting configuration file with the one extracted from your running kernel!
You must issue one console command from PC with "adb shell" (difficult to setup) or from a Terminal emulator from the Phone (easy to go) installing, for example, the free App "Terminal Emulator" from Palevich (thanks forever ).
The phone, of course, must be rooted and busyboxed;
Here what to type:
Code:
[email protected]:/ $ [b]su[/b]
[email protected]:/ # [b]zcat /proc/config.gz > /data/local/config.txt[/b]
[email protected]:/ #
This command simply creates a text file in the /data/local folder with listed all the configuration options!
I need it to check for differences, just to modify the build tree accordingly.
Ah... of course I need a boot.img file to mod and, maybe, the right PDA code for it... just to prepare an Odin archive with the right naming convention...
After All I'll build the Kernel and prepare two images in my google drive:
- the original boot.img ready for Odin,
- the cpufreq modded boot.img ready for Odin.
What else?
You have to test it!
If it doesn't boot, simply flash back the original image in place.
That's All!
No need to wipe anything before, during and after...
Click to expand...
Click to collapse
Bro i will provide that file to you soon bcoz currently I am owning this phone. Plz qait 2-3 dys
what block partition that can use to flash kernel with cwm ?
Related
Hello Everyone,
A lot of you may not be familiar with IUNI U3, a not famous Chinese android phone brand?
My question is How to enlarge system partition of my IUNI U3?
Information that i have collected about and endeavor on my device is as follows:
Following [HOWTO][GUIDE][Mi3][Mi4]Resize/extend system partition capacity, I have checked the partition on my IUNI U3.
the initial partition design is
{
"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"
}
After a series of remove, new, name and convert handling from no. 20 up to no. 12, the final design is as follows
As I guess, I erased some important file in partitions like fsg, fsc, ssd and splash which are not contained in SD card flash package.
-------Explanation Start------
Sorry, i do not know the exact name for SD card flash package and line flash package.
Simple illustration is as follows.
1. SD card flash package is the zip file that we put into SD card (or Internal Storage, treated as SD card ) and then use recovery install zip from SD card to re-install android system, during which partition design will not be modified.
The tree of SD card flash package are
tree
IUNI-U3-BetaV3.0.04-201503300001
├─firmware-update
├─META-INF
│ └─com
│ ├─android
│ └─google
│ └─android
├─recovery
│ └─etc
└─system
├─app
├─bin
├─etc
│ ├─acdbdata
│ │ ├─Fluid
│ │ ├─Liquid
│ │ └─MTP
│ ├─bluetooth
│ ├─cne
│ ├─dhcpcd
│ │ └─dhcpcd-hooks
│ ├─firmware
│ │ ├─ar3k
│ │ │ └─1020201
│ │ ├─ath6k
│ │ │ └─AR6004
│ │ │ ├─hw1.2
│ │ │ ├─hw1.3
│ │ │ └─hw3.0
│ │ └─wlan
│ │ └─prima
│ ├─gn_camera_feature
│ │ ├─arcsoft
│ │ │ └─maskfile
│ │ ├─res
│ │ │ └─picture_frame
│ │ └─scalado
│ │ └─warp
│ ├─hostapd
│ ├─logmask
│ ├─permissions
│ ├─ppp
│ ├─security
│ │ └─cacerts
│ ├─srs
│ ├─surround_sound
│ └─wifi
├─fonts
├─framework
│ └─webview
│ └─paks
├─iuni
│ └─aurora
│ ├─change
│ │ ├─desktop
│ │ └─lockscreen
│ │ ├─City
│ │ ├─Color
│ │ ├─Dream
│ │ ├─Green
│ │ └─Timely
│ ├─gallery
│ │ └─maskfile
│ └─launcher
│ └─config
├─lib
│ ├─crda
│ ├─drm
│ ├─egl
│ ├─hw
│ ├─modules
│ │ ├─ath6kl-3.5
│ │ └─pronto
│ ├─soundfx
│ └─ssl
│ └─engines
├─media
│ └─audio
│ ├─alarms
│ ├─notifications
│ ├─ringtones
│ └─ui
├─priv-app
├─sdcard
│ ├─DCIM
│ ├─lyric
│ └─music
├─tts
│ └─lang_pico
├─usr
│ ├─icu
│ ├─idc
│ ├─keychars
│ ├─keylayout
│ └─share
│ ├─bmd
│ └─zoneinfo
├─vendor
│ ├─etc
│ └─lib
│ ├─drm
│ ├─egl
│ ├─hw
│ ├─rfsa
│ │ └─adsp
│ └─soundfx
└─xbin
Click to expand...
Click to collapse
2. Line flash package is the set of files (usually in zip files, namely under a root directory) that we use special computer software to re-install android phone system when our phone is connected to computer via USB cable.
The tree of Line flash package(which contains many .img files) is
tree /F
NBL8910A01_A_platform_T0401
│ boot.img
│ cache.img
│ cache_1.img
│ cache_2.img
│ cache_3.img
│ cache_4.img
│ emmc_appsboot.mbn
│ Gionee_info.ini
│ NBL8910A01_A_platform.log-2015-02-05-01-41-40
│ NBL8910A01_A_platform.qcn
│ persist.img
│ persist_1.img
│ ramdisk-recovery.img
│ ramdisk.img
│ rawprogram_unsparse.xml
│ rawprogram_unsparse_for_factory.xml
│ recovery.img
│ system.img
│ system_1.img
│ system_2.img
│ ...
│ tree_nbl.txt
│ userdata.img
│ userdata_1.img
│ ...
│ vmlinux
│
└─bp_image
8974_msimage.mbn
adsp.b00
...
adsp.mdt
checksparse.py
cmnlib.b00
...
cmnlib.mbn
cmnlib.mdt
contents.xml
createAllZeroFile.py
dd.py
dsp2.mbn
dummy_bin.bin
fs_image.tar.gz.mbn.img
gpt_backup0.bin
gpt_both0.bin
gpt_main0.bin
hwio.cmm
isdbtmm.b00
...
isdbtmm.mbn
isdbtmm.mdt
keymaster.b00
...
keymaster.mdt
load_coredump.cmm
lsusb.py
mba.b00
mba.mbn
mba.mdt
mc_v2.b00
...
mc_v2.mbn
mc_v2.mdt
mjsdload.cmm
modem.b00
...
modem.mdt
MPRG8974.mbn
msg_hash.txt
msp.py
NBL8910A_Release_Note.txt
NON-HLOS.bin
NPADump.cmm
partition.xml
patch0.xml
playready.b00
...
playready.mbn
playready.mdt
prog_emmc_firehose_8974.mbn
ptool.py
qdsp6sw.mbn
rawprogram0.xml
recover_f3.cmm
rpm.mbn
rpm_log_bfam.py
rpm_npadump.cmm
rpm_ulogdump.cmm
sampleapp.mbn
sbl1.mbn
sdi.mbn
singleimage.py
singleimage_partition_8064.xml
singleimage_partition_8930.xml
singleimage_partition_8960.xml
singleimage_partition_8974.xml
splash.img
testsparse.py
tqs.b00
...
tqs.mdt
tz.mbn
tzbsp_no_xpu.mbn
ULogDump.cmm
wcnss.b00
...
wcnss.mbn
wcnss.mdt
widevine.b00
...
widevine.mbn
widevine.mdt
Click to expand...
Click to collapse
-------Explanation End------
So the good news now is, I can redesign IUNI U3 partition design via adb shell. the problem is i destroyed my original system and when i re-install the system using SD card flash package. The WiFi cannot work!!! And when i re-install the system using Line flash package, the partition design will be come back to initial design.
So now, I want to know how to modify Line flash package so that I can have a larger system partition initialized during my re-install process?
Hope to get help from you.
Johann,
GMT +8, 13:26 2015/4/25
Any Android Geek Here?
happyjohann said:
Click to expand...
Click to collapse
I will get a iuni u3 maybe next week then I will try to resize my system partition but in the other way I will srink it a little, maybe 500MB is enougth.
In otherside is possible to make for example a 4GB usrdata partition and the the left space for special "sdcard" vfat partition?, because I would like to mount it as massive storage for my car mp3 , because the stock mtp is not recognised.
Hey! I just got a solution, well is a workarround.
As you want to increase system partition moving others partitions the solution is "quite" easy.
First of all install your firmware from flash tool.
Then copy all the intermediate partitions to a file, using the dd command to a partition with space then copy to your computer with adb pull:
dd if=/dev/block/mmcblk0p19 of=/cache/p19tmp.part
This will copy as binary whole the partition, problem is that you can't resize it as is a unknown filesystem. but you will be able to repartitioning the others files and move the intermediate partitions to get the necessary free space.
I found a limitation about number or partition you can't partition more than 20 partitions, WTF!! is gpt it has more than 64 primary partitions on a limited kernels, and more than 128 on "uncapped kernels".
So In my case I'm trying to make a userdata of type ext4 of about 2GB and the left space to vfat simulated sdcard that I will be able to mount as massive storage.
I'm considering delete the cache partition and map as /system/cache folder but I don't have any tool to unpack the kernel image. (maybe mtk boot tools?)
Can you tell me all the available tools for this and the msm87xx platform to manipulate the kernel and other things?
Thank you!
{
"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"
}
What Is Kernel?
The kernel is a computer program that is the core of a computer's operating system, with complete control over everything in the system.[1] It is the first program loaded on start-up. It handles the rest of start-up as well as input/output requests from software, translating them into data-processing instructions for the central processing unit. It handles memory and peripherals like keyboards, monitors, printers, and speakers.
Is There A Connection Between Kernel And Android?
Haha,Sorry but yes.Kernel is the main component for Android.Basically Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software. So basically if any instruction is given to mobile it first gives the command to kernel for the particular task execution.
Ah It's Work Time! Lets Get Started!
Part – ISetting Up Your Build EnvironmentOpen The Terminal and Paste following Command!
Upgrade The Built-In Environments!
Code:
sudo apt-get update && sudo apt-get upgrade
Install Required Tools.
Code:
sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng
PART-I.IIGet The Kernel Source!Now When It Comes About Kernel Source,Where You'll Find That?
No Worries,Search In Your Device Open Source Projects Websites To Get The Source OR You May Met With Github. Search In Github For Kernel Source For Your Device!
Here Are Some Sites,Where You Can Download Kernel Source Though:
For HTC: http://www.htcdev.com/
For Samsung: http://opensource.samsung.com/
For Sony: http://developer.sonymobile.com/wportal/devworld/search-downloads/opensource
For LG: http://opensource.lge.com/index
Note: If You've Download The Source Then Extract It In A Directory. Or If You Want To Clone/Download Source From Github Then Follow Next Steps!
How To Download/Clone Kernel Source From Github?To Clone From Github,You Have To Install Repo Tool!
A. Open The Terminal and Paste Following Command!
Code:
sudo apt-get install phablet-tools
1. To Clone Go To Your Kernel Source Page.Like This -->>
2.Then Click On Clone Or Download Button,And Copy The Link!
B. Open A Terminal And Type This Command!
Code:
git clone <the link that you copied from github> android/kernel
For Me I Type The Following -->>
Code:
git clone https://github.com/Alberteno/android_kernel_samsung_on7xelte.git android/kernel
Explaination:
1. <the link that you copied from github> -->> Replace With The Link You Copied From Github To Clone The Source!
2. android/kernel ->> This Is My Directory Where I Want To Clone It!
C. Done.You Cloned The Source!
Part-II
How To Add Features To Kernel?
Ah.So Here I'm With Following Guides.What We're Gonna Learn Today?.Lets Go Ahed.
Here are some features you can add via cherry-picking.Check out those-> https://forum.xda-developers.com/showpost.php?p=77089212&postcount=41
How To Upstream Android Kernel?
Well,I'm Not Gonna Spam Or Do Somethings Like This,Here's A Simple Guide By @The Flash To Upstream!
Here Is The Link-->> [url]https://forum.xda-developers.com/android/software-hacking/reference-how-to-upstream-android-kernel-t3626913[/URL]
How To Add I/O Scheduler Or Governor To Kernel?
To Add Governor Or I/O Scheduler To Kernel,You Have To Learn Cherry-Picking! Well,I'm Not Gonna Make A Tutorial For That![Or Maybe I'll].For Now Follow What I Say In Next Steps.
A.
1. So Basically There's Many Governors/IO Schedulers Available In Internet To Add.Choose One Governor,Well I Choosed Nightmare Governor For Example. I'm Showing How To Add A Governor In The Guide.
2. Now What You Have To Do Is To Go To Github,And Type "Add Nightmare Governor" In Search Bar Then Hit Enter.
3. You'll Get Some Many Results,Open One Of Them That Include Many Files About The Governor.Like This -->>
4. Now Where You'll Find The Commit ID To Cherry-Pick It To Your Kernel Source? See Below Pick To Get Idea Which One Is The Idea -->>
5.Yay,So You Got It! Now Open A Terminal And Go To Your Kernel Source Folder! For Me I Typed -->>
Code:
cd android/kernel
6. Now To Cherry-Pick You Have To Fetch The Kernel Source From Which You'll Cherry-Pick.To Do That Type Following In Terminal -- >>
Code:
git remote add <anyname> <link of the kernel source from which you're taking the governor commit>
For Me I Typed This -->>
Code:
git remote add lol [url]https://github.com/B14CKB1RD-Kernel/B14CKB1RD_Kernel_OnePlus3_Unified.git[/url]
Explaination:
1. <anyname> - What Ever You Want.
2. <link of the kernel source from which you're taking the governor commit> - Where You'll Find? Check Below Image.The Blue Selected Image In URL Bar Is the "<link of the kernel source from which you're taking the governor commit>"
7.Then Type This In Terminal -->>
Code:
git fetch <anyname>
For Me I Typed This -->>
Code:
git fetch lol
B.
1.In Terminal Type -->>
Code:
git cherry-pick <commit id>
For Me I Typed This Change <commit id> with the id you copied from github-->>
[code]git cherry-pick 042b5123de94e9875e717efb0ac1d344fdf2282e
2.Now You'll Get Some Conflicts,How To Solve Them? Use This Guide By @jabza .
Here Is The Guide -->> [url]https://forum.xda-developers.com/showthread.php?t=2763236[/URL]
3.Solve The Conflicts And You're Done Adding Governor To Kernel!
How To Add Support Force Fast Charging?(Only For Snapdragon Devices)
1. In Kernel Source Go To "arch/arm/mach-msm" Folder.
2. Then Open The "Kconfig" File And The Following Code -->>
Code:
config FORCE_FAST_CHARGE
bool "Force AC charge mode at will"
default y
help
A simple sysfs interface to force adapters that
are detected as USB to charge as AC.
3. Save It,Then Open "Makefile" And Add The Following Code-->>
Code:
obj-$(CONFIG_FORCE_FAST_CHARGE) += fastchg.o
4. Save The Makefile,Now Create/Add The Fast Charge File In That Directory! Where Is That File? Here Is It -->> Here
5. Now Go To kernel source/drivers/usb/otg directory And Open "msm_otg.c" File, And Add The Following Code -->>
Code:
#ifdef CONFIG_FORCE_FAST_CHARGE
#include <linux/fastchg.h>
#define USB_FASTCHG_LOAD 1000 /* uA */
#endif
And This Code -->>
Code:
#ifdef CONFIG_FORCE_FAST_CHARGE
if (force_fast_charge == 1) {
mA = USB_FASTCHG_LOAD;
pr_info("USB fast charging is ON - 1000mA.\n");
} else {
pr_info("USB fast charging is OFF.\n");
}
#endif
6. Save msm_otg.c File.Now Go To "include/linux" Directory And Add "fastchg.h" File.Here's The Link For That File -->> Here
7. Well Done You've Added Force Fast Charging Support! :fingers-crossed:
How To Add Support Voltage Control For MSM Devices?
1. Go To arch/arm/mach-msm Folder,And Open "Kconfig" File,And Add Following Codes-->>
Code:
config CPU_VOLTAGE_TABLE
bool "Enable CPU Voltage Table via sysfs for adjustements"
default n
help
Krait User Votlage Control
2.Save Kconfig File.Now open "acpuclock-krait.c" File.Add This Code-->>
Code:
#ifdef CONFIG_CPU_VOLTAGE_TABLE
#define HFPLL_MIN_VDD 800000
#define HFPLL_MAX_VDD 1350000
ssize_t acpuclk_get_vdd_levels_str(char *buf) {
int i, len = 0;
if (buf) {
mutex_lock(&driver_lock);
for (i = 0; drv.acpu_freq_tbl[i].speed.khz; i++) {
/* updated to use uv required by 8x60 architecture - faux123 */
len += sprintf(buf + len, "%8lu: %8d\n", drv.acpu_freq_tbl[i].speed.khz,
drv.acpu_freq_tbl[i].vdd_core );
}
mutex_unlock(&driver_lock);
}
return len;
}
/* updated to use uv required by 8x60 architecture - faux123 */
void acpuclk_set_vdd(unsigned int khz, int vdd_uv) {
int i;
unsigned int new_vdd_uv;
mutex_lock(&driver_lock);
for (i = 0; drv.acpu_freq_tbl[i].speed.khz; i++) {
if (khz == 0)
new_vdd_uv = min(max((unsigned int)(drv.acpu_freq_tbl[i].vdd_core + vdd_uv),
(unsigned int)HFPLL_MIN_VDD), (unsigned int)HFPLL_MAX_VDD);
else if ( drv.acpu_freq_tbl[i].speed.khz == khz)
new_vdd_uv = min(max((unsigned int)vdd_uv,
(unsigned int)HFPLL_MIN_VDD), (unsigned int)HFPLL_MAX_VDD);
else
continue;
drv.acpu_freq_tbl[i].vdd_core = new_vdd_uv;
}
pr_warn("faux123: user voltage table modified!\n");
mutex_unlock(&driver_lock);
}
#endif /* CONFIG_CPU_VOTALGE_TABLE */
3.Save The File.Done! You've Added It To Your Kernel.
How To Add Init.d Support To Kernel?
1. Copy Your boot.img To A Folder In Ubuntu And Open A Terminal With boot.img directory.
2. Now Type The Following In Terminal -->>
Code:
abootimg -x boot.img
3. You'll Get 3 Files From It(bootimg.cfg, initrd.img, zImage)
4. Now Create A New Work Folder And Decompress "initrd.img" Using The Following Commands -->>
Code:
mkdir work
cd work
zcat ../initrd.img | cpio -i
5. Now Open The Work Folder.Now Open The "init.rc" File And Add This Line At The End Of This File -->>
Code:
# Execute files in /etc/init.d during boot
service userinit /system/xbin/busybox run-parts /system/etc/init.d
oneshot
class late_start
user root
group root
6.Save "init.rc" File And You're Done!
Or Try This Guide By @alireza7991 -->> Here :laugh:
How To Make Kernel Boot In Permissive Mode(A Small Guide)
1. Go To "Kernel Source/security/selinux" Folder And Open "hooks.c".
2. Find This Line -->>
Code:
selinux_enforcing = enforcing ? 1 : 0;
3. Change It To -->>
Code:
selinux_enforcing = 0;// enforcing ? 1 : 0;
4. Now Save "hooks.c" File.Now Open "selinuxfs.c" File And Search For This Line -->>
Code:
if (new_value != selinux_enforcing) {
5. Add Below Code Above "if (new_value != selinux_enforcing) {" line -->>
Code:
new_value = 0;
6. Yo.You Finally Made The Kernel Boot In Permissive Mode,To Check If It Got Permissive Or Not -->> Go To Settings -> About Phone -> SE-Linux Status (You'll See Its "Permissive")
How To Build The Kernel?
1. Clone A Toolchain That Supports Your Device[
2. Point the Makefile To Your Compiler (run this from within the toolchain folder!!)
Code:
export CROSS_COMPILE=$(pwd)/bin/<toolchain_prefix>-
Example:
Code:
export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
3. Tell Makefile About The Architecture Of Your Device Using This Command -->>
Code:
export ARCH=<arch> && export SUBARCH=<arch>
Example:
Code:
export ARCH=arm64 && export SUBARCH=arm64
4. Locate Your Proper Defconfig File.Where You Will Found That?
Go To "arch/<arch>/configs" Folder,And There You'll Find A Defconfig File Along With Your Device Codename Like For S7 Edge, Its --> "exynos8890_hero2lte-defconfig"
5. Now Come Back To Main Kernel Source Directory Then Enter These Command To Start Building!
Code:
make clean
make mrproper
make <defconfig_name>
make -s -j$(nproc --all) [B][U]Or[/U][/B] make zImage -j4
6.And You're Done! Where You'll Find The zImage?
When Building Finished,The Terminal Will Show The Directory!
How To Flash The zImage?
1. Pull Your Device's Boot Image From The Latest Image Available For Your Device (Whether It Be A ROM Or Stock).
2. Download The Latest Android Image Kitchen From This thread
3. Run The Following With The Boot Image:
Code:
unpackimg.sh <image_name>.img
4. Locate The New zImage File And Replace It With Your Kernel Image (rename it to what came out of the boot image)
5. Run The Following To Repack:
Code:
repackimg.sh
6. Flash The New Boot Image With TWRP!
Mentions:
@LahKeda For Always Being With Me. (My AOSP Teacher)
@The Flash
@MZO
@krasCGQ
@flar2
@jazba
And All Devs Being With Me!
Some good stuff coming from you
Albe96 said:
6.And You're Done! Where You'll Find The zImage?
When Building Finished,The Terminal Will Show The Directory!
Click to expand...
Click to collapse
It won't if you use -s switch after make
Which will silent the output!
The resulting kernel image will be located at:
ARM: arch/arm/boot/zImage(-dtb)
ARM64: arch/arm64/boot/Image.gz(-dtb)
x86: arch/x86/boot/bzImage(-dtb)
ARM64 only:
If kernel image creation fails, complaining missing dtb, symlink dtb from ARM dts folder:
Code:
$ ln -s ../../../arm/boot/dts/<dtb-name>.dtb arch/arm64/boot/dts/<dtb-name>.dtb
Sent from my Redmi 3 using XDA Labs
krasCGQ said:
It won't if you use -s switch after make
Which will silent the output!
The resulting kernel image will be located at:
ARM: arch/arm/boot/zImage(-dtb)
ARM64: arch/arm64/boot/Image.gz(-dtb)
x86: arch/x86/boot/bzImage(-dtb)
ARM64 only:
If kernel image creation fails, complaining missing dtb, symlink dtb from ARM dts folder:
Click to expand...
Click to collapse
Thanks you sir! Will Update It Soon!
MZO said:
Some good stuff coming from you
Click to expand...
Click to collapse
But There's So New Though.I Just Explained My Guide To Help Some Noobs ?
I
Sent from my SAMSUNG-SM-N920A using Tapatalk
clmenz said:
I
Sent from my SAMSUNG-SM-N920A using Tapatalk
Click to expand...
Click to collapse
How to add to improve sound ??
Enviado desde mi XT1575 mediante Tapatalk
More feature please
lolnwl said:
More feature please
Click to expand...
Click to collapse
umm.Sure why not.But if I get a free time [emoji4]
Hi @Albe96
Can you please help me compile?
I have Samsung J7 prime SM-G610F (nougat).
I Have downloaded GCC "arm-linux-androideabi-4.9" ( as written in the readme_kernel.txt file of kernel source).
I am not sure if my device is 32-bit or 64-bit.
The readme_kernel.txt file points to 64-bit architecture so I am assuming its 64-bit.
Now the problem:-
When compiling as per your codes, when I type:
make clean,
I'm getting the error "make: *** No rule to make target 'clean'. Stop." and same for every other code after that.
Attaching the readme_kernel.txt file for your reference.
ashwini215 said:
Hi @Albe96
Can you please help me compile?
I have Samsung J7 prime SM-G610F (nougat).
I Have downloaded GCC "arm-linux-androideabi-4.9" ( as written in the readme_kernel.txt file of kernel source).
I am not sure if my device is 32-bit or 64-bit.
The readme_kernel.txt file points to 64-bit architecture so I am assuming its 64-bit.
Now the problem:-
When compiling as per your codes, when I type:
make clean,
I'm getting the error "make: *** No rule to make target 'clean'. Stop." and same for every other code after that.
Attaching the readme_kernel.txt file for your reference.
Click to expand...
Click to collapse
the error you're saying me is not a error I assume.Post full error log so I can look into it
Hi.how can we set kernel to permissive?
nikkali25 said:
Hi.how can we set kernel to permissive?
Click to expand...
Click to collapse
Yes and I think guide is already added
Albe96 said:
Yes and I think guide is already added
Click to expand...
Click to collapse
How to dis able tia and ready root kernel
Albe96 said:
the error you're saying me is not a error I assume.Post full error log so I can look into it
Click to expand...
Click to collapse
So, I corrected my previous mistake and finally was able to compile
Towards the end of compilation, I got this message :
/scripts/fips_crypto_utils.c: In function ‘main’:
./scripts/fips_crypto_utils.c:28:7: warning: implicit declaration of function ‘strcmp’ [-Wimplicit-function-declaration]
if (!strcmp ("-u", argv[1]))
^~~~~~
./scripts/fips_crypto_utils.c:52:10: warning: implicit declaration of function ‘update_crypto_hmac’ [-Wimplicit-function-declaration]
return update_crypto_hmac (vmlinux_file, hmac_file, offset);
^~~~~~~~~~~~~~~~~~
./scripts/fips_crypto_utils.c:82:10: warning: implicit declaration of function ‘collect_crypto_bytes’ [-Wimplicit-function-declaration]
return collect_crypto_bytes (in_file, section_name, offset, size, out_file);
^~~~~~~~~~~~~~~~~~~~
HMAC-SHA256(builtime_bytes.bin)= 80387d4cca5322a3de63d73fe615c492385801c8ae36494795eda733492d5a10
OBJCOPY arch/arm64/boot/Image
GZIP arch/arm64/boot/Image.gz
Is this anything to be concerned about?
Can I flash the kernel?
Have added the complete log.
I was able to complete with no errors! ( after running into a dozen )
Although I cannot find zimage anywhere.
I do notice that a bunch of folders / file's modified date has updated throughout the kernels source code folder .
I am building a Samsung exynos 7850 kernel .
Thanks for this great write up!
hightech316 said:
I was able to complete with no errors! ( after running into a dozen )
Although I cannot find zimage anywhere.
I do notice that a bunch of folders / file's modified date has updated throughout the kernels source code folder .
I am building a Samsung exynos 7850 kernel .
Thanks for this great write up!
Click to expand...
Click to collapse
It should be inside arch/(arm/arm64)/boot folder
Hi Team,
Recently I was asking you for help (successfully) regardingmissing adb in my android photo-frame
(https://forum.xda-developers.com/t/goclever-zoom-me-adb-connection.4210165/)
But I still didn't manage to edit build.prop file with success... I mean - I can edit it but it reverts to previous state after reboot.
I actually want to add only one line:
qemu.hw.mainkeys=0
I managed to unpack img with software
(http://downloadfiles.goclever.com/Tablet/Zoom_me/ZM7WIFI_20150717.img)
And in the simplest situation I get below filelist:
aultls32.fex
aultools.fex
BasePath.txt
boot.fex
boot0_nand.fex
boot0_sdcard.fex
bootloader.fex
cardscript.fex
cardtool.fex
config.fex
diskfs.fex
dlinfo.fex
env.fex
fes1.fex
image.cfg
recovery.fex
split_xxxx.fex
sunxi_mbr.fex
system.fex
sys_config.fex
sys_partition.fex
u-boot.fex
usbtool.fex
Vboot.fex
Vbootloader.fex
Venv.fex
Vrecovery.fex
Vsystem.fex
Following a lot of guides I managed to get some additional files, and folders, among others: system.fex.iso.
But when I try to edit and save this iso I get some read/write errors related to filenames...
I can also use some switches and unpack img with below additionally:
├───boot.fex.dump
│ └───ramdisk.dump
│ ├───data
│ ├───dev
│ ├───proc
│ ├───res
│ │ └───images
│ │ └───charger
│ ├───sbin
│ ├───sys
│ └───system
├───recovery.fex.dump
│ └───ramdisk.dump
│ ├───data
│ ├───dev
│ ├───etc
│ ├───proc
│ ├───res
│ │ └───images
│ │ └───charger
│ ├───sbin
│ ├───sys
│ ├───system
│ └───tmp
└───_iso
But I don't know how it can help...
All in all I'm unable to edit it fex/img/iso file to be able to save it back...
I tried that in Windows and Ubuntu.
Can you help me anyhow?
It's a jellybean - it should not be that hard.
Did you chmod it 644?
Try putting it to /data/local.prop
That's what I also expected, but it actually doesn't work as described in many manuals... I face a lot of problems with accessing the data in img, and it actually seems like non-compatible with available tools.
What do you mean by putting it to /data/local.propp? There is no /data directory in root of extracted rom. Can you please provide more precise directions?
Not extracted one but live using adb for example...
adb shell
su
echo qemu.hw.mainkeys=0 >> /data/local.prop
chmod 644 /data/local.prop
Geez... how could I miss this way...
Thanks it worked - however it behaves strange, because main app overrides the settings and once started - bar disappeared. Navigation Bar 3rd party application turned out to be a solution.
Let me ask one more question - during one of reflashes, due to problems with rom upload I selected "Format upgrade mode" instead of recommended "Normal upgrade mode".
After that I lost an unique device number (it got renewed to another one). It's not a big issue, however I wonder where should I look for to rewrite it back (I have the number written down) if possible?
EDIT:
I mean if you know what areas are formatted that I can scan for missing/changed number?
Unique device number meaning what?
Device ID Changer [ADIC] - Apps on Google Play
Change device ID or ANDROID ID and restore to original, view device and sim info
play.google.com
It's kind of decimal 7 digits ID used internally by ZoomMe application (default launcher).
The app you recommended recognizes different number, so it's not the one I look for.
I checked the files of this launcher, but no luck so far. Previously when I reflashed device without formatting it, this number was persistent.
well, pull all partitions (under /dev/block/) and do search for the new string. Try utf-8 or what ever also... maybe you can hexedit it and push it back.
OK, will try that. Thank you for your support.
I've found in nandk (UDISK) that the number which is currently used as new mentioned device ID is stored as IMEI (tablet does not have GSM modem): IMEI=(8 initial digits)(7 digits of Device ID).I can edit it in HxD, but I can't push it back to device, because it reports lack of free space...
Any ideas?
Maybe some other idea to change IMEI? I tried already AT command and Xposed IMEI Changer, but no real luck.
Well, on that nandk can have some file that you can edit. What sort is it. It's just zeros in firmware file. Maybe you can just cut it after that value and push or dd it back. A dirty hack but might work. IDK.
edit:
Or is this a rights problem? If you pulled from it, it must fit into it.
Or so one could assume...
I couldn't make it working anyhow... and gave up. But thanks for your engagement.
THIS IS OUTDATED, SEE THE NEW ARTICLE
How To Make Your Own Tiny or Lite Windows ISO
Hello Friends, Today I bring you a guide on how to properly mod your windows isos, to do anything you want :) [/SPOILER] [/SPOILER] [/SPOILER] To remove installed apps: dism.exe /Image:C:\Users\0110\Desktop\MODWINDOWZ\PATH...
forum.xda-developers.com
======================================
USING DISM.EXE AND POWERSHELL TO MODIFY WINDOWS ISOS
=============================================================================================
=======================================================
On today's Lesson of Whatever I got distracted on~! Here's how to take what we learned before...
About Modding Windows ISOs.. and Make it... HARDER XD
Unintentionally, of Course, but with Purpose.
Spoiler: ORIGINAL ARTICLE
[CLOSED] How To Make Your Own Modified Windows ISO
============================================================== HOW TO MAKE A MODIFIED WINDOWS ISO ============================================================== Mod Edit: Link to Tool removed. This ISO will work just fine In virtual...
forum.xda-developers.com
Let's learn and understand what the MSMG Toolkit was really doing..
Since MSMG Unfortunately Doesn't Work as needed for Windows 7 ISOs...
We will be using the built in Windows Tool, dism.exe, in Powershell~!
Spoiler: DOWNLOAD: DEBLOAT WINDOWS 7 TOOLS, "AKA" DW7
GOOGLE DRIVE:
DW7.zip
drive.google.com
(3 GB, INCLUDES ORIGINAL WIN7WSP1)
Spoiler: VIDEO GUIDE
Spoiler: SETTING UP THE TOOLS
Extract The DW7 Folder and Paste into C:\
Win7UltSP1 is an unactivated, Stock Windows 7 Ultimate image with Service Pack 1.
You may use this ISO, Or your own Windows 7 ISO.
You may also create your own directories!
The tools are to help brand new people by proving concept.
Spoiler: PREPARING THE install.wim FILE
Open Your ISO and copy the files of the ISO into the DVD folder of DW7..
Press the Windows key on the keyboard,
Search for Powershell, Right Click, Run as Admin..
Paste this command to See, and Select, an Image "Source" Number:
Dism /Get-WimInfo /WimFile:"C:\DW7\DVD\sources\install.wim"
Paste this command to Extract the Selected Image "Source" Number:
Dism /export-image /SourceImageFile:"C:\DW7\DVD\sources\install.wim" /SourceIndex:4 /DestinationImageFile:"C:\DW7\ISO\install.wim" /Compress:max /CheckIntegrity
NOTE THAT YOU CAN:
Change the SourceIndex:Number If you don't want Ultimate.
Spoiler: OUT WITH THE OLD~! IN WITH THE NEW~!
Paste this command to copy and move the new install.wim and force replace the original install file:
copy-item "C:\DW7\ISO\install.wim" C:\DW7\DVD\sources -Recurse -Force
Paste this command to remove the "new" install.wim, that we moved above to the dvd sources folder:
remove-item "C:\DW7\ISO\install.wim"
Spoiler: PREPARING THE PATH ENVIRONMENT
At this point we need to make a copy of our DW7 Folder..
Paste The DW7 Folder to your Desktop.
Do not Cut or Drag and Drop!
This will leave you clean backups in C:\, just in case~!
This also forces us to make a change in the code...
Spoiler: LEARN DEM HOTKEYS~! PLEASE~!
You will need to Edit the Username in the code below.
If you are unsure of your Username,
Go into C:\Users and click on your Username.
Press F2 (This is the "rename" shortcut),
Which Highlights the text of any file or folder saving time..
Press Ctrl+C to quickly copy your username.
Then replace my commands below, the part after...
C:\Users\paste your user name and erase mine, the 0110 part...
To do this quickly, press Ctrl+H, type 0110 in the first line..
Press Ctrl+V to Paste your username, and replace all..
Spoiler: MOUNTING THE IMAGE
DESKTOP COMMAND:
dism.exe /mount-wim /wimfile:"C:\Users\0110\Desktop\DW7\DVD\sources\install.wim" /mountdir:"C:\Users\0110\Desktop\DW7\PATH" /index:1
DESKTOP COMMAND:
takeown /a /r /d Y /f "C:\Users\0110\Desktop\DW7\PATH"
Spoiler: ENABLING AND REMOVING FEATURES
Paste this command to Enable Windows features, currently disabled on the ISO:
Get-WindowsOptionalFeature -Path "C:\DW7\PATH" | Where-Object {$_.State –eq “Disabled”} | Out-GridView -PassThru | Enable-WindowsOptionalFeature
Paste this command to Disable Windows features, currently enabled on the ISO:
Get-WindowsOptionalFeature -Path "C:\DW7\PATH" | Where-Object {$_.State –eq “Enabled”} | Out-GridView -PassThru | Disable-WindowsOptionalFeature
Add or Remove Features by holding the control key and click on
all the features you want to include, then hit ok.
Spoiler: SAVE AND EXIT
Save your changes by pasting this command:
Dismount-WindowsImage -Path "C:\Users\0110\Desktop\DW7\PATH\" -Save
NOTE THAT UNTIL YOU DO THIS STEP, TRUSTED INSTALLER WILL NOT ALLOW YOU...
TO DELETE THE DW7 FOLDER OR FILES WITHIN~!
Spoiler: REFERENCES
How to Remove Built-in Apps, Features & Editions from a Windows 10 Install Image (WIM file)? | Windows OS Hub
In this guide we’ll show how to remove Microsoft Store provisioned apps, features (capabilities), and unused Windows editions from a Windows 10 installation image (install.wim file). Let’s do it manually…
woshub.com
Take ownership and delete a folder with Windows PowerShell
Windows won’t let me delete this folder…
mattyclutch.wordpress.com
TAKEOWN Command: Takes Ownership of A File
The TAKEOWN command is used to take ownership of a file. This command is used on the batch files.
windowscmd.com
takeown
Reference article for the takeown command, which enables an administrator to recover access to a file that was previously denied.
docs.microsoft.com
How to Add or Remove Optional Features on Windows Install Media
Ten Forums own tutorial guru @Brink has written an excellent tutorial about how to turn Windows optional features on or off in online OS, the current Windows installation user has signed in. This tutorial shows how to do the same on an offline image, a Wi
www.tenforums.com
Spoiler: Scripts from the articles to run on live machines
Remove Windows Apps:
Get-AppxProvisionedPackage -Online | Out-GridView -PassThru -Title 'Select All Windows Apps to Remove' | Remove-AppxProvisionedPackage -Online -ErrorAction SilentlyContinue -Verbose
Remove System Apps:
Get-AppxPackage -AllUsers | Out-GridView -PassThru -Title 'Select All System Apps to Remove' | Remove-AppxPackage -Confirm:$false -ErrorAction SilentlyContinue -Verbose
Remove Windows Capabilities:
Get-WindowsCapability -Online | Where-Object {$_.State -eq 'Installed' } | Out-GridView -PassThru -Title 'Select Windows Capabilities to Remove' | Remove-WindowsCapability -Online -Verbose
Remove Windows Packages:
Get-WindowsPackage -Online | Where-Object {$_.PackageState -eq 'Installed' } | Out-GridView -PassThru -Title 'Select Windows Packages to Remove' | Remove-WindowsPackage -Online -Verbose
=========================================================================
TODAY'S PRESENTATION IS BROUGHT TO YOU BY:
THE LETTER D... FOR DISM...
DEPLOYMENT IMAGE SERVICING AND MANAGEMENT TOOL~!
===========================================================================
TO GET HELP IN SHELL...
PASTE: DISM /?
Spoiler: DISM COMMANDS
Deployment Image Servicing and Management tool
Version: 10.0.19041.844
DISM.exe [dism_options] {Imaging_command} [<Imaging_arguments>]
DISM.exe {/Image:<path_to_offline_image> | /Online} [dism_options]
{servicing_command} [<servicing_arguments>]
DESCRIPTION:
DISM enumerates, installs, uninstalls, configures, and updates features
and packages in Windows images. The commands that are available depend
on the image being serviced and whether the image is offline or running.
GENERIC IMAGING COMMANDS:
/Split-Image - Splits an existing .wim file into multiple
read-only split WIM (SWM) files.
/Apply-Image - Applies an image.
/Get-MountedImageInfo - Displays information about mounted WIM and VHD
images.
/Get-ImageInfo - Displays information about images in a WIM, a VHD
or a FFU file.
/Commit-Image - Saves changes to a mounted WIM or VHD image.
/Unmount-Image - Unmounts a mounted WIM or VHD image.
/Mount-Image - Mounts an image from a WIM or VHD file.
/Remount-Image - Recovers an orphaned image mount directory.
/Cleanup-Mountpoints - Deletes resources associated with corrupted
mounted images.
WIM COMMANDS:
/Apply-CustomDataImage - Dehydrates files contained in the custom data image.
/Capture-CustomImage - Captures customizations into a delta WIM file on a
WIMBoot system. Captured directories include all
subfolders and data.
/Get-WIMBootEntry - Displays WIMBoot configuration entries for the
specified disk volume.
/Update-WIMBootEntry - Updates WIMBoot configuration entry for the
specified disk volume.
/List-Image - Displays a list of the files and folders in a
specified image.
/Delete-Image - Deletes the specified volume image from a WIM file
that has multiple volume images.
/Export-Image - Exports a copy of the specified image to another
file.
/Append-Image - Adds another image to a WIM file.
/Capture-Image - Captures an image of a drive into a new WIM file.
Captured directories include all subfolders and
data.
/Get-MountedWimInfo - Displays information about mounted WIM images.
/Get-WimInfo - Displays information about images in a WIM file.
/Commit-Wim - Saves changes to a mounted WIM image.
/Unmount-Wim - Unmounts a mounted WIM image.
/Mount-Wim - Mounts an image from a WIM file.
/Remount-Wim - Recovers an orphaned WIM mount directory.
/Cleanup-Wim - Deletes resources associated with mounted WIM
images that are corrupted.
FFU COMMANDS:
/Capture-Ffu - Captures a physical disk image into a new FFU file.
/Apply-Ffu - Applies an .ffu image.
/Split-Ffu - Splits an existing .ffu file into multiple read-only
split FFU files.
/Optimize-Ffu - Optimizes a FFU file so that it can be applied to storage
of a different size.
IMAGE SPECIFICATIONS:
/Online - Targets the running operating system.
/Image - Specifies the path to the root directory of an
offline Windows image.
DISM OPTIONS:
/English - Displays command line output in English.
/Format - Specifies the report output format.
/WinDir - Specifies the path to the Windows directory.
/SysDriveDir - Specifies the path to the system-loader file named
BootMgr.
/LogPath - Specifies the logfile path.
/LogLevel - Specifies the output level shown in the log (1-4).
/NoRestart - Suppresses automatic reboots and reboot prompts.
/Quiet - Suppresses all output except for error messages.
/ScratchDir - Specifies the path to a scratch directory.
For more information about these DISM options and their arguments, specify an
option immediately before /?.
Examples:
DISM.exe /Mount-Wim /?
DISM.exe /ScratchDir /?
DISM.exe /Image:C:\test\offline /?
DISM.exe /Online /?
PS C:\> Get-WindowsCapability -Path C:\DW7\PATH
Get-WindowsCapability : Get-WindowsCapability failed. Error code = 0x80004002
At line:1 char:1
+ Get-WindowsCapability -Path C:\DW7\PATH
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: ) [Get-WindowsCapability], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.GetWindowsCapabilityCommand
PS C:\> Get-WindowsCapability -Path " C:\DW7\PATH"
Get-WindowsCapability : The parameter is incorrect.
At line:1 char:1
+ Get-WindowsCapability -Path " C:\DW7\PATH"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: ) [Get-WindowsCapability], PSArgumentException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.GetWindowsCapabilityCommand
Upload has completed, download links are now available.
A video guide has been provided.
We are missing one or so lines of code to rebuild the ISO.
I will correct that tomorrow, I'm Sleepy. D;
You can always use MSMGTK to do that part if you make it there before I add the code~!
Apparently I have to learn Ms build which I'm doing now so obviously this will take a little longer than I expected but it will help to progress our knowledge gained from trying to do something that should be so simple, turn a folder into an ISO, but continues to prove to us that nothing in computing should ever be took lightly and it took a lot of time and tools and engineering to create everything we do on them...
I am putting out a correction~! MSBUILD is NOT needed to turn a folder into an ISO. We can do that entirely in Powershell, using the built in ISE Tool. This will allow us to create a script that will burn the ISO for us. I will release a new thread on building a script in PowerShell ISE when I know what the heck I am doing. LOL
I did however, extract the MSBUILD tool from Visual Studio if anyone ever needs it and doesn't want to install VS
MSBuild.zip
drive.google.com
(22.5 MB ZIPPED)
I am also dumping all my research on MSBUILD here in case I or anyone else want's to pickup on it later~!
REFS:
Spoiler: MSBUILD ENGINE
MSBuild - MSBuild
Learn about how the Microsoft Build Engine (MSBuild) platform provides a project file with an XML schema to control builds.
docs.microsoft.com
"The Microsoft Build Engine is a platform for building applications. This engine, which is also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software"
"To run MSBuild at a command prompt, pass a project file to MSBuild.exe, together with the appropriate command-line options. Command-line options let you set properties, execute specific targets, and set other options that control the build process."
COMMAND LINE EXAMPLE:
MSBuild.exe MyProj.proj -property:Configuration=Debug
"MSBuild uses an XML-based project file format that's straightforward and extensible. The MSBuild project file format lets developers describe the items that are to be built, and also how they are to be built for different operating systems and configurations.
In addition, the project file format lets developers author reusable build rules that can be factored into separate files so that builds can be performed consistently across different projects in the product"
"Properties represent key/value pairs that can be used to configure builds. Properties are declared by creating an element that has the name of the property as a child of a PropertyGroup element"
XML EXAMPLE:
<PropertyGroup>
<BuildDir>Build</BuildDir>
</PropertyGroup>
"You can define a property conditionally by placing a Condition attribute in the element. The contents of conditional elements are ignored unless the condition evaluates to true"
XML EXAMPLE:
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
"Properties can be referenced throughout the project file by using the syntax $(<PropertyName>).
For example, you can reference the properties in the previous examples by using $(BuildDir) and $(Configuration)."
"Items are inputs into the build system and typically represent files. Items are grouped into item types based on user-defined item names. These item types can be used as parameters for tasks, which use the individual items to perform the steps of the build process. Items are declared in the project file by creating an element that has the name of the item type as a child of an ItemGroup element."
XML EXAMPLE:
<ItemGroup>
<Compile Include = "file1.cs"/>
<Compile Include = "file2.cs"/>
</ItemGroup>
"Item types can be referenced throughout the project file by using the syntax @(<ItemType>).
For example, the item type in the example would be referenced by using @(Compile).
In MSBuild, element and attribute names are case-sensitive. However, property, item, and metadata names are not."
"Tasks are units of executable code that MSBuild projects use to perform build operations.
For example, a task might compile input files or run an external tool."
"The execution logic of a task is written in managed code and mapped to MSBuild by using the UsingTask element.
You can write your own task by authoring a managed type that implements the ITask interface"
"MSBuild includes common tasks that you can modify to suit your requirements.
Examples are Copy, which copies files, MakeDir, which creates directories"
"A task is executed in an MSBuild project file by creating an element that has the name of the task as a child of a Target element.
Tasks typically accept parameters, which are passed as attributes of the element. Both MSBuild properties and items can be used as parameters."
XML EXAMPLE:
<Target Name="MakeBuildDirectory">
<MakeDir Directories="$(BuildDir)" />
</Target>
"Targets group tasks together in a particular order and expose sections of the project file as entry points into the build process."
"Breaking the build steps into targets lets you call one piece of the build process from other targets without copying that section of code into every target"
XML EXAMPLE:
<Target Name="Compile">
<Csc Sources="@(Compile)" />
</Target>
Spoiler: WHAT IS XML SCHEMA?
What is XML Schema (XSD)?
docs.microsoft.com
"XML Schema Definition (XSD) language is the current standard schema language for all XML documents and data. On May 2, 2001, the World Wide Web Consortium (W3C) published XSD in its version 1.0 format.
The XML Schema definition language (XSD) enables you to define the structure and data types for XML documents.
An XML Schema defines the elements, attributes, and data types that conform to the World Wide Web Consortium (W3C),
XML Schema Part 1: Structures Recommendation for the XML Schema Definition Language."
"The schema element contains type definitions (simpleType and complexType elements) and attribute and element declarations. In addition to its built-in data types (such as integer, string, and so on), XML Schema also allows for the definition of new data types using the simpleType and complexType elements.
simpleType
A type definition for a value that can be used as the content (textOnly) of an element or attribute. This data type cannot contain elements or have attributes.
complexType
A type definition for elements that can contain attributes and elements. This data type can contain elements and have attributes."
Spoiler: MSBUILD ON THE COMMAND LINE
MSBuild on the command line - C++
Learn more about: MSBuild on the command line - C++
docs.microsoft.com
"you can use the MSBuild tool directly from the command prompt. The build process is controlled by the information in a project file (.vcxproj) that you can create and edit."
CLI EXAMPLE:
msbuild.exe [ project_file ] [ options ]
"Use the /target (or /t) and /property (or /p) command-line options to override specific properties and targets that are specified in the project file."
"A project file can specify one or more targets, which can include a default target."
"Each target consists of a sequence of one or more tasks. Each task is represented by a .NET Framework class that contains one executable command. For example, the CL task contains the cl.exe command."
"A task parameter is a property of the class task and typically represents a command-line option of the executable command."
Spoiler: MSBUILD COMMAND LINE REFERENCES
MSBuild Command-Line Reference - MSBuild
Learn how to use MSBuild.exe command line to build a project or solution file, and several switches you can include.
docs.microsoft.com
"When you use MSBuild.exe to build a project or solution file, you can include several switches to specify various aspects of the process."
"Every switch is available in two forms: -switch and /switch."
"Switches are not case-sensitive. If you run MSBuild from a shell other than the Windows command prompt, lists of arguments to a switch (separated by semicolons or commas) might need single or double quotes to ensure that lists are passed to MSBuild instead of interpreted by the shell."
SYNTAX:
MSBuild.exe [Switches] [ProjectFile]
ARGUMENT:
ProjectFile Builds the targets in the project file that you specify. If you don't specify a project file,
MSBuild searches the current working directory for a file name extension that ends in proj and uses that file.
USE THIS ARTICLE AFTER READING THE ABOVE AND YOU WILL UNDERSTAND WHAT IT'S SAYING.
Use MSBuild - MSBuild
Learn the various parts of an MSBuild project file, including items, item metadata, properties, targets, and tasks.
docs.microsoft.com
To get help in the Shell, Type:
MSBuild -help
Spoiler: DISPLAYS THIS
C:\Users\0110\Desktop\MSBuild\Current\Bin>msbuild -help
Microsoft (R) Build Engine version 17.0.0+c9eb9dd64 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
Syntax: MSBuild.exe [options] [project file | directory]
Description: Builds the specified targets in the project file. If a project file is not specified, MSBuild searches the current working directory for a file that has a file extension that ends in "proj" and uses that file. If a directory is specified, MSBuild searches that directory for a project file.
Switches: Note that you can specify switches using:
"-switch", "/switch" and "--switch".
-target:<targets> Build these targets in this project. Use a semicolon or a comma to separate multiple targets, or specify each target separately. (Short form: -t)
Example:
-target:Resources;Compile
-property:<n>=<v> Set or override these project-level properties. <n> is the property name, and <v> is the property value. Use a semicolon or a comma to separate multiple properties, or specify each property separately.
(Short form: -p)
Example:
-property:WarningLevel=2;OutDir=bin\Debug\
-maxCpuCount[:n] Specifies the maximum number of concurrent processes to build with. If the switch is not used, the default value used is 1. If the switch is used without a value MSBuild will use up to the number of processors on the computer. (Short form: -m[:n])
-toolsVersion:<version> The version of the MSBuild Toolset (tasks, targets, etc.) to use during build. This version will override the versions specified by individual projects.
(Short form: -tv)
Example:
-toolsVersion:3.5
-verbosity:<level> Display this amount of information in the event log.
The available verbosity levels are: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].
(Short form: -v)
Example:
-verbosity:quiet
-consoleLoggerParameters:<parameters> Parameters to console logger.
(Short form: -clp)
The available parameters are:
PerformanceSummary--Show time spent in tasks, targets and projects.
Summary--Show error and warning summary at the end.
NoSummary--Don't show error and warning summary at the end.
ErrorsOnly--Show only errors.
WarningsOnly--Show only warnings.
NoItemAndPropertyList--Don't show list of items and properties at the start of each project build.
ShowCommandLine--Show TaskCommandLineEvent messages
ShowTimestamp--Display the Timestamp as a prefix to any message.
ShowEventId--Show eventId for started events, finished events, and messages
ForceNoAlign--Does not align the text to the size of the console buffer
DisableConsoleColor--Use the default console colors for all logging messages.
DisableMPLogging-- Disable the multiprocessor logging style of output when running in non-multiprocessor mode.
EnableMPLogging--Enable the multiprocessor logging style even when running in non-multiprocessor mode. This logging style is on by default.
ForceConsoleColor--Use ANSI console colors even if console does not support it
Verbosity--overrides the -verbosity setting for this logger.
Example:
-consoleLoggerParameterserformanceSummary;NoSummary;
Verbosity=minimal
-noConsoleLogger Disable the default console logger and do not log events to the console. (Short form: -noConLog)
-fileLogger[n] Logs the build output to a file. By default the file is in the current directory and named
"msbuild[n].log". Events from all nodes are combined into a single log. The location of the file and other parameters for the fileLogger can be specified through the addition of the "-fileLoggerParameters[n]" switch. "n" if present can be a digit from 1-9, allowing up to 10 file loggers to be attached.
(Short form: -fl[n])
-fileLoggerParameters[n]:<parameters> Provides any extra parameters for file loggers. The presence of this switch implies the corresponding -fileLogger[n] switch.
"n" if present can be a digit from 1-9.
-fileLoggerParameters is also used by any distributed file logger, see description of -distributedFileLogger.
(Short form: -flp[n])
The same parameters listed for the console logger are available. Some additional available parameters are:
LogFile--path to the log file into which the build log will be written.
Append--determines if the build log will be appended to or overwrite the log file. Setting the switch appends the build log to the log file;
Not setting the switch overwrites the contents of an existing log file. The default is not to append to the log file.
Encoding--specifies the encoding for the file, for example, UTF-8, Unicode, or ASCII Default verbosity is Detailed.
Examples:
-fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8
-flp:Summary;Verbosity=minimal;LogFile=msbuild.sum
-flp1:warningsonly;logfile=msbuild.wrn
-flp2:errorsonly;logfile=msbuild.err
-distributedLogger:<central logger>*<forwarding logger>
Use this logger to log events from MSBuild, attaching a different logger instance to each node. To specify multiple loggers, specify each logger separately.
(Short form -dl)
The <logger> syntax is:
[<class>,]<assembly>[,<options>][;<parameters>]
The <logger class> syntax is:
[<partial or full namespace>.]<logger class name>
The <logger assembly> syntax is:
{<assembly name>[,<strong name>] | <assembly file>}
Logger options specify how MSBuild creates the logger. The <logger parameters> are optional, and are passed to the logger exactly as you typed them.
(Short form: -l)
Examples:
-dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
-dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll
-distributedFileLogger
Logs the build output to multiple log files, one log file per MSBuild node. The initial location for these files is the current directory. By default the files are called "MSBuild<nodeid>.log". The location of the files and other parameters for the fileLogger can be specified with the addition of the "-fileLoggerParameters" switch.
If a log file name is set through the fileLoggerParameters switch the distributed logger will use the fileName as a template and append the node id to this fileName to create a log file for each node.
-logger:<logger> Use this logger to log events from MSBuild. To specify multiple loggers, specify each logger separately.
The <logger> syntax is:
[<class>,]<assembly>[,<options>][;<parameters>]
The <logger class> syntax is:
[<partial or full namespace>.]<logger class name>
The <logger assembly> syntax is:
{<assembly name>[,<strong name>] | <assembly file>}
Logger options specify how MSBuild creates the logger.
The <logger parameters> are optional, and are passed to the logger exactly as you typed them.
(Short form: -l)
Examples:
-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral
-logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML
-binaryLogger[:[LogFile=]output.binlog[;ProjectImports={None,Embed,ZipFile}]]
Serializes all build events to a compressed binary file.
By default the file is in the current directory and named "msbuild.binlog". The binary log is a detailed description of the build process that can later be used to reconstruct text logs and used by other analysis tools. A binary log is usually 10-20x smaller than the most detailed text diagnostic-level log, but it contains more information.
(Short form: -bl)
The binary logger by default collects the source text of project files, including all imported projects and target files encountered during the build. The optional ProjectImports switch controls this behavior:
ProjectImports=None - Don't collect the project imports.
ProjectImports=Embed - Embed project imports in the log file.
ProjectImports=ZipFile - Save project files to output.projectimports.zip where output is the same name as the binary log file name.
The default setting for ProjectImports is Embed. Note: the logger does not collect non-MSBuild source files such as .cs, .cpp etc.
A .binlog file can be "played back" by passing it to msbuild.exe as an argument instead of a project/solution. Other loggers will receive the information contained in the log file as if the original build was happening.
You can read more about the binary log and its usages at:
msbuild/Providing-Binary-Logs.md at main · dotnet/msbuild
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio. - msbuild/Providing-Binary-Logs.md at main · dotnet/msbuild
aka.ms
Examples:
-bl
-blutput.binlog
-blutput.binlog;ProjectImports=None
-blutput.binlog;ProjectImports=ZipFile
-bl:..\..\custom.binlog
-binaryLogger
-warnAsError[:code[;code2]]
List of warning codes to treats as errors. Use a semicolon or a comma to separate multiple warning codes. To treat all warnings as errors use the switch with no values.
(Short form: -err[:c;[c2]])
Example:
-warnAsError:MSB4130
When a warning is treated as an error the target will continue to execute as if it was a warning but the overall build will fail.
-warnAsMessage[:code[;code2]]
List of warning codes to treats as low importance messages. Use a semicolon or a comma to separate multiple warning codes.
(Short form: -noWarn[:c;[c2]])
Example:
-warnAsMessage:MSB3026
-validate Validate the project against the default schema. (Short form: -val)
-validate:<schema> Validate the project against the specified schema. (Short form: -val)
Example:
-validate:MyExtendedBuildSchema.xsd
-ignoreProjectExtensions:<extensions>
List of extensions to ignore when determining which project file to build. Use a semicolon or a comma to separate multiple extensions.
(Short form: -ignore)
Example:
-ignoreProjectExtensions:.sln
-nodeReuse:<parameters>
Enables or Disables the reuse of MSBuild nodes.
The parameters are:
True --Nodes will remain after the build completes and will be reused by subsequent builds (default)
False--Nodes will not remain after the build completes
(Short form: -nr)
Example:
-nr:true
-preprocess[:file]
Creates a single, aggregated project file by inlining all the files that would be imported during a build, with their boundaries marked. This can be
useful for figuring out what files are being imported and from where, and what they will contribute to the build. By default the output is written to the console window. If the path to an output file is provided that will be used instead.
(Short form: -pp)
Example:
-pput.txt
-targets[:file]
Prints a list of available targets without executing the actual build process. By default the output is written to the console window. If the path to an output file is provided that will be used instead.
(Short form: -ts)
Example:
-tsut.txt
-detailedSummary[:True|False]
Shows detailed information at the end of the build about the configurations built and how they were scheduled to nodes.
(Short form: -ds)
-restore[:True|False]
Runs a target named Restore prior to building other targets and ensures the build for these targets uses the latest restored build logic.
This is useful when your project tree requires packages to be restored before it can be built.
Specifying -restore is the same as specifying
-restore:True. Use the parameter to override a value that comes from a response file.
(Short form: -r)
-restoreProperty:<n>=<v>
Set or override these project-level properties only during restore and do not use properties specified with the -property argument. <n> is the property name, and <v> is the property value. Use a semicolon or a comma to separate multiple properties, or specify each property separately.
(Short form: -rp)
Example:
-restoreProperty:IsRestore=true;MyProperty=value
-profileEvaluation:<file>
Profiles MSBuild evaluation and writes the result to the specified file. If the extension of the specified file is '.md', the result is generated in markdown format. Otherwise, a tab separated file is produced.
-interactive[:True|False]
Indicates that actions in the build are allowed to interact with the user. Do not use this argument in an automated scenario where interactivity is not expected.
Specifying -interactive is the same as specifying
-interactive:true. Use the parameter to override a value that comes from a response file.
-isolateProjects[:True|False]
Causes MSBuild to build each project in isolation. This is a more restrictive mode of MSBuild as it requires that the project graph be statically discoverable at evaluation time, but can improve scheduling and reduce memory overhead when building a large set of projects.
(Short form: -isolate)
This flag is experimental and may not work as intended.
-inputResultsCaches:<cacheFile>...
Semicolon separated list of input cache files that MSBuild will read build results from. Setting this also turns on isolated builds (-isolate).
(short form: -irc)
-outputResultsCache:[cacheFile]
Output cache file where MSBuild will write the contents of its build result caches at the end of the build. Setting this also turns on isolated builds (-isolate).
(short form: -orc)
-graphBuild[:True|False]
Causes MSBuild to construct and build a project graph.
Constructing a graph involves identifying project references to form dependencies. Building that graph involves attempting to build project references prior to the projects that reference them, differing from traditional MSBuild scheduling.
(Short form: -graph)
This flag is experimental and may not work as intended.
-lowPriority[:True|False]
Causes MSBuild to run at low process priority. Specifying -lowPriority is the same as specifying -lowPriority:True.
(Short form: -low)
@<file> Insert command-line settings from a text file. To specify multiple response files, specify each response file separately.
Any response files named "msbuild.rsp" are automatically consumed from the following locations:
(1) the directory of msbuild.exe
(2) the directory of the first project or solution built
-noAutoResponse Do not auto-include any MSBuild.rsp files.
(Short form:-noAutoRsp)
-noLogo Do not display the startup banner and copyright message.
-version Display version information only. (Short form: -ver)
-help Display this usage message. (Short form: -? or -h)
Examples:
MSBuild MyApp.sln -t:Rebuild -p:Configuration=Release
MSBuild MyApp.csproj -t:Clean
-p:Configuration=Debug;TargetFrameworkVersion=v3.5
For more detailed information, see https://aka.ms/msbuild/docs
C:\Users\0110\Desktop\MSBuild\Current\Bin>
Update 21-02-2022
----------------------------
Hi!
Great Job!
I done it for Windows 11 with a few changes, and windows 11 have install.esd not install.wim!
This was not my idea! It belongs to @jenneh, i only had done trough batch files.
You need to create this 5 batch files bellow:
* Need Notepad++ to be easy to read files.
* Use MediaCreationToolW11.exe and download ISO image or create a Pendrive with system.
* Extract from ISO or Pendrive all in to a work folder on descktop
* Create and copy the first 4 batch files in to inside the work folder.
* All 5 batch will request administrator permissions.
* At end delete/cut what ever the batch files from the work folder
*The 5 batch files is executed in to desktop and read what batch window says!
* Done!
This are the 5 batch files:
First one it show the images inside and the option the select and work on one.
Spoiler: 1-Preparing_and_extracting_img.bat
Code:
@echo off & @echo.
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
@echo. & @echo [43m[31mRequesting administrative privileges...[0m
goto UACPrompt
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
rem :To CD to the location of the batch script file (%0)
CD /d "%~dp0"
mkdir %~dp0ISO
powershell.exe Dism /Get-WimInfo /WimFile:"%~dp0sources\install.esd"
@echo. & set /p index=" Type Image Index number to extract image: "
powershell.exe Dism /export-image /SourceImageFile:"%~dp0sources\install.esd" /SourceIndex:%index% /DestinationImageFile:"%~dp0ISO\install.esd" /Compress:max /CheckIntegrity
pause
Spoiler: 2-Mount_Windows_image.bat
Code:
@echo off & @echo.
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
@echo. & @echo [43m[31mRequesting administrative privileges...[0m
goto UACPrompt
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
rem :To CD to the location of the batch script file (%0)
CD /d "%~dp0"
del /F /S /Q "%~dp0sources\install.esd"
move /y "%~dp0ISO\install.esd" "%~dp0sources\install.esd"
mkdir "%~dp0PATH"
dism.exe /mount-wim /wimfile:"%~dp0sources\install.esd" /mountdir:"%~dp0PATH" /index:1
pause
This one create a file where you can check the Optional Features windows state then use batch to enable or disable, batch it will refresh the file with new state, just reload the file. But some of them aren't possible to change state, it gives error.
Spoiler: 3-Enable_Disable_options.bat
Code:
@echo off & @echo.
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
@echo. & @echo [43m[31mRequesting administrative privileges...[0m
goto UACPrompt
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
rem :To CD to the location of the batch script file (%0)
CD /d "%~dp0"
:start
cls
@echo. & @echo Open WindowsOptionalFeature.txt to check Optional Feature state & @echo.
Timeout /t 3 >nul
powershell.exe Get-WindowsOptionalFeature -Path "%~dp0PATH" > WindowsOptionalFeature.txt
set /p Feature=" Optional Feature name:-"
set /p state=" Enable or disable ? -"
powershell.exe %state%-WindowsOptionalFeature -Path "%~dp0PATH" -FeatureName "%Feature%"
@echo. & @echo Press any key to continue. & pause >nul
goto start
This one Will Install apps from Windows app Store in Windows Offline image.
Spoiler: 3.1-Add_Apps_to_Offline_Windows_Image.bat
Code:
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
@echo. & @echo [43m[31mRequesting administrative privileges...[0m
goto UACPrompt
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
rem :To CD to the location of the batch script file (%0)
CD /d "%~dp0"
@echo. & @echo [43m[31mAdd apps to offline Windows image. [4m[1mImage must be mounted![0m
@echo. & @echo [41mOpenning Windows App Store...[0m & @echo Press any key to coninue... & pause >nul
start "windows_app_store" https://www.microsoft.com/pt-pt/store/apps/windows
@echo. & @echo [1mFind your app and copy link.[0m
@echo. & @echo [41mOppening https://store.rg-adguard.net/ to [1m[4mget app link to download without install it.[0m & @echo Press any key to coninue... & pause >nul
start "store_rg-adguard.net/" https://store.rg-adguard.net/
@echo. & @echo [1m[31 PPaste the link you copy from App Store in store.rg-adguard.net link bar, select Retail and search links.[0m
@echo. & @echo [1mDownload to desktop [1m[4m[31mthe right [103mappx or appxbundle[0m [31mversion that match your windows version[0m, example for Windows 64 bits download x64 [31m[103mappx or appxbundle[0m version.
@echo [33m Note: * If download doesn t show the extencion just paste the name, to check extencion do right click and check app propertys.
@echo * Some apps have more than 1 package, The app package and its dependencies like Frameworks or VClibs as example.[0m
rem Lets start to add...
@echo.
@echo [44mAdding the Apps...[0m
:repeat
@echo. [33m
set /p app=" Type/Paste the downloaded app name and extension here and press ENTER: "
@echo.
Dism /Image:%~dp0PATH /Add-ProvisionedAppxPackage /PackagePath:%userprofile%\Desktop\%app% /SkipLicense /Region:"all"
@echo. [0m & @echo Press any key to add more apps!
pause >nul
goto repeat
This one dismount and do the clean
Spoiler: 4-Dismount_Windows_Image.bat
Code:
@echo off & @echo.
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
@echo. & @echo [43m[31mRequesting administrative privileges...[0m
goto UACPrompt
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
rem :To CD to the location of the batch script file (%0)
CD /d "%~dp0"
powershell Dismount-WindowsImage -Path "%~dp0PATH" -Save
RD /S /Q p0ISO >NUL
RD /S /Q p0PATH >NUL
del /F /S /Q WindowsOptionalFeature.txt >NUL
pause
This one and the last one create a ISO image from Your Windows modded image but first you need to Install Windows_Kits10ADK.
Download this tool, extract and execute: adksetup.zip
After you execute it, in selection window of tools, only select Deployment Tools like image bellow and install:
Spoiler: Selection Window from Windows Assessement and Deployment Kit
{
"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"
}
After installation is easy, After cleanning your Windows Work folder execute this bat bellow in YOUR DESKTOP, reade what is writted in there to execute it right!!!
Spoiler: 5-Build_ISO.bat
Code:
@echo off & @echo.
CD /d "%~dp0"
@echo Copy this line bellow, paste in command and replace YOURWORKFOLDERNAME with the name of Your Windows work folder name, where you had done the all Job!
@echo YOURWORKFOLDERNAME must NOT have spaces between or will FAIL, Example: Wind 11 is wrong!!! Wind11 or Wind_11 is OK!!!& @echo.
@echo oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,b%~dp0YOURWORKFOLDERNAME\boot\etfsboot.com#pEF,e,b%~dp0YOURWORKFOLDERNAME\efi\microsoft\boot\efisys.bin %~dp0YOURWORKFOLDERNAME %userprofile%\Desktop\WinImage.iso
@echo.
%systemroot%\system32\cmd.exe /k "%systemdrive%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
Is Done!!! Your Image is ready!
THE END!
Tell me if worked for you to!
persona78 said:
Hi!
Great Job!
I done it for Windows 11 with a few changes, and windows 11 have install.esd not install.wim!
I use batch to do all job like this:
* Need Notepad++ to be easy to read files.
* Use MediaCreationToolW11.exe and download ISO image or create a Pendrive with system.
* Extract from ISO or Pendrive all in to a work folder on descktop
* Copy the batch files in to inside the work folder.
* All batch need to be executed as administrator.
* At end delete/cut what ever the batch files from the work folder
* Done!
I create 4 batch files:
First one it show the images inside and the option the select and work on one.
Spoiler: 1-Preparing_and_extracting_img.bat
Code:
@echo off & @echo.
CD /d "%~dp0"
mkdir %~dp0ISO
powershell.exe Dism /Get-WimInfo /WimFile:"%~dp0sources\install.esd"
@echo. & set /p index=" Type Image Index number to extract image: "
powershell.exe Dism /export-image /SourceImageFile:"%~dp0sources\install.esd" /SourceIndex:%index% /DestinationImageFile:"%~dp0ISO\install.esd" /Compress:max /CheckIntegrity
pause
Spoiler: 2-Mount_Windows_image.bat
Code:
@echo off & @echo.
CD /d "%~dp0"
del /F /S /Q "%~dp0sources\install.esd"
move /y "%~dp0ISO\install.esd" "%~dp0sources\install.esd"
mkdir "%~dp0PATH"
dism.exe /mount-wim /wimfile:"%~dp0sources\install.esd" /mountdir:"%~dp0PATH" /index:1
pause
This one create a file where you can check the Optional Features windows state then use batch to enable or disable, batch it will refresh the file with new state, just reload the file. But some of them aren't possible to change state, it gives error.
Spoiler: 3-Enable_Disable_options.bat
Code:
@echo off & @echo.
CD /d "%~dp0"
:start
cls
@echo. & @echo Open WindowsOptionalFeature.txt to check Optional Feature state & @echo.
Timeout /t 3 >nul
powershell.exe Get-WindowsOptionalFeature -Path "%~dp0PATH" > WindowsOptionalFeature.txt
set /p Feature=" Optional Feature name:-"
set /p state=" Enable or disable ? -"
powershell.exe %state%-WindowsOptionalFeature -Path "%~dp0PATH" -FeatureName "%Feature%"
@echo. & @echo Press any key to continue. & pause >nul
goto start
The last one dismount and do the clean
Spoiler: 4-Dismount_Windows_Image.bat
Code:
@echo off & @echo.
CD /d "%~dp0"
powershell Dismount-WindowsImage -Path "%~dp0PATH" -Save
RD /S /Q %~dp0ISO >NUL
RD /S /Q %~dp0PATH >NUL
del /F /S /Q %~dpWindowsOptionalFeature.txt >NUL
pause
Tell me if worked for you to!
Click to expand...
Click to collapse
I really really Thank You for Sharing your work with Us. You have no idea how happy this makes me. Outstanding~! Great Work, Persona!
@jenneh i update my post: https://forum.xda-developers.com/t/...-to-modify-windows-isos.4398285/post-86458077
I had how to do ISO image!
persona78 said:
@jenneh i update my post: https://forum.xda-developers.com/t/...-to-modify-windows-isos.4398285/post-86458077
I had how to do ISO image!
Click to expand...
Click to collapse
You are seriously a Rockstar~! I appreciate so Much Your Time~! This has saved me countless hours in research :>
Hi!
@jenneh im woking in a way to add the apps from windows app store to the offline windows imge that we are working on.
It use DISM tool to and it will request administrator rights at starts, dont need to execute as administrator.
I already have a batch, only need to test it!
Hi!
@jenneh i update the my post! I made possible to add app in to Offline Windows image!
i update all batch. They will auto request administrator permission to start!
Check 3.1.
persona78 said:
Hi!
@jenneh i update the my post! I made possible to add app in to Offline Windows image!
i update all batch. They will auto request administrator permission to start!
Check 3.1.
Click to expand...
Click to collapse
I absolutely love these updates! I can't believe how much work you've completed today! I also love the fact that with technology, there is literally No End~! It is the infinite! Haha.
Hi!
@jenneh can you make me a favor?
I dont use VM, im a bit short of storage....
I create this ISO image and want to know how it works. I had apps ( notpad++, 7zip, a theme and a pdf reader, i eneble to HyperV and some other things that i can´t remeber...!
I had done a mod that i read here on XDA and want to know if works to. It supose to install directly on unsuported PC with out any script or regestry change.
System is Windows 11 PRO.
Can you test it???
ESD-ISO_W11_PRO_MOD.iso
Thanks
@persona78 sure thing~! I'm downloading it now. I am at a good point for a break. About to chain all my tools together now that I finally understand what they are all doing x.e
@persona78
Spoiler: ERROR
well idk what this error is but no troubleshooting settings works
actually I just remembered, nox turned off my hypervisor functionality, one sec lemme try turning that back on
jenneh said:
@persona78
Spoiler: ERROR
View attachment 5545611
well idk what this error is but no troubleshooting settings works
Click to expand...
Click to collapse
It can´t read productkey setting...! hmmmm...
i don´t know what can be. Probably that last mod to avoid tmp maybe...
it stoped there???
persona78 said:
It can´t read productkey setting...! hmmmm...
i don´t know what can be. Probably that last mod to avoid tmp maybe...
Click to expand...
Click to collapse
ahhh okay! yeah I had the same error with hypervisor on but I'll try again if you like when it's finished~!
@jenneh it stops there??? Or keep installing?
persona78 said:
@jenneh it stops there??? Or keep installing?
Click to expand...
Click to collapse
oh wait i lied one sec
When i get home i will rebuild again but with out the last mod.
Thanks
Hey guys,
I am pretty new to this, let me explain my problem.
Few days ago I got the Xiaomi DuoQin F22 pro but did not have the google services and playstore (I have the chinese version with chinese apps). I wanted to install a rom version with playstore and where I can use google services. I followed this thread to try to install a version with playstore : https://forum.xda-developers.com/t/...th-google-play-with-and-without-root.4509111/
Considering this is a first time for me i did not put the oem unlock on "ON" and tried anyways to put a rom using the flashtool. It started but I got a message that says that my phone is locked and it can't flash with the new ROM. But when i restarted my phone to set oem unlock on "ON" i got this message popping up and i can't get in the phone.
"red state
your device has failed verification may not work properly
please download boot image with correct signature or disable verfied boot."
After this it waits 5sec and restart the phone and i get this message again and it keeps looping.
I cant disable verified boot.
this is what i tried :
with adb => I tried "fastboot flashing unlock" and I get this message "unlock operation is not allowed"
I am stucked I don't find a lot of resources for this phone on the internet.
Thanks in advance,
tsoundi
you can unlock bootloader or flash partitions with mtkclient.
tsoundi said:
Hey guys,
I am pretty new to this, let me explain my problem.
Few days ago I got the Xiaomi DuoQin F22 pro but did not have the google services and playstore (I have the chinese version with chinese apps). I wanted to install a rom version with playstore and where I can use google services. I followed this thread to try to install a version with playstore : https://forum.xda-developers.com/t/...th-google-play-with-and-without-root.4509111/
Considering this is a first time for me i did not put the oem unlock on "ON" and tried anyways to put a rom using the flashtool. It started but I got a message that says that my phone is locked and it can't flash with the new ROM. But when i restarted my phone to set oem unlock on "ON" i got this message popping up and i can't get in the phone.
"red state
your device has failed verification may not work properly
please download boot image with correct signature or disable verfied boot."
After this it waits 5sec and restart the phone and i get this message again and it keeps looping.
I cant disable verified boot.
this is what i tried :
with adb => I tried "fastboot flashing unlock" and I get this message "unlock operation is not allowed"
I am stucked I don't find a lot of resources for this phone on the internet.
Thanks in advance,
tsoundi
Click to expand...
Click to collapse
The same happened to me. have you got any solution?
todaysdeallist said:
The same happened to me. have you got any solution?
Click to expand...
Click to collapse
Hey man sorry I answer months later was busy with things and did not find any solutions. Did you find something ?
Isn't that similar to F21 so just use mtkclient??
[TOOLS][MOD][SCRIPTS] MlgmXyysd's Qin F21 Pro Unlock Tool
Welcome to MlgmXyysd's Qin F21 Pro Unlock Tool Powered by MTK Client @ Bjoern Kerler. A tool to crack Qin F21 Pro BootLoader without erasing userdata. Screenshots Usage View README in the ZIP ! Remember to keep the backup properly, they are...
forum.xda-developers.com
alecxs said:
Isn't that similar to F21 so just use mtkclient??
[TOOLS][MOD][SCRIPTS] MlgmXyysd's Qin F21 Pro Unlock Tool
Welcome to MlgmXyysd's Qin F21 Pro Unlock Tool Powered by MTK Client @ Bjoern Kerler. A tool to crack Qin F21 Pro BootLoader without erasing userdata. Screenshots Usage View README in the ZIP ! Remember to keep the backup properly, they are...
forum.xda-developers.com
Click to expand...
Click to collapse
the thing is I have to press buttons on the phone when on the mtkclient but it does not seems to work...
edit: also the phone keeps rebooting constantly so don't have much time to perfomr manipulations
from readme.txt
Code:
------------------------------
About top-left and top-right key
------------------------------
╭───────────────╮
│ ┌───────────┐ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ duo qin │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ └───────────┘ │
│ Qin AI Life │
│ ■■■ ○○○ ■■■ │ <- Boot ROM keys
│ □□□ ○○○ □□□ │
│ 1 2 3 │
│ 4 5 6 │
│ 7 8 9 │
│ * 0 # ● │
╰───────────────╯
------------------------------