এনভাইরনমেন্ট সেটআপ#
প্যাকেজ ডাউনলোড#
আমি মুলত উবুন্তু বা apt প্যাকেজ ম্যানেজার ব্যবহার করেছি, আপনি আপনার ডিস্ট্রো এর প্যাকেজ ম্যানেজার ব্যবহার করে প্যাকেজ গুলা নামায়ে নিবেন।আশা করি সমস্যা হবে না। তো শুরু করা যাক 😄.
Prequisite:
১) কার্নেল সোর্স লাগবে, যে ডিভাইসের জন্যে বিল্ড করবেন।
২) কম্পাইল এর জন্যে টুলচেইন লাগবে GCC / NDK , যেকোন একটা হইলেই হবে।
৩) ধৈর্য্য ,ধৈর্য্য ,ধৈর্য্য
- প্রথমে সিস্টেম ওয়াইড প্যাকেজ আপডেট এর জন্যে নিচের কমান্ড টি টার্মিনাল এ রান করাবেন।
sudo apt-get update && apt-get upgrade
সব ঠিকমত আপডেট হয়ে গেলে , এবার নিচের কমান্ড টা রান করে , প্যাকেজ গুলা ইন্সটল করে নিন।এই গুলা কম্পাইল এর জন্যে লাগবে।
sudo apt-get install libncurses5 libncurses5-dev build-essential bc
ব্যাস বিল্ড এনভাইরনমেন্ট রেডি, তারপরেও কিছু মিছিং থাকলে/এরোর দেখালে টার্মিনাল দেখে ইনস্টল করে নেবেন। পরের ধাপ টুলচেইন । টার্মিনাল এ নিচের কমান্ড টি রান করান।
sudo apt-get install gcc-arm-linux-gnueabi
আর এখান থেকে প্রি-বিল্ট টুলচেইন নামায়ে নেবেন ।
এবার একটা নির্দিষ্ট ডিরেকটরি তে যেয়ে কার্ণেল আর টূলচেইন দুইটাই এক্সট্রাক্ট বা আনজিপ করবেন। নিচের মত করে
মুল বিল্ড#
এনভাইরন্মেন্ট ভেরিয়েবল#
এখন এনভাইরনমেন্ট ভেরিয়েবল সেট করার পালা,
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=<path to toolchain>/toolchains/arm-eabi-4.4.3/bin/arm-eabi-
N.B:- “path to toolchain from googlesource” এর যায়গা তে “<>” sign টা বাদ রেখে আপনি গুগোল সোর্স থেকে টুলচেইন নামিয়ে যেই লোকেশন এ রেখেছেন সেটা বসাবেন ।
টুলচেইন সেটআপ#
পরের স্টেপ এ আপনি আপনার কার্নেল সোর্স এর ফোল্ডার এ যেয়ে টার্মিনাল ওপেন করবেন। ডিরেক্টরি থেকে টার্মিনাল ওপেন এর জন্যে পপুলার কিছু ফাইল ম্যানেজার এর কি বোর্ড শর্ট কাট দিয়ে দিয়েছি নিচে, ডলফিন: shift + F4
এবার আপনার ডিভাইস স্পেছিফিক কনফিগারেশন টা বিল্ড করতে হবে। এখানে প্রশ্ন আসতে পারে যে কিভাবে জানব আমার defconfig এর কোডনেম ? উত্তর হল আপনি আপনার ডিভাইসের কার্ণেল সোর্স এর ডকুমেন্টেশন এই পাবেন আপনার নির্ধারিত defconfig . আসুন জেনে নেই কিভাবে কনফিগ টা বিল্ড করতে হবে
export KBUILD_OUTPUT=out
উপরের কমান্ড টা এর অর্থ হল সব বিল্ড কমপ্লিট হইলে আপনি কার্নেল টা out ফোল্ডার এ পাবেন ।
বিল্ড ডেফকনফিগ#
make codename_defconfig
“codename” এর জাইগায় আপনি নিজের ডিভাইস এর কনফিগ কোডনেম টা বসাবেন ।
ব্যস শেষ ধাপ এ পৌঁছে গেছি । এবার মুল বিল্ড এর পালা , নিচের কমান্ড টা রান করালেই শুরু হয়ে যাবে কম্পাইলিং , আপনার প্রসেসর এর পার্ফরমেন্স অনুযায়ী সময়ের তারতম্য হতে পারে।
make
OR
make -jx
উপরে x এর জাইগাই আপনার প্রসেসর এর কোর সংখ্যা বসাবেন, এবার অপেক্ষা করুন, সব ঠিকঠাক থাকলে ২০ থেকে ৩০ মিনিট এর ভিতরে বিল্ড হয়ে যাবে ।
এবার কার্নলে সোর্স এর ঐ ফোল্ডার এর ই ভিতরে out নামের সাব ফোল্ডারে zimage-dtb নামের একটা ফাইল পাবেন ঐটা ই আপনার কাঙ্ক্ষিত কার্নেল 😛 ।
ব্যাস রিনেম করে ফ্লাশ করে দেখুন।