27 মার্চ, 2025 থেকে, আমরা AOSP তৈরি করতে এবং অবদান রাখতে aosp-main
এর পরিবর্তে android-latest-release
ব্যবহার করার পরামর্শ দিচ্ছি। আরও তথ্যের জন্য, AOSP-তে পরিবর্তনগুলি দেখুন।
অ্যান্ড্রয়েড কার্নেলগুলি বিকাশ করুন
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
এই পৃষ্ঠাটি বর্ণনা করে কিভাবে কাটলফিশ ডিভাইসে অ্যান্ড্রয়েড কার্নেল তৈরি করতে হয়।
সমর্থিত কার্নেল প্রকাশ করে
Cuttlefish Android সর্বশেষ রিলিজ শাখা এবং AOSP GSI রিলিজে নিম্নলিখিত কার্নেল প্রকাশ সমর্থন করে।
-
android-latest-release
-
android-15.0.0_r36
এ-
common-android16-6.12
-
common-android15-6.6
-
common-android14-6.1
-
common-android14-5.15
-
aosp-android13-gsi
-
common-android13-5.15
-
common-android13-5.10
-
aosp-android12-gsi
-
common-android12-5.10
-
common-android12-5.4
-
common-android-4.19-stable
-
aosp-android11-gsi
-
common-android11-5.4
-
common-android-4.19-stable
-
common-android-4.14-stable
Cuttlefish ডিভাইসে কার্নেল বিকাশের জন্য নিম্নলিখিত কার্নেল উত্সগুলি রয়েছে।
অ্যান্ড্রয়েড কার্নেলগুলি বিকাশ করুন
Cuttlefish ডিভাইসে কার্নেল বিকাশ করতে, এই পদক্ষেপগুলি অনুসরণ করুন:
আপনার Cuttlefish ডিভাইসের জন্য উপযুক্ত কার্নেল রেপো ম্যানিফেস্ট ক্লোন করুন এবং কোনো পরিবর্তন করুন।
mkdir common-android-mainline
cd common-android-mainline
repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
repo sync -c -j$(nproc) -q
কার্নেল এবং রামডিস্ক তৈরি করুন। আরও তথ্যের জন্য, ভার্চুয়াল ডিভাইসের জন্য বিক্রেতা মডিউল তৈরি করা দেখুন।
tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist
যদি common-android-4.19-stable
, common-android-4.14-stable
, বা common-android11-5.4
কার্নেল ম্যানিফেস্ট ব্যবহার করে, চালান:
BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh
স্থানীয়ভাবে নির্মাণ করার পরিবর্তে (কার্নেল উৎস ডাউনলোড এড়াতে, একটি কার্নেল ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করার জন্য), আপনি ci.android.com এ প্রাসঙ্গিক আর্টিফ্যাক্ট ডাউনলোড করতে পারেন।
কাটলফিশ দিয়ে কার্নেল এবং রামডিস্ক চালু করুন।
cvd create \
-kernel_path=./out/virtual_device_x86_64/dist/bzImage \
-initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img
যদি একটি নন-GKI কার্নেল চালু করা হয় (4.19 এ বা তার নিচের যেকোনো কিছু), -initramfs_path
আর্গুমেন্ট বাদ দিন।
আপনি যদি Cuttlefish-এর aarch64 সংস্করণে কার্নেল চালু করেন, তাহলে aarch64
বিল্ড কনফিগারেশন ব্যবহার করুন এবং bzImage
এর পরিবর্তে Image
আর্টিফ্যাক্ট ব্যবহার করুন।
cvd create \
-kernel_path=./out/virtual_device_aarch64/dist/Image \
-initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2025-07-29 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# Develop Android kernels\n\n\u003cbr /\u003e\n\nThis page describes how to develop Android kernels on Cuttlefish devices.\n\nSupported kernel manifests\n--------------------------\n\nCuttlefish supports the following kernel manifests on\nthe Android latest release branch and AOSP GSI releases.\n\n- On `android-latest-release`\n - `common-android-mainline`\n- On `android-15.0.0_r36`\n - `common-android16-6.12`\n - `common-android15-6.6`\n - `common-android14-6.1`\n - `common-android14-5.15`\n- On `aosp-android13-gsi`\n - `common-android13-5.15`\n - `common-android13-5.10`\n- On `aosp-android12-gsi`\n - `common-android12-5.10`\n - `common-android12-5.4`\n - `common-android-4.19-stable`\n- On `aosp-android11-gsi`\n - `common-android11-5.4`\n - `common-android-4.19-stable`\n - `common-android-4.14-stable`\n\nThe following are kernel sources for kernel development on Cuttlefish devices.\n\n- [`kernel/common-android-mainline`](https://cs.android.com/android/kernel/superproject/+/common-android-mainline:)\n- [`kernel/common-android16-6.12`](https://cs.android.com/android/kernel/superproject/+/common-android16-6.12:)\n- [`kernel/common-android15-6.6`](https://cs.android.com/android/kernel/superproject/+/common-android15-6.6:)\n- [`kernel/common-android14-6.1`](https://cs.android.com/android/kernel/superproject/+/common-android14-6.1:)\n- [`kernel/common-android14-5.15`](https://cs.android.com/android/kernel/superproject/+/common-android14-5.15:)\n- [`kernel/common-android13-5.15`](https://cs.android.com/android/kernel/superproject/+/common-android13-5.15:)\n- [`kernel/common-android13-5.10`](https://cs.android.com/android/kernel/superproject/+/common-android13-5.10:)\n\nDevelop Android kernels\n-----------------------\n\nTo develop kernels on Cuttlefish devices, follow these steps:\n\n1. Clone the appropriate kernel repo manifest for your Cuttlefish device and\n make any changes.\n\n mkdir common-android-mainline\n cd common-android-mainline\n repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline\n repo sync -c -j$(nproc) -q\n\n2. Build the kernel and ramdisk. For more information, see\n [Building the Vendor Modules for the Virtual Device](/docs/setup/build/building-kernels#building-gki-modules).\n\n tools/bazel run //common-modules/virtual-device:virtual_device_x86_64_dist\n\n If using `common-android-4.19-stable`, `common-android-4.14-stable`, or\n `common-android11-5.4` kernel manifests, run: \n\n BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh && BUILD_CONFIG=common-modules/virtual-device/build.config.cuttlefish.x86_64 build/build.sh\n\n Instead of building locally (to avoid downloading the kernel source,\n setting up a kernel development environment), you can download the relevant\n artifacts at ci.android.com.\n - [`android-mainline`](https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid?)\n - [`android16-6.12`](https://ci.android.com/builds/branches/aosp_kernel-common-android16-6.12/grid?)\n - [`android15-6.6`](https://ci.android.com/builds/branches/aosp_kernel-common-android15-6.6/grid?)\n - [`android14-6.1`](https://ci.android.com/builds/branches/aosp_kernel-common-android14-6.1/grid?)\n - [`android14-5.15`](https://ci.android.com/builds/branches/aosp_kernel-common-android14-5.15/grid?)\n - [`android13-5.15`](https://ci.android.com/builds/branches/aosp_kernel-common-android13-5.15/grid?)\n - [`android13-5.10`](https://ci.android.com/builds/branches/aosp_kernel-common-android13-5.10/grid?)\n - [`android12-5.10`](https://ci.android.com/builds/branches/aosp_kernel-common-android12-5.10/grid?)\n - [`android12-5.4`](https://ci.android.com/builds/branches/aosp_kernel-common-android12-5.4/grid?)\n - [`android11-5.4`](https://ci.android.com/builds/branches/aosp_kernel-common-android11-5.4/grid?)\n3. Launch the kernel and ramdisk with Cuttlefish.\n\n cvd create \\\n -kernel_path=./out/virtual_device_x86_64/dist/bzImage \\\n -initramfs_path=./out/virtual_device_x86_64/dist/initramfs.img\n\n If launching a non-GKI kernel (anything at or under\n 4.19), omit the `-initramfs_path` argument.\n\n If you're launching the kernel on an aarch64 version of Cuttlefish, use the\n `aarch64` build configuration and use the `Image` artifact instead of\n `bzImage`. \n\n cvd create \\\n -kernel_path=./out/virtual_device_aarch64/dist/Image \\\n -initramfs_path=./out/virtual_device_aarch64/dist/initramfs.img"]]