কম্পিউটার টিউটোরিয়াল

Windows 10-এ Android Kernel বিল্ড করার পদ্ধতি (WSL ব্যবহার করে)

অ্যান্ড্রয়েড ডেভেলপমেন্ট গাইডগুলো সাধারণত Linux পরিবেশে লেখা থাকে। এই গাইডে Windows 10-এ Linux Subsystem (WSL) ব্যবহার করে Android Kernel বিল্ড করা শেখানো হয়েছে, বিশেষ করে ARM ও MediaTek ডিভাইসের জন্য।

প্রয়োজনীয়

  • Windows 10 x64 (Fall Creators Update)

Linux Environment সেটআপ (WSL)

  1. Settings > Update & Security > For Developers > Developer Mode অন।
  2. Control Panel > Programs > Turn Windows Features On/Off > Windows Subsystem for Linux অন।
  3. রিবুট, Linux subsystem চালু করুন, পাসওয়ার্ড সেট করুন।
  4. Windows Store থেকে Ubuntu ইনস্টল করুন, লঞ্চ করে یوزারনেম/পাসওয়ার্ড দিন।
  5. টার্মিনালে: apt-get update
  6. sudo apt-get install -y build-essential kernel-package libncurses5-dev bzip2
  7. চেক করুন: gcc (error: no input file), make (no target specified), git (commands list) দেখলেই ইনস্টল্ড।
  8. Toolchain প্রয়োজন (GCC, Linaro, custom)। সব ডিভাইস একই toolchain-এ বিল্ড হয় না।

ARM ডিভাইসের জন্য (GCC 4.7)

mkdir kernel && cd kernel
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7

ARM64 ডিভাইসের জন্য

aarch64 compiler প্রয়োজন।

Kernel Source পাওয়া

GitHub/XDA-এ আপনার ডিভাইসের kernel source repo খুঁজুন। উদাহরণ:

git clone "github_url" -b "branch_name"
# উদাহরণ: git clone https://github.com/atxoxx/android_ke...amsung_msm8974 -b xenomTW

Kernel ফোল্ডার স্ট্রাকচার:

  • /arch/arm/configs: ডিভাইস কনফিগ (governors ইত্যাদি)
  • /output/arch/arm/boot/: zImage সংরক্ষণ হবে
  • build.sh: বিল্ড স্ক্রিপ্ট
  • /arm-cortex-linux-gnueabi-linaro_5.2-2015.11-2: টুলচেইন

Kernel বিল্ড করা

ARM ডিভাইস

#!/bin/bash
export ARCH=arm
export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
mkdir output
make -C $(pwd) O=output "defconfig_name"
make -j4 -C $(pwd) O=output
cp output/arch/arm/boot/Image $(pwd)/arch/arm/boot/zImage
  • export ARCH=arm: আর্কিটেকচার
  • export CROSS_COMPILE: টুলচেইন পাথ (শেষে ড্যাশ বাধ্যতামূলক)
  • make -j4: ৪ কোর ব্যবহার (CPU অনুযায়ী ঠিক করুন)

ARM64 ডিভাইস

export ARCH=arm64
export CROSS_COMPILE="path/to/toolchain" # শেষে "arch-something-" থাকবে

Mediatek (MTK) ডিভাইস

export CROSS_COMPILE="path/to/toolchain"
export ARCH=arm
export ARCH_MTK_PLATFORM=
make "defconfig_name"
make -j4

বিল্ড শুরু: sudo bash build.sh (পাসওয়ার্ড দিন)। AMD Phenom X4 3.4GHz/8GB RAM-এ ~১০ মিনিট লাগে। শেষে "zimage is ready" মেসেজ আসবে।

আউটপুট লোকেশন

  • ARM/ARM64: /Output/arch/arm/boot/
  • MTK: /arch/arm/boot/

পুনরায় বিল্ডের আগে: make clean && make mrproper

Kernel বুটেবল করা

AnyKernel মেথড (XDA @osm0sis): zImage, dtb/dtbo, ramdisk, modules, patch ফাইল সংযোজন → zip তৈরি।

Boot.img 리패ক মেথড: Stock boot.img আনপ্যাক → ramdisk মডিফাই → রিপ্যাক → ফ্ল্যাশ।

ফ্ল্যাশের আগে stock boot.img ব্যাকআপ নিন।

Kernel-এ ফিচার যোগ করা

CPU governors, IO schedulers, GPU overclocking, audio enhancements ইত্যাদি যোগ করা যায়।

উদাহরণ: Intellimm governor যোগ করতে arch/arm/configs/msm8974_sec_defconfig-এ লাইন ১৪০-১৪১-এর মাঝপথে যোগ করুন: CONFIG_CPU_FREQ_GOV_INTELLIMM=y

Git commit-এ সব পরিবর্তন দেখা যায়।

জেনারেল টিপস

Kernel নাম/ভার্সন পরিবর্তন

সিম্পল: defconfig-এ CONFIG_LOCALVERSION="-XenomTW-3.2.6"

অ্যাডভান্সড: Root Makefile-এ CONFIG_LOCALVERSION="name" LOCALVERSION="version" (Version, PatchLevel, Sublevel, Extraversion ছুঁয়বেন না)।

অль্টারনেটিভ: scripts/mkcompile_h-এ LINUX_COMPILE_BY="name" LINUX_COMPILE_HOST="name"

PATH সমস্যা সমাধান

export PATH="path/to/toolchain/bin:$PATH"

Windows 10 থেকে Ubuntu ফোল্ডার এক্সেস

Path: C:\Users\NAME\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home

সতর্কতা: Windows- থেকে ফাইল এডিট করলে পারমিশন ভাঙতে পারে, Linux টার্মিনাল থেকে রিসেট করতে হয়।

  1. অ্যান্ড্রয়েড ফোনকে উইন্ডোজ ১০-এ স্মুথলি সিঙ্ক করুন: ধাপে ধাপে গাইড

  2. উইন্ডোজ ১০-এ Kernel Power Error 41 ফিক্স: ধাপে ধাপে গাইড

  3. উইন্ডোজ ১০-এ অ্যান্ড্রয়েড ফোনের নোটিফিকেশন পান: ধাপে ধাপে গাইড

  4. উইন্ডোজ ১১-এ অ্যান্ড্রয়েড অ্যাপ চালান: ধাপে ধাপে গাইড